CNCF 技术指导委员会(TOC)宣布将 KubeEdge 作为一个孵化项目。KubeEdge 是一个旨在“为云设备和边缘设备之间的网络、应用部署和元数据同步提供基础设施支持”的平台,并使用 Kubernetes 作为底层基础。
KubeEdge 最初由一家叫作 Futurewei(华为一家附属公司)的公司开发的,于 2019 年 3 月 12 日被提议成为 CNCF 的一个沙箱。开发团队于 2019 年 6 月发布了 v1.0,并每个季度发布一个版本。值得注意的是,KubeEdge 是 CNCF 托管的第一个边缘计算项目。
KubeEdge的目标是让边缘设备成为“云的延伸”。KubeEdge 的特性包括 Kubernetes API 兼容性、优化的节点组件和运行时、双向多路消息传递通道,以及通过边缘元数据持久性实现本地设备自治。它还支持多种边缘协议,并试图提供云和边缘应用程序和资源的统一管理。该项目的维护人员 Sean Wang 在 2019 年的一次KubeEdge演讲中表示,KubeEdge 希望“在边缘实现计算和智能化”。
KubeEdge 包含了两组组件——运行在云端的组件和运行在边缘节点上的组件。云端组件(统称为 CloudCore)包括边缘控制器、云控制器和云中心。云中心起到网关的作用,并管理来自边缘节点的连接。控制器充当协调器,边缘控制器还充当 Kubernetes API 服务器和边缘之间的桥梁。CloudCore 是 Kubernetes 部署的控制平面,工作节点位于边缘。云端和边缘是“松散耦合”的,当网络与云端断开连接时,边缘的代理可以“自主管理容器和物联网设备,当网络重新连接时,可以与云端同步元数据”。
图片来源:KubeEdge文档
边缘组件称为 EdgeCore,包括边缘 Hub、EdgeMesh、元数据管理器和 DeviceTwin。EdgeMesh 作为边缘的一个服务网格,确保边缘到边缘和边缘到云端之间的服务发现是一致的。在边缘节点上,一个叫作 Edged 的“轻量级 kubelet”负责执行 pod 生命周期管理任务。边缘设备 API 被建模成 Kubernetes 自定义资源定义(CRD)——其中“DeviceModel”用于定义设备是什么,而“DeviceInstance”表示设备的实例。当控制平面能够支持高可用性时,KubeEdge 也可以支持边缘轻量级 Kubernetes 集群。内部边缘通信通过标准MQTT协议进行。
在撰写本文时,KubeEdge 支持 Docker、containerd、CRI-O 和 Virtlet 作为边缘节点的容器运行时。
KubeEdge 的源代码可以在GitHub上找到。有关将 Kubernetes 作为边缘计算平台的更多信息可以在物联网边缘工作组白皮书中找到。
原文链接:
CNCF Approves Kubernetes Edge Computing Platform KubeEdge as Incubating Project
评论