作者 | 高文俊
起源|阿里巴巴云原生公众号
简介
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/
如果您对于 OpenYurt 有任何疑难,欢送应用钉钉搜寻群号(31993519)退出钉钉交换群。