lynxcat 能看下你怎么部署过程?我们预计ks 3.2发布以后会增加容器化的edgemesh过程。
部署容器化的edgemesh,我下面的步骤是在v1.7.2下实验的:
1 你得在边缘测上修改配置
2 部署一个cm和ds就行了
在部署完kubesphere的keadm后,在边缘测的/etc/kubeedge/config/edgecore.yaml关掉edgemesh,开启metaManager的开关:
apiVersion: edgecore.config.kubeedge.io/v1alpha1
database:
aliasName: default
dataSource: /var/lib/kubeedge/edgecore.db
driverName: sqlite3
kind: EdgeCore
modules:
dbTest:
enable: false
deviceTwin:
enable: true
edgeHub:
enable: true
heartbeat: 15
httpServer: https://192.168.88.6:30002
projectID: e632aba927ea4ac2b575ec1603d56f10
quic:
enable: false
handshakeTimeout: 30
readDeadline: 15
server: 192.168.88.6:30001
writeDeadline: 15
rotateCertificates: true
tlsCaFile: /etc/kubeedge/ca/rootCA.crt
tlsCertFile: /etc/kubeedge/certs/server.crt
tlsPrivateKeyFile: /etc/kubeedge/certs/server.key
token: 674a6aceb63fc1e9db1c7940f82de9733168801e8c8eb58a73a8034e70d498af.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjkzNjc2OTR9.z5jC24AT6gc8GCqln71vwg9IvLjW86IK5e8LTSnn9mE
websocket:
enable: true
handshakeTimeout: 30
readDeadline: 15
server: 192.168.88.6:30000
writeDeadline: 15
edgeMesh:
enable: false
lbStrategy: RoundRobin
listenInterface: docker0
listenPort: 40001
subNet: 9.251.0.0/16
edgeStream:
enable: true
handshakeTimeout: 30
readDeadline: 15
server: 192.168.88.6:30004
tlsTunnelCAFile: /etc/kubeedge/ca/rootCA.crt
tlsTunnelCertFile: /etc/kubeedge/certs/server.crt
tlsTunnelPrivateKeyFile: /etc/kubeedge/certs/server.key
writeDeadline: 15
edged:
cgroupDriver: cgroupfs
cgroupRoot: ""
cgroupsPerQOS: true
clusterDNS: ""
clusterDomain: ""
cniBinDir: /opt/cni/bin
cniCacheDirs: /var/lib/cni/cache
cniConfDir: /etc/cni/net.d
concurrentConsumers: 5
devicePluginEnabled: false
dockerAddress: unix:///var/run/docker.sock
edgedMemoryCapacity: 7852396000
enable: true
enableMetrics: true
gpuPluginEnabled: false
hostnameOverride: edgenode-68lw
imageGCHighThreshold: 80
imageGCLowThreshold: 40
imagePullProgressDeadline: 60
maximumDeadContainersPerPod: 1
networkPluginMTU: 1500
nodeIP: 1.1.1.2
nodeStatusUpdateFrequency: 10
podSandboxImage: kubeedge/pause:3.1
registerNode: true
registerNodeNamespace: default
remoteImageEndpoint: unix:///var/run/dockershim.sock
remoteRuntimeEndpoint: unix:///var/run/dockershim.sock
runtimeRequestTimeout: 2
runtimeType: docker
taints:
- effect: NoSchedule
key: node-role.kubernetes.io/edge
volumeStatsAggPeriod: 60000000000
eventBus:
enable: true
eventBusTLS:
enable: false
tlsMqttCAFile: /etc/kubeedge/ca/rootCA.crt
tlsMqttCertFile: /etc/kubeedge/certs/server.crt
tlsMqttPrivateKeyFile: /etc/kubeedge/certs/server.key
mqttMode: 2
mqttQOS: 0
mqttRetain: false
mqttServerExternal: tcp://127.0.0.1:1883
mqttServerInternal: tcp://127.0.0.1:1884
mqttSessionQueueSize: 100
metaManager:
contextSendGroup: hub
contextSendModule: websocket
enable: true
metaServer:
debug: false
enable: true
podStatusSyncInterval: 60
remoteQueryTimeout: 60
serviceBus:
enable: true
cm和ds
apiVersion: v1
kind: ConfigMap
metadata:
name: edgemesh-cfg
namespace: kubeedge
labels:
k8s-app: kubeedge
kubeedge: edgemesh
data:
edgemesh.yaml: |
modules:
networking:
serviceDiscovery:
enable: true
subNet: "10.10.0.0/16"
---
apiVersion: v1
kind: ConfigMap
metadata:
name: edgemesh-cfg
namespace: kubeedge
labels:
k8s-app: kubeedge
kubeedge: edgemesh
data:
edgemesh.yaml: |
modules:
networking:
serviceDiscovery:
enable: true
subNet: "10.10.0.0/16"
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: edgemesh
namespace: kubeedge
labels:
k8s-app: kubeedge
kubeedge: edgemesh
spec:
selector:
matchLabels:
k8s-app: kubeedge
kubeedge: edgemesh
template:
metadata:
labels:
k8s-app: kubeedge
kubeedge: edgemesh
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node-role.kubernetes.io/edge
operator: Exists
- key: node-role.kubernetes.io/agent
operator: Exists
tolerations:
- key: node-role.kubernetes.io/edge
operator: Exists
effect: "NoSchedule"
hostNetwork: true
containers:
- name: edgemesh
securityContext:
privileged: true
image: poorunga/edgemesh:0.1
imagePullPolicy: IfNotPresent
resources:
limits:
cpu: 200m
memory: 256Mi
requests:
cpu: 100m
memory: 128Mi
volumeMounts:
- name: conf
mountPath: /etc/kubeedge/config
- name: resolv
mountPath: /etc/resolv.conf
volumes:
- name: conf
configMap:
name: edgemesh-cfg
- name: resolv
hostPath:
path: /etc/resolv.conf