kubeedge安装
2022-07-22kubeedgekinghu2561°c
A+ A-架构图
组件
KubeEdge由以下组件组成:
Edged: 在边缘节点上运行并管理容器化应用程序的代理。
EdgeHub: Web套接字客户端,负责与Cloud Service进行交互以进行边缘计算(例如KubeEdge体系结构中的Edge Controller)。这包括将云侧资源更新同步到边缘,并将边缘侧主机和设备状态变更报告给云。
CloudHub: Web套接字服务器,负责在云端缓存信息、监视变更,并向EdgeHub端发送消息。
EdgeController: kubernetes的扩展控制器,用于管理边缘节点和pod的元数据,以便可以将数据定位到对应的边缘节点。
EventBus: 一个与MQTT服务器(mosquitto)进行交互的MQTT客户端,为其他组件提供发布和订阅功能。
DeviceTwin: 负责存储设备状态并将设备状态同步到云端。它还为应用程序提供查询接口。
MetaManager: Edged端和Edgehub端之间的消息处理器。它还负责将元数据存储到轻量级数据库(SQLite)或从轻量级数据库(SQLite)检索元数据。
cloud端目录结构图
edge端目录结构图
前提
1、有个 k8s
集群,rke
安装或者 k3s
安装都可以
2、下载好截图中 crds
目录中的 yaml
文件,==需要翻墙==
3、下载好 edgesite-v1.9.1-linux-amd64.tar.gz
keadm-v1.9.1-linux-amd64.tar.gz
kubeedge-v1.9.1-linux-amd64.tar.gz
==需要翻墙==
wget https://raw.githubusercontent.com/kubeedge/kubeedge/master/build/crds/devices/devices_v1alpha2_device.yaml wget https://raw.githubusercontent.com/kubeedge/kubeedge/master/build/crds/devices/devices_v1alpha2_devicemodel.yaml wget https://raw.githubusercontent.com/kubeedge/kubeedge/master/build/crds/reliablesyncs/cluster_objectsync_v1alpha1.yaml wget https://raw.githubusercontent.com/kubeedge/kubeedge/master/build/crds/reliablesyncs/objectsync_v1alpha1.yaml wget https://raw.githubusercontent.com/kubeedge/kubeedge/master/build/crds/router/router_v1_ruleEndpoint.yaml wget https://raw.githubusercontent.com/kubeedge/kubeedge/master/build/crds/router/router_v1_rule.yaml
https://github.com/kubeedge/kubeedge/releases
压缩包下载
限制
1、keadm
目前只支持 Ubuntu 和 CentOS。RaspberryPi的支持正在进行中。
使用Keadm进行部署
初始化server端
# --advertise-address 指定云节点的公共IP keadm init --advertise-address="192.168.37.100" --kubeedge-version=1.9.1 # cloudcore加入systemctl cp -r /etc/kubeedge/cloudcore.service /lib/systemd/system/ # 重启cloudcore systemctl restart cloudcore.service
获取token
# 获取认证token keadm gettoken # 返回如下一窜 6bda93f2211e35b91d69a8b9b7d567c3cc7843e8215e6283e809afd621395418.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NDY4OTc1MzJ9.Om_2CAahueSJ9cqHlVZOji3zyQtWL5ApgX4Q9I84M74
worker节点加入
# 边缘节点加入 keadm join --cloudcore-ipport=192.168.37.140:10000 --kubeedge-version=1.9.1 --token=6bda93f2211e35b91d69a8b9b7d567c3cc7843e8215e6283e809afd621395418.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NDY4OTc1MzJ9.Om_2CAahueSJ9cqHlVZOji3zyQtWL5ApgX4Q9I84M74 # edgecore加入systemctl cp -r /etc/kubeedge/edgecore.service /lib/systemd/system/ # 重启edgecore systemctl restart edgecore.service
日志查看
/var/log/kubeedge/cloudcore.log /var/log/kubeedge/edgecore.log journalctl -u edgecore.service -b journalctl -u cloudcore.service -b
会出现的坑,【需要翻墙】
==初始化的时候会出现,yaml下载不下来的情况,根据报错信息,下载yaml文件==
安装完成截图
nodeSelector: node-role.kubernetes.io/edge: "" tolerations: - key: node-role.kubernetes.io/edge operator: Exists effect: NoSchedule