KubeEdge 架构设计及其环境搭建(KubeEdge基础篇)
KubeEdge架构设计
类比

架构设计图

云边通信方式
- 云:
Cloud Hub(公网) - 边:
Edge Hub(局域网) - 通信方式:
Websocket( 双向通信 ) - 通信数据:
配置数据+业务数据

云端架构设计
EdgeController

DeviceController

边缘端架构设计
Edged

Pod 管理
Pod ManagementContainer Management
Pod 监控
Probe ManagementPod Status ManagementPod Lifecycle Event Generator
Edge 卷管理
Volume ManagementSecret ManagementConfigMap Management
Pod 垃圾回收
Container Garbage CollectionImage Garbage Collection
元数据管理
MetaClient
MetaManager

- 数据库缓存, 用于存储边缘端的元数据信息
- 通过
MetaClient与Edged通信 - 通过
EdgeHub与EdgeController通信 - 用的是
sqlite3数据库(轻量级) - 解决的是
EdgeController与Edged通信的问题(网络不稳定, 通信不可靠) - 这个解决的是
Pod的运行问题
DeviceTwin

- 用于存储边缘端的设备信息
- 通过
EdgeHub与EdgeController通信 - 用的是
sqlite3数据库(轻量级) - 实现原理和
MetaManager一样 - 上面两个数据库都是
sqlite3数据库, 为什么不合并呢?MetaManager用于存储边缘端的元数据信息DeviceTwin用于存储边缘端的设备信息- 两者的数据结构不一样, 不能合并
- 这个解决的是
边缘端介入设备的运行问题
EventBus/SeriveBus

- 用于存储边缘端的事件信息
- 起到一个消息队列的作用
- 通过
EdgeHub与EdgeController通信 - 因为有实时性的需求, 所以就不需要用缓存了
K8S VS KubeEdge
Kubernetes 架构设计

- 用户创建
Pod,Deployment,Service等资源
- 用户创建
kube-apiserver接收到用户的请求, 将资源信息存储到etcd中
kube-controller-manager通过kube-apiserver从etcd中获取资源信息, 并将资源信息同步到kubelet中
Scheduler根据节点的运行情况, 将Pod分配到某个节点
kubelet通过kube-apiserver从etcd中获取资源信息, 并将资源信息同步到kube-proxy中, 通过CRI创建Pod
从 Kubernetes 向 KubeEdge 演进
30%的人观点

70%的人观点

KubeEdge 植入 Kubernetes

KubeEdge实现了Kubernetes的功能并向边缘端下沉.
Kubernetes环境搭建(进阶)
K8S 版本升级 (KubeEdge 控制面环境安装)
Master 节点
- 实验机器上面默认没有防火墙 所以将其注释了 如果需要手动取消注释即可
Node 节点
- 加入集群的命令在
/var/log/install_k8s.log
修改过期时间
查看证书过期时间
- https://github.com/kubernetes/kubernetes
- https://github.com/kubernetes/kubernetes/releases/tag/v1.21.6
KubeEdge 云端环境安装
KubeEdge 边缘端环境安装
- 若无法正常加载, 请点击查看 PDF 网页版本: 如何阅读KubeEdge框架源代码?框架源代码.pdf
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ZkeqのCoding日志!
评论






