57

KubeEdge:开源的 Kubernetes 原生边缘计算框架

 5 years ago
source link: https://www.infoq.cn/article/lFy*Y8PBwyU0Qjbop9T1?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

KubeEdge 成为第一个 Kubernetes 原生边缘计算平台,边缘组件和云组件均已开源!

开源边缘计算正在经历业界最具活力的发展阶段。如此多的开源平台,如此多的兼并,如此多的标准化举措!这显示出了构建更好平台的强大动力,将云计算带到边缘,以满足日益增长的需求。去年发布的 KubeEdge 现在为云原生计算带来了好消息!它提供了一个完整的基于 Kubernetes 的边缘计算解决方案,具有独立的云和边缘核心模块。目前,云和边缘模块都已开源。

与现有的某些轻量级 kubernetes 平台不同,KubeEdge 旨在扩展云计算,构建边缘计算解决方案。控制平面仍驻留在云中,可以伸缩和扩展。同时,边缘可以在离线模式下工作。此外,它是轻量级的和容器化的,可以支持边缘的异构硬件。随着边缘资源的优化利用,KubeEdge 可以为边缘解决方案节省大量的配置和运营成本。这使它成为目前世界上最引人注目的基于 Kubernetes 的边缘计算平台!

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

KubeEdge 的主要目标是将 Kubernetes 生态系统从云扩展到边缘。自 2018 年 11 月 KubeEdge 在上海 KubeCon 向公众发布以来,就像它的名字一样,KubeEdge 的架构方向一直与 Kubernetes 保持一致。

V0.1 版本开始提供基本的边缘计算特性。现在,在最新的 v0.2 版本中,它引入了云组件用于连接并形成回路。通过一致且可伸缩的基于 Kubernetes 的接口,KubeEdge 支持边缘集群的编排和管理,类似于 Kubernetes 在云中的管理方式。这为快速高效地将云计算能力推向边缘提供了可能。

qaqy2qM.png!web

KubeEdge 相关链接:

  • 网站
  • 源代码
  • 文档

根据其路线图和架构,KubeEdge 试图支持所有的边缘节点、应用程序、设备,甚至是与 Kuberenetes 接口一致的集群管理。这有助于使边缘云的行为和云集群完全一样。这可以为基于 KubeEdge 进行边缘云开发部署节省大量的时间和成本。

KubeEdge 提供了一个可伸缩的容器化边缘计算平台。得益于模块化和优化,KubeEdge 是轻量级的(大小 66MB,运行内存约 30MB),可以部署在低资源设备上。同样,边缘节点可以具有不同的硬件体系结构和不同的硬件配置。对于设备连接,它可以支持多种协议,并且使用了标准的基于 MQTT 的通信。这便于使用新的节点和设备有效地扩展边缘集群。

你没听错!KubeEdge 云核心模块开源了!

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

KubeEdge 的架构:构建 Kuberenetes 原生边缘计算

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

bU7rumQ.png!web

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

EdgeHub:边缘的通信接口模块。这是一个 Web 套接字客户端,负责边缘计算与云服务的交互。

CloudHub:云端通讯接口模块。一个 Web 套接字服务器,负责监视云端的更改、缓存以及向 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 Cloud 和 Edge
  3. 运行 Cloud
  4. 运行 Edge

要了解上述步骤的详细信息,请查看 KubeEdge/kubeedge

未来展望:依托于强大的功能和社区协作来发展

KubeEdge 是由社区成员开发的,他们也是 Kubernetes/CNCF 的活跃贡献者和边缘计算的研究者。KubeEdge 团队还积极与 Kubernetes IOT/EDGE 工作组开展合作。在 KubeEdge 发布公告后的几个月内,包括京东、浙江大学、SEL 实验室、Eclipse、中国移动、ARM、英特尔等在内的不同组织就加入了 KubeEdge 社区,共同致力于 KubeEdge 平台和生态系统的构建。

对于 2019 年即将发布的主要版本,KubeEdge 有一个清晰的路线图。vc1.0 的目标是提供一个完整的边缘集群和设备管理解决方案,包含标准的边缘到边缘通信,而 v2.0 的目标是提供高级的边缘特性,如服务网格、函数服务、数据分析等。此外,对于所有这些特性,KubeEdge 体系结构将尝试利用现有的 CNCF 项目 / 软件。

KubeEdge 社区的构建离不开各种组织、它们的需求、用例和支持。欢迎加入 Kubernetes 原生边缘计算平台的开发,它可以将云原生计算范式扩展到边缘云。

查看英文原文: KubeEdge, a Kubernetes Native Edge Computing Framework


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK