这篇文章已超过一年。较旧的文章可能包含过时内容。请检查页面中的信息自发布以来是否已不再正确。
KubeEdge,一个 Kubernetes 原生边缘计算框架
KubeEdge 成为首个云边组件均已开源的 Kubernetes 原生边缘计算平台!
开源边缘计算正处于行业中最活跃的发展阶段。如此多的开源平台,如此多的整合,以及如此多的标准化倡议!这表明了构建更好的平台,将云计算带到边缘以满足不断增长的需求的强大动力。KubeEdge,去年发布的项目,现在为云原生计算带来了好消息!它提供了一个基于 Kubernetes 的完整边缘计算解决方案,包含独立的云和边缘核心模块。目前,云模块和边缘模块都已开源。
与市面上某些轻量级 Kubernetes 平台不同,KubeEdge 旨在构建扩展云计算能力的边缘计算解决方案。控制平面位于云端,同时具有可扩展性和可伸缩性。与此同时,边缘端可以离线工作。它还轻量级且容器化,并能支持边缘端异构硬件。通过优化边缘资源利用率,KubeEdge 有望显著降低边缘解决方案的部署和运营成本。这使其成为目前世界上最具吸引力的基于 Kubernetes 的边缘计算平台!
Kube(rnetes)Edge!- 为边缘计算开启新的基于 Kubernetes 的生态系统
KubeEdge 的核心目标是将 Kubernetes 生态系统从云扩展到边缘。自 2018 年 11 月在上海 KubeCon 向公众发布以来,KubeEdge 的架构方向就与 Kubernetes 保持一致,正如同其名称所示!
它从 v0.1 版本开始,提供了管理边缘应用的基本边缘计算功能,并包含了节点、Pod、配置等 Kubernetes API 原语。现在,随着最新的 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 内存。类似地,云核心可以在任何云节点上运行。(用户也可以在笔记本电脑上运行来体验)
安装非常简单,只需几步即可完成:
- 设置先决条件:Docker, Kubernetes, MQTT 和 openssl
- 克隆并构建 KubeEdge Cloud 和 Edge
- 运行 Cloud
- 运行 Edge
未来:凭借强大功能和社区协作腾飞
KubeEdge 是由社区成员开发的,这些成员是 Kubernetes/CNCF 的活跃贡献者,并正在边缘计算领域进行研究。KubeEdge 团队也积极与 Kubernetes IOT/EDGE 工作组协作。KubeEdge 发布几个月内就吸引了京东、浙江大学、SEL Lab、Eclipse、中国移动、ARM、Intel 等不同组织的成员参与平台和生态系统的构建协作。
KubeEdge 对其 2019 年即将发布的主要版本有明确的路线图。v1.0 旨在提供完整的边缘集群和设备管理解决方案,包括标准的边缘到边缘通信,而 v2.0 旨在拥有更高级的边缘功能,如服务网格、函数服务、数据分析等。此外,对于所有功能,KubeEdge 架构将尝试利用现有的 CNCF 项目/软件。
KubeEdge 社区需要各种组织、它们的需求、用例和支持来构建。请加入我们,共同打造一个能够将云原生计算范例扩展到边缘云的 Kubernetes 原生边缘计算平台。
如何参与?
我们欢迎更多合作来构建 Kubernetes 原生边缘计算生态系统。请加入我们!