Linux部署kubeedge 1.4

文章目录


官方文档:https://docs.kubeedge.io/en/latest/
参考视频:https://www.bilibili.com/video/BV1LJ411D7t1?p=3
参考文章:https://blog.csdn.net/subfate/article/details/106463852

一、机器信息

我这共两台机器,192.168.1.10部署Master和cloudcore,192.168.1.11部署edgecore

二、环境准备(所有节点操作)

2.1. 修改主机名

复制代码
根据IP地址修改,如hostnamectl set-hostname 192-168-1-10

2.2. 开启路由转发

复制代码
sed -i 's/net.ipv4.ip_forward=.*/net.ipv4.ip_forward=1/' /etc/sysctl.conf
sysctl -p

2.3.安装Docker(所有节点)

2.4.部署K8S集群(单机版,云端节点)

kubeadm部署K8s集群V1.19.0

注意:只需要部署Master相关组件

2.5.安装Mosquitto(只在边缘节点安装)

mosquitto镜像制作参考文章:https://anqixiang.blog.csdn.net/article/details/110451206

复制代码
docker run -itd --restart always --name mosquitto -p 1883:1883 mosquitto:v1.0

三、安装kubeedge 1.4

3.1.配置Golang 环境(版本1.14.7)

复制代码
tar xvf go1.14.7.linux-amd64.tar.gz -C /usr/local/bin/

vi /etc/profile #添加如下几行

复制代码
#GO
export GO_HOME=/usr/local/bin/go
export PATH=$GO_HOME/bin:$PATH

source /etc/profile

go version

3.2. 源码编译

复制代码
git config --global http.sslVerify false        #跳过SSL验证
cd /opt
git clone https://github.com/kubeedge/kubeedge.git
yum install gcc make -y

编译云端

复制代码
cd /opt/kubeedge
make all WHAT=cloudcore

编译边缘端

复制代码
make all WHAT=edgecore

生成的二进制位于_output/local/bin/目录下,把生成的二进制文件拷贝到/usr/local/bin/下

3.3.创建设备模型和设备CRD

复制代码
cd /opt/kubeedge/build/crds/devices
kubectl create -f devices_v1alpha2_devicemodel.yaml
kubectl create -f devices_v1alpha2_device.yaml
cd /opt/kubeedge/build/crds/reliablesyncs
kubectl create -f cluster_objectsync_v1alpha1.yaml
kubectl create -f objectsync_v1alpha1.yaml

3.4.配置云端节点

复制代码
mkdir -p /etc/kubeedge/config/
cloudcore --minconfig > /etc/kubeedge/config/cloudcore.yaml

cloudcore.yaml文件内容

3.4.1 通过systemd管理(推荐)

复制代码
cp /data/kubeedge/build/tools/cloudcore.service /etc/systemd/system/cloudcore.service
vi /etc/systemd/system/cloudcore.service

修改启动命令为/usr/local/bin/cloudcore

复制代码
systemctl daemon-reload
systemctl enable cloudcore
systemctl start cloudcore
journalctl -u cloudcore -f        #查看日志

3.4.2直接启动(便于调试)

nohup ./cloudcore > cloudcore.log 2>&1 & #启动cloudcore

3.5.配置边缘端节点

3.5.1.云端节点操作

复制代码
scp /usr/local/bin/edgecore 192.168.1.11:/usr/local/bin/
scp /data/images/pause.tar 192.168.1.11:/data/

3.5.2.边缘节点操作

bash 复制代码
docker load -i /data/pause.tar
docker tag swr.cn-south-1.myhuaweicloud.com/anqixiang_k8s/pause:3.1 kubeedge/pause:3.1
mkdir -p /etc/kubeedge/{ca,certs,config}

生成边缘节点的edgecore.yaml文件(cloud端操作)

bash 复制代码
edgecore --minconfig > /etc/kubeedge/config/edgecore.yaml
sed -i 's|podSandboxImage: .*|podSandboxImage: kubeedge/pause:3.1|' /etc/kubeedge/config/edgecore.yaml
#修改token
token=$(kubectl get secret -nkubeedge tokensecret -o=jsonpath='{.data.tokendata}' | base64 -d)
sed -i  "s|token: .*|token: ${token}|g" /etc/kubeedge/config/edgecore.yaml

3.5.4.在边缘节点创建目录,传递edgecore.yaml文件

bash 复制代码
ssh 192.168.1.11 -t -t "mkdir -p /etc/kubeedge/{ca,certs,config}"
scp /etc/kubeedge/config/edgecore.yaml 192.168.1.11:/etc/kubeedge/config/

修改edgecore.yaml文件(所有边缘节点)

vi /etc/kubeedge/config/edgecore.yaml

复制代码
hostnameOverride为当前节点的主机名
nodeIP为当前节点的物理IP地址


3.5.6.启动edgecore

通过systemd管理(推荐)

在云端节点操作

复制代码
vi /data/kubeedge/build/tools/edgecore.service

for ip in ${NODEIP}; do scp /data/kubeedge/build/tools/edgecore.service $ip:/etc/systemd/system/; done
for ip in ${NODEIP}; do ssh $ip -t -t "systemctl daemon-reload && systemctl enable edgecore && systemctl start edgecore"; done
直接启动(便于调试)
复制代码
nohup edgecore > /var/log/edgecore.log 2>&1 &		#启动edgecore

3.6.验证

3.6.1.在云端节点操作

复制代码
kubectl get node

3.6.2.部署官方的 deployment

复制代码
kubectl apply -f /opt/kubeedge/build/deployment.yaml
kubectl get pod
相关推荐
成都纵横智控科技官方账号3 天前
产线缺陷检测,边缘计算网关比人工更靠谱
边缘计算·智慧工厂·自动化产线·eg8200pro
G***技3 天前
突破算力瓶颈:杰和科技LM2-100-V0算力模组在人形机器人中的应用解析
科技·机器人·边缘计算
QYR-分析3 天前
AI边缘计算设备:分类、市场格局与发展机遇
人工智能·边缘计算
ai产品老杨3 天前
【深度架构】从GB28181到边缘计算:基于Docker与异构计算的AI视频管理平台深度解析
人工智能·架构·边缘计算
鲁邦通物联网4 天前
基于欧美高端储能市场并网规约转换的边缘计算网关架构与Python实战
边缘计算·数据采集·工业数据采集·边缘网关·边缘计算网关·物联网网关·5g数采
Inhand陈工4 天前
智能驾驶数据高可靠上云实战:EC3320+IR315双路冗余方案
网络·物联网·自动驾驶·智能路由器·边缘计算·腾讯云·信息与通信
Leon_Chenl5 天前
【已开源】【嵌入式 Linux 音视频+ AI 实战项目】瑞芯微 Rockchip 系列 RK3588-基于深度学习的人脸门禁+ IPC 智能安防监控系统
深度学习·opencv·yolo·ffmpeg·音视频·边缘计算·人脸识别+检测
鲁邦通物联网5 天前
规避网络攻击具备物理隔离的边缘计算网关架构与代码实践
边缘计算·数据采集·工业数据采集·边缘网关·边缘计算网关·物联网网关·5g数采
上海云盾第一敬业销售5 天前
物联网设备暴露面激增,WAF如何守护边缘计算安全?
物联网·安全·边缘计算
AI服务老曹5 天前
打破设备割裂:基于 GB28181 与 RTSP 的边缘计算 AI 视频平台架构解析(附源码交付与 Docker 部署)
人工智能·音视频·边缘计算