新晋 CNCF 沙箱项目 OpenClusterManagement 带来了它的最新特性

简介: OpenClusterManagement(OCM)项目在 11 月 9 日的 CNCF 委员会会议中正式批准为 CNCF 的沙箱项目,并且也吸引了微软 AKS 研发同学的加盟。同时 OCM 社区也即将在 KubeCon 2021 中国的主题演讲里展开介绍 KubeVela 社区和 OCM 社区正在共建的集成特性。

作者 | 左修


OpenClusterManagement(OCM)项目在 11 月 9 日的 CNCF 委员会会议中正式批准为 CNCF 的沙箱项目,并且也吸引了微软 AKS 研发同学的加盟。同时 OCM 社区也即将在 KubeCon 2021 中国的主题演讲里展开介绍 KubeVela 社区和 OCM 社区正在共建的集成特性。


分布式云正在成为云计算行业的趋势。从用户的角度认识所谓分布式云就是可以根据基础实施拓扑形式和功能需求选择合适的社区项目方案和集群管理模式获取流畅的用户体验,同时从云厂商的角度就需要在技术服务上主动适配开放的技术标准并且在一致性通过的前提下兼容其他厂商的技术方案。所以评价分布式云混合云技术方案的开放性的重要指标之一就是项目的厂商中立性和开放性,然而实践上中立性的目标是比较理想化的因为每个厂商都需要跟随本身的商业利益,所以回到混合云技术方案上我们需要重点建设的指标是在开放性,反过来绑定终端用户恰好是与分布式云的初衷背道而驰的。


下面要展开介绍 OCM 项目是个开源开放的 Kubernetes 多集群管理平台项目,目前由阿里云,红帽以及微软等公司跨厂商联合推动。在宏观架构设计上 OpenClusterManagement 主要采用了自治管理架构,同时功能组件高度模块化可剪裁。这样而来终端用户可以根据实际的场景灵活安装拆卸自己所需要的部分模块,举个例子如果用户需要采用某个厂商的功能那么只需要在 OCM 上通过订阅插件快速安装厂商的服务,同时如果用户不再需要某模块了就可以干净地拆卸掉。换言之,一个最小的 OCM 安装模式下,OCM 只会提供精炼的集群元数据以证书管理等基础功能。


01 新的子项目 Cluster-Gateway


1、Endpoint-less 的多集群 API 网关框架 / Cluster-Gateway


Cluster-Gateway 由阿里云主要贡献的 OCM 新晋子项目,也即将引用在阿里云在云栖大会亮相的 ACK 敏捷版项目中。


OCM 在自管理模式下不会再要求被托管集群提供任何形式的 API 访问入口及证书,但是实践上我们往往仍然迫切需要一个从中枢集群动态正向访问各个集群的工作链路,同时这个链路需要考虑分布式云 VPC 网络隔离的问题,甚至被托管集群有的情况下不具备开放网络出口的条件。


在 OCM 里 Cluster-Proxy 这个神奇的特性可以帮助你在中枢集群和被托管集群之间没有任何正向网络连通性的情况下使得 API 请求能从中枢集群正确抵达被托管集群,甚至 Exec,Logs 等复杂请求也可以正常工作。这得益与 Kubernetes 社区在 Apiserver-Netwrok-Proxy(ANP)项目上积累的经验:https://github.com/kubernetes-sigs/apiserver-network-proxy


通过上述 OCM 的插件开发框架(Addon-Framework),Cluster-Proxy 可以帮你托管维护滚动 ANP 的 Server 端和 Agent 端的 TLS 证书并同步两者之间的配置。

在网络连通性稳定工作之后,再借助于下面 Kubernetes 社区的 Aggregated Apiserver 开发框架 Apiserver-Runtime,我们联合 KubeVela 社区为 OCM 开发了 Cluster-Gateway 项目以提供一个自定义资源及”/proxy”子资源,它就像 Kubernetes 原生的”pods/proxy”, ”services/proxy”一样工作:https://github.com/kubernetes-sigs/apiserver-runtime


这样一来 Cluster-Proxy 提供了四层的网络链路,Cluster-Gateway 提供了七层的网络多集群路由,于是整体的 API Push 链路就可以完整工作了。详细信息可以参考下图:

image.gif1.png

该特性本身借助于 OCM 的插件框架简化了 ANP 的部署及证书滚动等繁冗的事情,这些细碎平凡的工作恰恰是构建多集群平台最先需要解决的通用问题,也是多集群平台能简易敏捷工作的基础。一句话来说,我们可以把最枯燥的事情交给 OCM,然后再由你来定义 OCM 的功能上限。


>> 更多关于 OCM 最新插件 cluster-proxy 的文档可以参考:https://open-cluster-management.io/getting-started/integration/cluster-proxy/

02


2、更多新特性


OpenClusterManagement 社区还有许多正在积极建设的特性模块等待你去体验发现,篇幅原因这里不能详细展开,可以参考的包括:


  • ManifestWork 资源下发的“订阅式”回流特性


  • 多集群策略配置下发的 Kustomize 集成


  • 多集群 Workload 弹性能力


  • 参与社区了解更多



02 OCM 能力回顾


  • 首页仓库:

https://github.com/open-cluster-management-io/OCM

  • 主题站点:

https://open-cluster-management.io/

  • 中文主题站点:

https://open-cluster-management.io/zh/


OpenClusterManagement 项目由 2020 年末开始走向公众,至今半年多来经过在蚂蚁金服大规模运维实践的打磨下逐渐走向稳定成熟。后续在吸引了阿里云,微软等厂商的登陆合作之后正式号召社区用户的使用和合作,并于最近正式被 CNCF 采纳为沙箱开源项目。以下为 OpenClusterManagement 项目的主要架构组成:

01

1、集群生命周期核心控制器 / Registration

https://github.com/open-cluster-management-io/registration


这是 OCM 里的最核心组件,用于控制管理集群的注册流程和元数据及其生命周期。显而易见集群的元数据本身是更上层能力的必需基础,其提供的集群元数据模型也是之上工作的各个模块的公共“协议”。值得一提的是 OCM 的集群元数据是极其简练的,甚至不包含任何被托管集群的证书密钥,这是得益于 Pull 模式天然排除证书管理的安全性和复杂性。此外 OCM 里的集群注册托管流程是基于“双向握手”认证的,并且在注册完成后在中枢 Hub 集群内会自动生成管理一个与被托管集群同名的命名空间作为工作空间。

02

2、持续稳定的资源下发能力 / Work

https://github.com/open-cluster-management-io/work


在各个集群对应的命名空间中我们可以通过 ManifestWork API 将期望的资源打包下发给被托管集群,值得注意的是在被托管集群中会持久化一份备份的资源 AppliedManifestWork API 以保证在出现网络分区或者中枢离线的情况下被托管集群依然可以持续的维持期望的状态。通过 Kubernetes 社区多集群工作小组的决议 Work API 即将会被推为社区标准。

03

3、动态集群拓扑路由能力 / Placement

https://github.com/open-cluster-management-io/placement


完全解耦模块化的多集群路由策略模块。在使用时通过对集群分组或者进一步筛选指定集群的标签之后,Placement 控制器就会动态计算出路由策略的计算结果即一份被匹配的集群列表。这份列表会根据集群的可用性以及其他卫星属性动态变化。用户可以基于 Placement 控制器自由开发属于自己的多集群高级特性例如多集群 Workload 下发等等。此外在 OCM 里集群的标签也分为普通的静态标签/Label,以及由被托管集群采集上报的动态标签/ClusterClaim,这些都可以作为多集群路由策略的信息输入。

04

4、开放模块插件管理框架 / Addon-Framework

https://github.com/open-cluster-management-io/addon-framework


OCM 的插件框架提供了一系列好用的工具来辅助你开发属于自己的多集群功能特性,这样一以来你就不再需要重复处理繁杂的组件部署,中枢与被托管控制器的联动以及证书滚动等等劳动了,我们可以更专注在构建自己需要的定制功能特性本身。

05

5、更多可选模块功能


除了以上稳定工作的核心组件,OCM 还提供了多集群配置策略的下发,基于 Helm 的多集群的生命周期管理以及和 KubeVela 的集成等等进阶模块等你体验。


03 如何参与社区


随时欢迎参与我们的社区双周会,在这里关注会议及日程:https://github.com/open-cluster-management-io/community/projects


我们的会议时间会动态调整因为横跨涉及中国欧洲美国东西部的协调,或者可以直接在我们的 slack 频道寻找伙伴:https://kubernetes.slack.com/archives/C01GE7YSUUF


点击下方链接,快速浏览我们最新的 OpenClusterManagement 中文站点。

https://open-cluster-management.io/zh/

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
域名解析 网络协议 安全
什么是DNS劫持攻击以及如何避免此类攻击
【10月更文挑战第28天】DNS劫持攻击是一种网络攻击方式,攻击者通过篡改用户的DNS设置,将合法网站的域名解析为恶意网站的IP地址,使用户在不知情的情况下访问钓鱼网站。攻击手段包括在用户系统植入恶意软件、利用路由器漏洞或破解DNS通信等。为防止此类攻击,应使用安全软件、定期检查DNS设置、重置路由器密码及避免访问不安全的网站。
2677 2
|
Kubernetes Cloud Native 安全
ArgoCD + KubeVela:以开发者为中心的 GitOps
在这篇博文中,我们将分享基于阿里云的用例,使用 Argo CD 和 KubeVela 构建以开发者为中心的持续应用交付流水线的经验。
ArgoCD + KubeVela:以开发者为中心的 GitOps
|
机器学习/深度学习 存储 人工智能
2025年NVIDIA RTX 4090云服务器租赁价格与选型指南
本文探讨了在主流云服务商尚未提供RTX 4090实例的背景下,如何选择高性能GPU服务器。分析了市场现状、替代方案性能,并推荐阿里云的GN7i(NVIDIA A10)、GN6v(NVIDIA V100)等实例,提供了成本优化策略与选型建议,确保用户在AI训练、图形渲染等场景中实现效率和成本的最佳平衡。
|
弹性计算 监控 数据挖掘
事件驱动架构的优势与应用:深度解析与实战应用
【8月更文挑战第17天】事件驱动架构以其松耦合、可扩展性、异步处理、实时性和高可靠性等优势,在实时数据处理、复杂业务流程、弹性伸缩和实时通信等多个领域展现出巨大的应用潜力。通过合理应用事件驱动架构,可以构建灵活、可扩展和可维护的系统架构,满足不断变化的业务需求和技术挑战。对于开发者而言,深入理解事件驱动架构的核心概念和优势,将有助于更好地设计和实现高质量的软件系统。
|
Linux Docker 容器
Linux的namespace和cgroups简介
本文介绍了Linux的Namespace技术和cgroups,解释了它们如何帮助实现容器的隔离和资源限制。
597 7
Linux的namespace和cgroups简介
|
存储 Kubernetes 前端开发
基于Kubernetes的实战案例分享
基于Kubernetes的实战案例分享
|
存储 SQL 关系型数据库
在MySQL中使用存储过程返回更新前的记录
在MySQL中使用存储过程返回更新前的记录
427 0
|
文字识别 API 开发工具
文字识别OCR常见问题之本地化部署如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
776 2
|
存储 运维 Go
(一)容器从入门到深入-容器和镜像
(一)容器从入门到深入-容器和镜像
|
弹性计算 应用服务中间件 nginx
全景剖析阿里云容器网络数据链路(三)—— Terway ENIIP
本文是[全景剖析容器网络数据链路]第三部分,主要介绍Kubernetes Terway ENIIP模式下,数据面链路的转转发链路。
1796 7
全景剖析阿里云容器网络数据链路(三)—— Terway ENIIP

热门文章

最新文章