kubeedge架构:包括云端和边端两部分 。
In the Cloud
- CloudHub: a web socket server responsible for watching changes at the cloud side, caching and sending messages to EdgeHub.( CloudHub是一个websocket 服务器,负责监控云边的变化、缓存以及向EdgeHub发送消息message)
- EdgeController: an extended kubernetes controller which manages edge nodes and pods metadata so that the data can be targeted to a specific edge node.(EdgeController 是一个扩展的K8S控制器:负责管理边缘节点和pods 的元数据,因此数据才能被发送到指定的边缘节点)
- DeviceController: an extended kubernetes controller which manages devices so that the device metadata/status data can be synced between edge and cloud.(DeviceController 也是一个扩展性的K8S控制器,负责管理devices, 实现device元数据/状态数据在云端与边缘端的同步.)
On the Edge
- EdgeHub: a web socket client responsible for interacting with Cloud Service for the edge computing (like Edge Controller as in the KubeEdge Architecture). This includes syncing cloud-side resource updates to the edge, and reporting edge-side host and device status changes to the cloud. (EdgeHub 是一个websocket 客户端,负责与云边服务交互实现边缘计算『类似KubeEdge 架构中的Edge Controller』。其中包括将云边资源同步更新到边缘端以及将边端主机、设备状态变化广播至云端。)
- Edged: an agent that runs on edge nodes and manages containerized applications. (Edged 是一个运行在边缘节点管理容器化应用的代理。)
- EventBus: a MQTT client to interact with MQTT servers (mosquitto), offering publish and subscribe capabilities to other components. (EventBus 是一个MQTT客户端负责与MQTT服务器mosquitto的交互,为其他组件提供发布与订阅功能。)
- ServiceBus: a HTTP client to interact with HTTP servers (REST), offering HTTP client capabilities to components of cloud to reach HTTP servers running at edge.(ServiceBus 是一个HTTP客户端与HTTP服务器使用REST进行交互,为云端组件提供HTTP客户端功能,使其请求到达运行在边缘端的HTTP服务器。)
- DeviceTwin: responsible for storing device status and syncing device status to the cloud. It also provides query interfaces for applications.(DeviceTwin 负责存储设备状态,并将设备状态同步到云端,同时也提供了了应用的查询接口。)
- MetaManager: the message processor between edged and edgehub. It is also responsible for storing/retrieving metadata to/from a lightweight database (SQLite).(MetaManager 是edged与edgehub之间的message 处理器,同时,也负责将元数据存储/查询 到/从 一个轻量级数据库SQLite。)
KubeEdge 借助 Kubernetes CRD 和与正在使用的设备相对应的设备映射器(Mapper)来支持设备管理。 目前,我们借助设备控制器(Device