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