「连载」边缘计算(十二)01-30:云、边、端的部署与配置(基础篇)

111 阅读3分钟

(接上篇)

运行KubeEdge云组件,命令如下:

#nohup ./CloudCore &

除了上述形式,还可以通过systemd以后台进程的形式运行KubeEdge云组件,命令如下:

#ln KubeEdge/build/tools/CloudCore.service /etc/systemd/system/CloudCore.service

systemctl daemon-reload

systemctl start CloudCore

将KubeEdge云组件设置为开机自启动,命令如下:

#systemctl enable CloudCore  

(2)安装KubeEdge的边缘组件  

1)编译KubeEdge的边缘组件源码。

下载KubeEdge源码,命令如下:

#git clone GitHub.com/KubeEdge/Ku… KubeEdge

在编译之前确保gcc已经安装,命令如下:

#gcc --version

通过编译源码获得KubeEdge的边缘组件,命令如下:

#cd KubeEdge

#make all WHAT=EdgeCore

编译成功之后,会在./edge下生成可执行文件EdgeCore,将其复制到/usr/bin下即可。

2)从KubeEdge的云组件节点复制Certificates,命令如下:

#scp -r  /etc/KubeEdge root@{KubeEdge edge节点IP}:/etc/KubeEdge

3)在KubeEdge的云组件节点为边缘节点创建node对象资源,命令如下:

#kubectl create -f KubeEdge/build/node.json

node.json具体内容如下所示。

{  "kind": "Node",  "apiVersion": "v1",  "metadata": {    "name": "edge-node",    "labels": {      "name": "edge-node",      "node-role.Kubernetes.io/edge": ""    }  }}

4)生成和设置KubeEdge边缘组件的配置文件。

使用EdgeCore可以生成最小化配置文件和默认配置文件。

创建配置文件目录,命令如下:

#mkdir -p /etc/KubeEdge/config/

生成最小化配置文件,命令如下:

#EdgeCore –minconfig > /etc/KubeEdge/config/EdgeCore.yaml

生成默认配置文件,命令如下:

EdgeCore –defaultconfig > /etc/KubeEdge/config/EdgeCore.yaml

执行上述命令后,会在/etc/KubeEdge/config下生成EdgeCore.yaml文件。下面对执行EdgeCore生成的默认配置文件EdgeCore.yaml进行说明,具体如下所示。

apiVersion: EdgeCore.config.KubeEdge.io/v1alpha1database:  dataSource: /var/lib/KubeEdge/EdgeCore.dbkind: EdgeCoremodules:  edged:    cgroupDriver: cgroupfs    clusterDNS: ""    clusterDomain: ""    devicePluginEnabled: false    dockerAddress: unix:///var/run/docker.sock    gpuPluginEnabled: false    hostnameOverride: yourhostname    interfaceName:eth0    nodeIP:your_hostname    interfaceName: eth0    nodeIP: your_ip_address    podSandboxImage: KubeEdge/pause:3.1  # KubeEdge/pause:3.1 for x86 arch , KubeEdge/pause-arm:3.1 for arm arch, KubeEdge/pause-arm64 for arm64 arch    remoteImageEndpoint: unix:///var/run/dockershim.sock    remoteRuntimeEndpoint: unix:///var/run/dockershim.sock    runtimeType: docker  edgehub:    heartbeat: 15  # second    tlsCaFile: /etc/KubeEdge/ca/rootCA.crt    tlsCertFile: /etc/KubeEdge/certs/edge.crt    tlsPrivateKeyFile: /etc/KubeEdge/certs/edge.key    websocket:      enable: true      handshakeTimeout: 30  # second      readDeadline: 15  # second      server: 127.0.0.1:10000  # CloudCore address      writeDeadline: 15  # second  eventbus:    mqttMode: 2  # 0: internal mqtt broker enable only. 1: internal and external mqtt broker enable. 2: external mqtt broker    mqttQOS: 0  # 0: QOSAtMostOnce, 1: QOSAtLeastOnce, 2: QOSExactlyOnce.    mqttRetain: false  # if the flag set true, server will store the message and can be delivered to future subscribers.    mqttServerExternal: tcp://127.0.0.1:1883  # external mqtt broker url.    mqttServerInternal: tcp://127.0.0.1:1884  # internal mqtt broker url.

其中,Modules.edged.hostnameOverride与node.json里的metadata.name保持一致;Modules.edged.nodeIP是KubeEdge边缘节点的IP;

Modules.edgehub.websocket.server是KubeEdge云节点的IP。

未完待续……」 点击下方标题可阅读技术文章

「连载」边缘计算(一)01-16:边缘计算系统(基础篇)

juejin.cn/post/732453…

「连载」边缘计算(二)01-16:边缘计算系统(基础篇)

juejin.cn/post/732452…

「连载」边缘计算(三)01-17:边缘计算系统(基础篇)

juejin.cn/post/732488…

「连载」边缘计算(四)01-18:边缘计算系统(基础篇)

juejin.cn/post/732525…

「连载」边缘计算(五)01-19:云、边、端的部署与配置(基础篇)

juejin.cn/post/732542…

「连载」边缘计算(六)01-22:云、边、端的部署与配置(基础篇)

juejin.cn/post/732657…

「连载」边缘计算(七)01-23:云、边、端的部署与配置(基础篇)

juejin.cn/post/732686…

「连载」边缘计算(八)01-24:云、边、端的部署与配置(基础篇)

juejin.cn/post/732719…

「连载」边缘计算(九)01-25:云、边、端的部署与配置(基础篇)

juejin.cn/post/732768…

「连载」边缘计算(十)01-26:云、边、端的部署与配置(基础篇)

juejin.cn/post/732798…

「连载」边缘计算(十一)01-29:云、边、端的部署与配置(基础篇)

juejin.cn/spost/73290…