OpenYurt v0.4.0 新特性发布:高效地管理边缘存储资源

来源: 投稿
2021-06-03

简介

OpenYurt 是由阿里云开源的基于原生 Kubernetes 构建的、业内首个对于 Kubernetes 非侵入式的边缘计算项目,目标是扩展 Kubernetes 以无缝支持边缘计算场景。它提供了完整的 Kubernetes API 兼容性;支持所有 Kubernetes 工作负载、服务、运营商、CNI 插件和 CSI 插件;提供良好的节点自治能力和云边协同能力。OpenYurt 可以轻松部署在任何 Kubernetes 集群服务中,让强大的云原生能力扩展到边缘。

边缘本地存储

OpenYurt v0.4.0 版本推出全新特性:边缘本地存储管理,用于高效地管理边缘节点的存储资源,用户可以通过 ConfigMap 来动态配置集群内节点的本地资源,并能无缝对接 CSI 存储插件,通过原生的 PV/PVC 方式使用本地存储。

该项目组件主要包含两个部分, 一个是定义在集群中 kube-system namespace 的 node-resource-topo ConfigMap, 一个是部署在集群中 kube-system namespace 下面的 node-resource-manager Daemonset, 每个 Node 节点上的 node-resource-manager 通过挂载 node-resource-topo ConfigMap 的方式生产并管理用户定义的本地资源。架构如下:

主要优点:

  • 简单易用:node-resource-manager 可以仅通过定义 ConfigMap 就完成对集群中的本地资源的初始化和更新。

  • 易于集成:node-resource-manager 可以与 csi 插件集成来完成 kubernetes 集群中的相关本地资源的生命周期管理。

  • 与云平台无关:node-resource-manager 可以轻松部署在任何完全兼容 Kubernetes API 的集群中。

关于边缘本地存储设备管理的详情和使用方法,请参考 configmap.md:

https://github.com/openyurtio/node-resource-manager/blob/main/docs/configmap.md。

IOT 设备管理 API

阿里联合 VMware 在 OpenYurt 社区推出了 IOT 边缘设备管理的 API 标准定义,API 基于 Kubernetes 的 CRD(custom resource definitions)模型实现。任何边缘平台只需实现对应 CRD Controller,即能通过这些 API 接入 OpenYurt 集群,完成面向终态的设备管理。

未来我们将继续基于 OpenYurt + EdgeX Foundry 来进行 IOT 等边缘场景下的探索,共建统一 API 下的多场景设备接入、使能和融合能力,打造云原生 IOT 领域标准。

关于 API 定义,请参考《Proposal: managing edge devices by integraing Edgex Foundry into OpenYurt》:

https://github.com/openyurtio/openyurt/pull/236

支持 Kubernetes 1.18 版本

OpenYurt 正式支持 Kubernetes 1.18 版本,用户可无缝转换 Kubernetes 1.18 集群至 OpenYurt 集群,并使用 1.18 版本的 API 和新特性。

更多特性

  • YurtHub 支持 CRD 缓存,边缘应用可在云边断网情况下,使用 CRD 的扩展能力,如 Calico、各类自定义 Operator 等,请参见《Proposal: enhance the caching ability of YurtHub》:

    https://github.com/openyurtio/openyurt/pull/244

  • UnitedDeployment 支持 Patch 特性,UnitedDeployment controller 支持 在不同 nodepool 内进行 workload 的差异化配置,如 images、resources 等,请参见《Feature: UnitedDeployment support patch for pool》:

    https://github.com/openyurtio/yurt-app-manager/pull/12

  • 支持 Prometheus 和 Yurt-Tunnel-Server 跨节点部署,请参见《Feature: add dns controller to sync cluster node dns records》:

    https://github.com/openyurtio/openyurt/pull/270

  • Yurtctl 支持 Kind 集群一键转换,请参见《Add support for the conversion between kind and OpenYurt cluster》:

    https://github.com/openyurtio/openyurt/pull/234

  • 新增边缘容器网络特性说明,针对边缘弱网场景,提供边缘网络插件的定制化特性,如 MAC 地址保持,IP 地址保持,并提供相应代码参考和使用说明,请参见《add edge-pod-network doc》:

    https://github.com/openyurtio/openyurt/pull/302

  • 制定社区治理规则,基于社区反馈,设立 Member,Reviewer,Approver,Maintainer 等角色,明确成员职责和准入、提升条件,规范化社区治理,鼓励社区同学参与共建,请参见:

    https://github.com/openyurtio/community/blob/main/community-membership.md

未来计划

OpenYurt V0.4.0 版本发布,提供了边缘本地存储管理,边缘 IOT 设备管理等全新能力,并发布了 Kubernetes 1.18 版本的支持,以及一系列扩展能力和优化。未来 OpenYurt 社区会在本地存储项目提供存储调度能力,在 IOT 设备管理领域持续投入和探索演进,在社区治理和贡献者体验方面加大建设力度,同时也非常欢迎有兴趣的同学加入参与共建,共同打造一个稳定、可靠的云原生边缘计算平台。

更多社区详情请关注:https://github.com/openyurtio/openyurt

相关链接

  • OpenYurt v0.4.0 CHANGELOG:

    https://github.com/openyurtio/openyurt/blob/master/CHANGELOG.md#v040

  • OpenYurt 使用教程:

    https://github.com/openyurtio/openyurt/tree/master/docs/tutorial

  • OpenYurt 官网:

    https://openyurt.io/

展开阅读全文
8 收藏
分享
加载中
更多评论
0 评论
8 收藏
分享
返回顶部
顶部