云计算巨头合作开发全新 Kubernetes 资源管理工具

360影视 国产动漫 2025-03-11 21:46 2

摘要:谷歌云、亚马逊云科技和微软 Azure 联合宣布了一个新的开源项目 Kube Resource Orchestrator(kro,读作 “crow”)。该项目试图对 Kubernetes 资源的分组和部署方式进行标准化,使平台团队可以更轻松地部署工作负载。

作者 | Matt Saunders

译者 | 平川

策划 | Tina

谷歌云、亚马逊云科技和微软 Azure 联合宣布了一个新的开源项目 Kube Resource Orchestrator(kro,读作 “crow”)。该项目试图对 Kubernetes 资源的分组和部署方式进行标准化,使平台团队可以更轻松地部署工作负载。

该文指出,Kubernetes 没有提供一种可供平台团队使用的原生方法,让他们能够创建自定义资源组供开发团队使用,许多组织都是使用 Helm 或 Kustomize 等客户端模板工具,或构建自己的自定义 Kubernetes 控制器。事实证明,这些方法往往维护成本高昂,非专业人员难以有效使用。

有了 kro,你就可以将应用程序及其依赖项组合成单个资源,方便终端用户使用。

—— Abdelfettah Sghiouar 和 Nic Slattery

Kro 的核心创新是引入了 自定义资源 ResourceGraphDefinition 。Kro 将 Kubernetes 部署及其依赖项都封装到了单个 API 中,支持自定义终端用户界面,仅暴露供非平台工程师使用的参数。这种屏蔽隐藏了 Kubernetes 和云提供商 API 端点的复杂性,那在部署上下文中并没有用处。

该文大致介绍了两个真实的 kro 应用案例。在第一个场景中,平台工程师使用 kro 为组织成员提供自助服务访问权限,使他们可以创建 Google Kubernetes 引擎(GKE)集群,并且预先配置好了管理工作负载、策略和安全设置。第二个示例演示了 DevOps 工程师如何为 Web 应用程序创建可重复使用的定义,封装从部署和服务到监控代理和云存储的所有必要的资源。

对于当前云提供商提供的那些用于管理云资源的 Kubernetes 扩展,Kro 可与它们无缝集成。其中包括:AWS Kubernetes 控制器(ACK)、Google 配置连接器(KCC)和 Azure 服务操作员(ASO)。

Kro 可实现标准化、可重用的服务模板,促进不同项目和环境间的一致性,而且完全是 Kubernetes 原生的 。Kro 仍处于早期开发阶段。文中写道:“作为一个尚处于早期阶段的项目,kro 还不能用于生产,但我们仍然鼓励你在自己的 Kubernetes 开发环境中进行测试。”

在 AKS 工程博客上,Bridget Kromhout 和 Matthew Christopher 发表了一篇 文章,从微软的角度简要介绍了 kro 项目。对于这个旨在简化资源管理的 Kubernetes 原生工具,该文强调了微软 Azure 与 亚马逊云科技以及谷歌云三方的合作。Kromhout 和 Christopher 还提供了特定于 Azure 的实施案例,并强调了社区参与的机会。

我们以客户和云原生社区的需求为中心,提供一个无论你在哪里运行 K8s 集群都能有效使用的工具。

—— Matthew Christopher 和 Bridget KromhoutKro

网站上提供的演练教程深入浅出地解释了 kro 的工作原理,说明了 kro 如何创建 ResourceGraphDefinition 。它首先生成一个有向无环图(DAG),用于理解定义的依赖关系、验证它们并确定正确的部署顺序。然后,它会在 Kubernetes 集群中为该资源新建一个自定义资源定义(CRD)。

社区中有些评论认为,kro 有能力增强或取代其他成熟的工具,如 Crossplane(一个开源的 CNCF 项目,可让用户使用 Kubernetes 协调云资源)和 Helm(用于定义、安装和升级 Kubernetes 应用程序的软件包管理器)。

在 DevOps Toolkit 频道的一个 YouTube 视频中,Viktor Farcic 讨论了 kro 的发布。他还探讨了 kro 对 Crossplane 的影响。最初,Farcic 对 kro 简化云资源组合的潜力感到兴奋,并成功创建了一个简单的应用定义,生成了正确的 Kubernetes 资源。但是,Farcic 发现,对于比较复杂的场景,如涉及有条件资源创建和数据库集成,就会产生许多问题,像缺失默认值和所有者引用,以及资源组的更改无法正确地传播到现有资源。

他还指出,将 YAML 用于命令式结构并不理想,在一种并非为其设计的格式中添加更多的逻辑可能会导致 “恶果”。对于 Crossplane 社区来说,最重要的是,Farcic 对其用途提出了质疑,因为 kro 与现有工具的功能存在重叠。他指出,“kro 的功能与不久前创建的其他工具差不多,没有任何令人信服的改进。”虽然 kro 似乎语法更简单,模板更少,但他说,它目前只提供了 Crossplane 的一小部分功能,还不是一个可行的替代品,尤其是 Crossplane 支持多种语言。

在一篇题为 “Helm 杀手终于出现了吗?”的博文中,来自 Parity 公司的 Wilson Spearman 指出,Helm 的架构在管理依赖关系、处理 CRD 升级和管理生命周期等方面存在着根本性的限制,而 kro 的成功之处在于其语法更人性化、更易读。Spearman 最后预测,Helm 将继续为开源软件和小型组织提供服务,而 kro 则将在大型企业中占据主导地位。

Kro 项目已发布在 GitHub 上,由谷歌、亚马逊云科技和微软团队共同拥有,并欢迎社区为其开发做出贡献。项目网站上有全面的文档和示例。

原文链接:

声明:本文为 InfoQ 翻译,未经许可禁止转载。

今日好文推荐

Manus 再掀技术风暴,引领自主智能体新纪元?独家知识库限时开放 | 极客时间

代码界的“瘟疫”?卡帕西“Vibe Coding”兴起,YC披露:1/4新创公司,95%代码全由AI生成

OpenAI 又贵又“黑”,微软对供应商亮起“红灯”:曝出自研大模型,DeepSeek 或成救星?

被骂惨的“现象级”Manus,今天我们来扒一扒它的真实水平!

来源:极客邦科技

相关推荐