KubeEdge+KubeSphere

发布时间 2023-06-17 16:40:58作者: 大圣2000

KubeEdge+KubeSphere部署文档

在A、B、C三台机器上安装KubeEdge,将A设为云节点/主节点,B、C为边缘节点。(注意KubeSphere不适用于ARM架构的CPU!)

1. 首先在主机A上以all-in-one的模式安装 KubeSphere,实现快速部署 KubeSphere 和 Kubernetes。

https://kubesphere.io/zh/docs/v3.3/quick-start/all-in-one-on-linux/

教程中没写要修改docker的管理方式,应修改为”systemd“。

2. 在安装后启用 KubeEdge(在KubeSphere中,KubeEdge相当于插件)

https://kubesphere.io/zh/docs/v3.3/pluggable-components/kubeedge/

其中,在主机A上启用的插件KubeEdge的版本是1.9.2,目前没有看到可以在KubeSphere选择KubeEdge的操作(也没有必要,1.9.2实测比最新版本1.3.0好用,坑少)

3. 添加边缘节点B和C

边缘节点docker的管理方式为“Cgroup Driver: cgroupfs”

https://kubesphere.io/zh/docs/v3.3/installing-on-linux/cluster-operation/add-edge-nodes/

在边缘节点上运行./keadm 时要把10000-10004端口改为30000-30004

按教程中再开启云节点metrics_server,可收集边缘节点监控信息。

按教程中再开启边缘节点edgeStream

4. 使用 KubeEdge 和 EdgeMesh 实现边缘复杂网络场景下的节点通信

https://kubesphere.io/zh/blogs/kubesphere-kubeedge-edgemesh/

使用以上网页链接教程中的教程也可,较为方便

4.1 EdgeMesh 工作原理

云端是标准的 K8s 集群,可以使用任意 CNI 网络插件,比如 Flannel、Calico,可以部署任意 K8s 原生组件,比如 Kubelet、KubeProxy; 同时云端部署 KubeEdge 云上组件 CloudCore,边缘节点上运行 KubeEdge 边缘组件 EdgeCore,完成边缘节点向云上集群的注册。

997fff83-17e5-45e0-a54d-f02f1022f555.png

4.2 前置准备

4.2.1 去除 K8s master 节点的污点+给 Kubernetes API 服务添加过滤标签

https://edgemesh.netlify.app/zh/guide/#前置准备

4.2.2 启用 KubeEdge 的边缘 Kube-API 端点服务

https://edgemesh.netlify.app/zh/guide/edge-kube-api.html#背景

4.2.3 使用手动安装模式

https://edgemesh.netlify.app/zh/guide/#手动安装

根据集群中A、B、C三个节点的信息配置在edgemesh下的build/agent/resources/04-configmap.yaml 的 relayNodes

并重新生成 PSK 密码