(接上篇)
通过前面的学习,我们对整个边缘计算系统的逻辑架构及云、边、端之间的逻辑关系也有了系统的了解。本章将对边缘计算系统的边部分KubeEdge的原理进行解析,从KubeEdge的整体架构切入,依次对KubeEdge的云部分组件、边缘部分组件、端部分组件、云边协同原理、边缘存储、设备管理模型、边缘网络和边缘节点管理的原理进行梳理和解析。
KubeEdge的整体架构
边部分KubeEdge的整体架构如图5-1所示。
图5-1边部分KubeEdge整体架构
由图5-1可知,KubeEdge整体包括与云交互的组件、管理边缘负载的组件和与终端设备交互的组件三部分。
- 与云交互的组件:在KubeEdge中,CloudCore是与云交互的组件,负责将云部分的指令下发到边缘,同时负责接收边缘上报到云端的事件。
- 管理边缘负载的组件:在KubeEdge中,EdgeCore是管理边缘负载的组件,负责接收、执行云端下发的指令,即管理边缘负载的整个生命周期,同时将边缘的状态以事件的形式上报到云端。
- 与终端设备交互的组件:在KubeEdge中,Mapper是与终端设备交互的组件,是针对支持不同协议的设备开发的插件。一个Mapper负责与支持指定协议的设备进行交互,即采集支持指定协议的设备的数据上报到边缘,同时将边缘下发的指令在支持指定协议的设备上执行。
除了上述三部分,贯穿KubeEdge整体架构的还包括云边协同、存储管理、网络管理、设备管理和集群管理。
云部分组件
CloudCore是一个单独的可执行文件,其中不同的功能以模块的形式进行管理,具体架构如图5-2所示。
图5-2 CloudCore架构
由图5-2可知,CloudCore通过List/Watch的方式与云交互,将监听到的事件下发到边缘,同时负责接收边缘以事件的形式上报的状态数据。这些功能是由CloudCore中的不同模块完成的,包括EdgeController、DeviceController、Admintion Webhook和CSI Driver。
- EdgeController:负责将与边缘相关的pod、ConfigMap、Secret、Service和Endpoint等资源的增、删、改、查事件从云上下发到边缘,同时接收边缘上报的NodeStatus、podStatus等事件。
- DeviceController:负责将与边缘相关的DeviceInstance、DeviceTwin和Desired等资源的增、删、改、查事件从云上下发到边缘,同时接收边缘上报的DeviceStatus、DeviceTwin和Reported等事件。
- Admintion Webhook:负责对从云上下发到边缘的相关资源对象和对相关资源对象的访问权限进行校验。
- CSI Driver:负责将与边缘相关的PV(Persistent Volume)、PVC(Persistent Volume Claim)和StorageClass等相关资源的增、删、改、查事件从云下发到边缘。
除上述功能模块之外,CloudCore组件还有一个功能模块CloudHub。该功能模块是云与边缘交互的门户。以上功能模块相关的资源事件的下发和状态事件的上报都需要通过CloudHub。
「未完待续……」
点击下方标题可阅读技术文章
「连载」边缘计算(一)01-16:边缘计算系统逻辑架构(原理篇)
「连载」边缘计算(二)01-17:边缘计算系统逻辑架构(原理篇)