kubeedge包括cloudcore和edgecore两大部分,其中边缘侧device接入包括device-mapper, 详细功能模块如下:
cloudcore:
- cloudHub: 启动一个websocket server, 接收edge node的注册请求,在edge node没有用户证书时负责动态证书生成与下发;定义k8s CRD通过消息控制器实现了边云可靠的消息传递,转发edgecore/ cloudcore的信息。
- edgeController: 实现为一个kubernetes controller, 负责管理edge nodes相关kubernetes API 元数据(pods, service, configmap等)。具体又分为upstream controller, 负责edge nodes上报元数据的更新操作;downstream controller 负责cloudcore向edge node同步的元数据。
- deviceController: 实现为一个kubernetes controller, 管理clodecore与edgecore间设备相关元数据的状态同步,具体又分为upstream controller 与downstream controller。upstream controller负责将device metadata与device status同步到kubernetes; downstream controller负责将kuberntes创建的device metadate下发到edgenodes.
- synccontroller: 负责实现kubeedge云边的可靠控制消息传递。
- cloudstream: 管理kubectl debug命令的链接与数据通道, 如kubectl exec/log命令的实现。
- router: 通过k8s CRD实现的用户自定义消息路由规则,cloud侧用户应用可主动访问edge nodes上的htt