本文发表于一年多前。旧文章可能包含过时内容。请检查页面中的信息自发布以来是否已变得不正确。

KubeEdge,一个 Kubernetes 原生边缘计算框架

KubeEdge 成为首个同时开源了边缘和云组件的 Kubernetes 原生边缘计算平台!

开源边缘计算正处于其行业发展中最活跃的阶段。如此多的开源平台,如此多的整合以及如此多的标准化倡议!这表明了构建更好平台的强大动力,以将云计算引入边缘,以满足不断增长的需求。KubeEdge,去年宣布的,现在为云原生计算带来了好消息!它提供了一个基于 Kubernetes 的完整边缘计算解决方案,具有独立的云和边缘核心模块。目前,云和边缘模块都已开源。

与一些可用的轻量级 Kubernetes 平台不同,KubeEdge 旨在构建扩展云的边缘计算解决方案。尽管具有可扩展性,控制平面仍然驻留在云端。同时,边缘可以在离线模式下工作。它也轻量级且容器化,并且可以支持边缘的异构硬件。通过优化边缘资源利用率,KubeEdge 有望为边缘解决方案节省大量的设置和运营成本。这使其成为目前世界上最引人注目的基于 Kubernetes 的边缘计算平台!

Kube(rnetes)Edge!- 为边缘计算开辟一个基于 Kubernetes 的新生态系统

KubeEdge 的主要目标是将 Kubernetes 生态系统从云端扩展到边缘。自 2018 年 11 月在上海 KubeCon 大会上向公众宣布以来,KubeEdge 的架构方向一直与 Kubernetes 保持一致,正如其名称所示!

它从 v0.1 版本开始,提供了基本的边缘计算功能。现在,随着最新版本 v0.2 的发布,它引入了云组件以连接并完成循环。凭借一致且可扩展的基于 Kubernetes 的接口,KubeEdge 能够编排和管理边缘集群,就像 Kubernetes 在云中管理一样。这为将云计算能力无缝、快速高效地带到边缘开辟了可能性。

KubeEdge 链接

根据其路线图和架构,KubeEdge 致力于支持所有边缘节点、应用程序、设备甚至集群管理,并与 Kubernetes 接口保持一致。这将有助于边缘云像云集群一样运行。这可以大大节省基于 KubeEdge 的边缘云开发部署的时间和成本。

KubeEdge 提供了一个容器化的边缘计算平台,它本身具有可扩展性。由于其模块化和优化,它轻量级(占用空间 66MB,运行内存约 30MB),可以部署在低资源设备上。同样,边缘节点可以是不同的硬件架构和不同的硬件配置。对于设备连接,它可以支持多种协议,并使用基于标准 MQTT 的通信。这有助于高效地扩展包含新节点和设备的边缘集群。

你没听错!

KubeEdge 云核心模块已开源!

通过开源边缘和云模块,KubeEdge 带来了一个完整的云厂商无关的轻量级异构边缘计算平台。它现在已准备好支持为边缘计算构建完整的 Kubernetes 生态系统,利用大多数现有的云原生项目或软件模块。这可以在边缘实现一个微型云,以支持数据分析、视频分析、机器学习等高要求用例。

KubeEdge 架构:构建 Kubernetes 原生边缘计算!

KubeEdge 的核心架构宗旨是构建与 Kubernetes 一致的接口,无论是在云端还是边缘端。

Edged:管理边缘的容器化应用程序。

EdgeHub:边缘的通信接口模块。它是一个 WebSocket 客户端,负责与云服务进行边缘计算交互。

CloudHub:云端的通信接口模块。它是一个 WebSocket 服务器,负责监控云端变化、缓存并向 EdgeHub 发送消息。

EdgeController:管理边缘节点。它是一个扩展的 Kubernetes 控制器,管理边缘节点和 Pod 元数据,以便数据可以定向到特定的边缘节点。

EventBus:使用 MQTT 处理内部边缘通信。它是一个 MQTT 客户端,用于与 MQTT 服务器(mosquitto)交互,为其他组件提供发布和订阅功能。

DeviceTwin:它是设备的软件镜像,处理设备元数据。该模块有助于处理设备状态并将其同步到云端。由于它与轻量级数据库(SQLite)连接,因此也为应用程序提供查询接口。

MetaManager:它管理边缘节点的元数据。它是 Edged 和 EdgeHub 之间的消息处理器。它还负责将元数据存储/检索到/从轻量级数据库(SQLite)。

即使您希望根据架构的完善和改进(例如增强安全性)添加更多的控制平面模块,它也很简单,因为它在这些模块内部使用一致的注册和模块化通信。

KubeEdge 提供可扩展的轻量级 Kubernetes 原生边缘计算平台,可以在离线模式下工作。

它有助于简化边缘应用程序的开发和部署。

与云厂商无关,可以在任何计算节点上运行云核心模块。

版本0.1到0.2——改变游戏规则!

KubeEdge v0.1 于2018年12月底发布,包含了管理边缘应用程序以及节点、Pod、配置等 Kubernetes API 原语的基本边缘功能。在大约2个月后,KubeEdge v0.2 于2019年3月5日发布。此版本提供了云核心模块,并实现了端到端的开源边缘计算解决方案。云核心模块可以部署到任何云厂商或本地的任何计算节点。

现在,完整的边缘解决方案可以非常容易地安装和测试,甚至可以使用笔记本电脑进行。

随处运行——简单轻巧

如前所述,KubeEdge 边缘和云核心组件可以轻松部署并运行用户应用程序。边缘核心的占用空间为 66MB,运行仅需 30MB 内存。同样,云核心可以在任何云节点上运行。(用户也可以在笔记本电脑上运行来体验)

安装简单,只需几个步骤即可完成

  1. 安装 Docker、Kubernetes、MQTT 和 openssl 等先决条件
  2. 克隆并构建 KubeEdge 云端和边缘端
  3. 运行云端
  4. 运行边缘端

每个步骤的详细说明可在 KubeEdge/kubeedge 找到

未来:凭借强大功能和社区协作起飞

KubeEdge 由社区成员开发,他们是 Kubernetes/CNCF 的积极贡献者,并在边缘计算领域进行研究。KubeEdge 团队还积极与 Kubernetes IOT/EDGE 工作组合作。在 KubeEdge 发布后的几个月内,它吸引了来自不同组织的成员,包括京东、浙江大学、SEL 实验室、Eclipse、中国移动、ARM、Intel,共同构建平台和生态系统。

KubeEdge 为其即将于 2019 年发布的主要版本制定了明确的路线图。v1.0 旨在提供完整的边缘集群和设备管理解决方案,并支持标准边缘到边缘通信,而 v2.0 旨在提供服务网格、函数服务、边缘数据分析等高级功能。此外,对于所有功能,KubeEdge 架构将尝试利用现有的 CNCF 项目/软件。

KubeEdge 社区需要各种组织、它们的需求、用例和支持来构建它。请加入我们,共同打造一个 Kubernetes 原生边缘计算平台,将云原生计算范式扩展到边缘云。

如何参与?

我们欢迎更多的合作来构建 Kubernetes 原生边缘计算生态系统。请加入我们!