Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Kro威力初显,Kubernetes资源编排的巨大飞跃

Kro威力初显,Kubernetes资源编排的巨大飞跃

作者头像
云云众生s
发布于 2025-03-17 05:13:37
发布于 2025-03-17 05:13:37
3250
举报
文章被收录于专栏:云云众生s云云众生s

云原生新秀kro,由AWS、GCP、Azure联合开源,简化Kubernetes资源编排!通过Simple Schema、CEL表达式和依赖管理,轻松定义CRD,实现IaC。支持ACK、KCC、ASO等云资源配置,将应用、云资源打包为RGD,加速开发、简化MLOps,让Kubernetes成为真正的云平台!

译自:One Mighty kro; One Giant Leap for Kubernetes Resource Orchestration 作者:Christina Andonov; Petro Kashlikov

kro(我们像 Linux 命令行工具一样使用小写字母,发音像鸟类“crow”)扩展了 Kubernetes 核心功能,以简化相互依赖的 Kubernetes 资源的管理。AWS 在 2024 年 11 月的 KubeCon North America 上开源了 kro。

仅仅两个月后,kro 将其字节打包并迁移到了一个供应商中立的家,Google Cloud Platform (GCP) 和 Microsoft Azure 加入了该项目。这种云原生协作使 kro 成为这三大云提供商从一开始就走到一起的第一个开源项目。

为什么选择 kro?

自 1.16 版本以来,Kubernetes 具有可扩展性,当时自定义资源定义 (CRD) 升级为全面可用 (GA)。虽然你可以编写任何自定义控制器(包括像订购披萨这样异想天开的控制器),但团队通常会为实际需求开发控制器:以特定顺序创建 Kubernetes 资源、在资源之间传递值以及执行逻辑操作。从头开始开发此类控制器可能既复杂又耗时,需要对编码和 Kubernetes 内部结构有深入的专业知识。

这就是 kro 的用武之地。kro 通过提供基于配置的框架来简化此过程,从而无需自定义代码。kro 没有让每个组织都构建自己的控制器,而是提供了一种标准化但灵活的方法,可以在整个社区中实现解决方案共享。其直观的设计由 Simple Schema、通用表达式语言 (CEL) 和强大的依赖项管理提供支持,使复杂的资源编排变得易于访问,只需简单的配置即可。

哪些功能使 kro 易于使用?

Simple schema:kro 提供了一种简单且人性化的方式来定义新的 CRD 规范。在底层,kro 使用 Simple Schema 定义自动生成 OpenAPIv3 模式并创建 Kubernetes CRD。这是一个重大改进,因为与 OpenAPIv3 模式相比,Simple Schema 更易于阅读和编写。

基于 CEL 的表达式:kro 结合了 CEL 来定义逻辑操作——Kubernetes 用于 Webhook 的相同表达式语言——因为它具有简单性和安全功能,例如运行时成本预算类型检查。借助 CEL,你可以清晰简洁地表达条件和依赖关系,并将值从一个资源传递到另一个资源。

依赖项管理:kro 根据指定的 CEL 表达式自动为编排的资源构建有向无环图 (DAG)。此 DAG 确定创建和删除资源的确切顺序。

这些功能使 kro 非常直观、易于适应,并且自然适合熟悉 基础设施即代码 (IaC) 工具的人。

kro 如何帮助管理云资源?

kro 适用于 任何 Kubernetes 资源,并且可以安装在 任何 Kubernetes 集群上。kro 专门与 Kubernetes API 交互,这意味着它不直接与任何外部 API 交互。相反,它管理和编排你的集群支持的任何资源。例如,如果安装了 Prometheus Operator,你可以使用 kro 将 Prometheus ServiceMonitor 与你的应用程序打包在一起。

同样,要配置云资源,你的集群必须包含与云提供商 API 通信的工具,例如 AWS Controllers for Kubernetes (ACK)GCP 的 Kubernetes Config Connector (KCC)Azure Service Operator (ASO)。使用 ResourceGroupDefinition (RGD)(用于对相关资源进行分组的核心 kro 概念),你可以将应用程序、它们的云资源依赖项、所需的权限和其他必要的 Kubernetes 自定义资源打包到单个可部署单元中。

kro 工作流程
kro 工作流程

kro 工作流程

kro 可以将 Kubernetes 变成一个集中式云平台

组织经常难以管理多个分散的平台,每个团队都依赖多个不相关的工具来管理基础设施、应用程序和数据库等。将应用程序部署到 Kubernetes 的开发人员必须在多个界面之间切换——一个用于部署到 Kubernetes,另一个用于请求云基础设施资源、配置数据库和配置块存储。同时,平台团队(通常由网络、数据库和基础设施团队组成)各自维护自己的 IaC 管道。

这些管道缺乏一种标准的组合方式;一个管道的输出通常无法无缝集成到另一个管道中。更糟糕的是,它们不容易与用于将插件部署到 Kubernetes 的工具连接,从而造成进一步的低效率。数据平台团队构建他们单独的工具,通常具有重叠的功能,但很少集成。

Kubernetes 的采用已经证明了它作为集中式平台运营支柱的能力。kro 通过提供用于跨开发、平台和数据平台团队标准化资源管理的特定机制,扩展了 Kubernetes 的基础能力。通过其基于配置的自定义 API 定义方法,kro 使组织能够创建标准化的、可重用的组件,从而提供以下好处:

提高开发人员速度: 平台团队可以将应用程序及其云资源依赖项打包到一个可部署的单元中,嵌入组织最佳实践并确保隐式的中心治理。这种抽象降低了复杂性,使开发人员能够专注于交付功能,而不是排除基础设施管道的故障。

改进集群管理: kro 简化了新集群的创建,使您的业务能够扩展到新的区域、按需扩展容量以及为特定工作负载启动隔离的环境。通过将所有必需的 Kubernetes 资源打包到 RGD 中并构建 DAG,kro 确保正确的创建顺序。它还使平台运营商能够在整个集群中应用更改,从而可以轻松地更新组件以满足合规性要求。

简化数据和 MLOps 基础设施管理: 数据平台工程师可以将所有必需的组件打包到 kro RGD 中,包括云资源(如 GPU 节点、网络和存储),以及 Kubernetes 对象(如 StorageClasses、PersistentVolumeClaims、Services 和 Ingress)。这简化了部署过程,使数据科学家可以轻松地运行模型,而无需担心基础设施设置。例如,此 LLM 示例 演示了如何使用 kro 定义和编排所需的基础设施。 借助 kro,Kubernetes 可以成为平台层,从而使应用程序、基础设施和云资源的统一管理方式保持一致。

结论

kro 的发布标志着云原生计算的一个里程碑,它联合了 AWS、GCP 和 Azure,以解决 Kubernetes 资源管理问题。这种合作关系为跨云标准化奠定了基础,使整个生态系统受益。

加入这个变革之旅:在您的开发环境中探索 kro,与我们的 GitHub 社区联系,并通过 issue 或 pull request 做出贡献。无论是构建平台、应用程序还是管理数据和机器学习运营,您的贡献都可以塑造 Kubernetes 资源编排的未来,并推进可访问、标准化和高效的 云原生开发

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-03-162,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用Kro和Kubernetes编排云原生工作负载
在此了解 Kubernetes 资源编排器:我们为 WordPress 定义了一个资源图定义,并通过将其创建为 Kro 应用程序来部署多个实例。
云云众生s
2025/03/02
1560
使用Kro和Kubernetes编排云原生工作负载
从Kubernetes和云中汲取的教训理应引导AI革命
人工智能技术堆栈中的错误配置会导致数据摄取管理不善、模型训练效率低下和安全漏洞不足。解决这些挑战需要不重复我们从云和 Kubernetes 经验中吸取的教训。
云云众生s
2024/05/26
1240
从Kubernetes和云中汲取的教训理应引导AI革命
云计算的下一个飞跃:容器编排与Kubernetes最新趋势解析
云计算已经成为现代应用程序开发和部署的主要方式。容器技术和容器编排平台,特别是Kubernetes,已经崭露头角,成为云计算领域的关键技术。本文将深入探讨容器编排和Kubernetes的最新趋势,以及它们如何推动云计算迈向新的高度。
IT_陈寒
2023/12/13
4050
云计算的下一个飞跃:容器编排与Kubernetes最新趋势解析
Cycle.io:认识致力于取代Kubernetes的团队
Kubernetes是由谷歌设计的,用于运营其庞大的业务属性,而我们中的许多人不需要那种规模。
云云众生s
2024/03/28
1340
剑指 Kubernetes!微软发布开源平台 Radius:高效构建、运行云原生应用程序
Kubernetes 最大的缺点就在于它预先加载了大量复杂性要素。复杂性本身有其合理性,但也意味着很多东西需要预先学习。
深度学习与Python
2023/10/24
5540
剑指 Kubernetes!微软发布开源平台 Radius:高效构建、运行云原生应用程序
使用 Kubernetes 精简平台架构工程
平台架构工程涉及创建一个环境,使开发人员可以专注于构建应用程序。Kubernetes 可以提供帮助。
云云众生s
2024/03/28
1350
KubeCon欧洲大会上值得关注的工具和讲座
KubeCon 欧洲站亮点抢先看!聚焦 Chainguard 的 Distroless 镜像、Crossplane 的多云管理、Kubescape 的安全扫描、vCluster 的集群隔离和 Devtron 的 DevOps 提速。更有 AI 议题: Kubernetes 中 AI 和 GPU 基准测试、Ollama 容器运行时。安全方面关注开源恶意软件,可观测性方面关注 eBPF 和 OpenTelemetry!
云云众生s
2025/03/18
840
Reddit不再受漂移的Kubernetes配置困扰
三年前,Reddit的基础设施工程师团队大部分时间都在忙于灭火。以下是他们如何开发平台抽象来简化操作并重新掌控局面的。
云云众生s
2025/01/11
1210
Reddit不再受漂移的Kubernetes配置困扰
云vs本地:哪个更适合您的Kubernetes集群?
了解 Kubernetes 托管选项的优势和挑战,以便做出明智的决策,选择适合您的环境。
云云众生s
2025/02/03
1120
Kubernetes架构师的10条技巧:献给K8s十周年
本次访谈中,CNCF 生态系统负责人 Taylor Dolezal 为架构师提供了十条关于如何驾驭 Kubernetes 及其生态系统的建议。
云云众生s
2024/12/24
1000
Kubernetes架构师的10条技巧:献给K8s十周年
Kubernetes正在接管:使用4种新技术更智能地部署
使用基于角色的访问控制 (RBAC) 和自定义资源定义 (CRD) 来确保集群安全。
云云众生s
2024/12/28
1670
平台工程:从 Kubernetes API 学习
不要左移而要下移。为开发者简化困难的事情。从 Kubernetes 的流行及其 API 学习。
云云众生s
2024/03/28
1790
Crossplane - 比 Terraform 更先进的云基础架构管理平台?
在 11 月的 KCD 上海现场,听了一场阿里云的工程师关于他们自己的多云基础架构管理工具的介绍,前边的引言部分有介绍到 Terraform,还有另一款竞品就是 Crossplane,而且表示 Crossplane 在通用性 API 等方面做得比 Terraform 更好,阿里云的也参考了其架构和实现。就让我很感兴趣,同时在 2019 年使用 OpenShift 4 的时候也在其 OperatorHub 里有发现 Crossplane,当时觉得其 Logo 很有辨识度便一直有印象。所以这次抽了个周末专门体验了一下,看它是否当得起这个标题。开始~
东风微鸣
2022/04/22
4.4K0
Crossplane - 比 Terraform 更先进的云基础架构管理平台?
关于如何正确使用Kubernetes的5个技巧
为了有效地使用云计算,您必须使用Kubernetes来协调您的工作负载。以下是正确执行此操作的5个提示。
February
2018/12/06
1.3K0
Pulumi使用原生工具集中管理Kubernetes
基础设施即代码 (IaC) 平台现已提供 Kubernetes 原生部署代理,以提高安全性和可扩展性。
云云众生s
2024/11/19
1730
基于Kubernetes优先的方法扩展数据平台
Kubernetes 运算符——管理有状态应用程序的特定于应用程序的控制器——可以使数据库管理成为一种可行甚至更优的选择。
云云众生s
2024/12/14
1400
构建内部开发者平台:四大支柱
基于这些原则设计的 IDP 简化了平台团队的操作,并使开发人员能够更快、更安全地移动。
云云众生s
2024/10/09
1690
Kubernetes GitOps 工具
在我看来,Kubernetes的优势主要在于它的声明式性质与控制循环相结合,并通过这些控制循环持续监控集群的活动状态,确保它与etcd中存储的期望状态保持一致。这种方式非常强大,但同时其数据库也被限制为etcd(etcd仅提供了有限的可观察性),并影响到了集群变更时的责任性和审计性。另外一个缺点是将etcd和代码仓库作为两个SOT(sources of truth),有可能会导致配置漂移,造成管理上的困难。
charlieroro
2022/05/09
1.2K0
Kubernetes GitOps 工具
超越编排:IaC策略的全面方法
为了真正发挥 IaC 的力量,组织需要超越工具选择和编排,关注一些至关重要的但经常被忽视的方面。
云云众生s
2024/08/23
2320
超越编排:IaC策略的全面方法
工程师分享 | Pinterest如何构建Kubernetes平台
Lida Li, June Liu, Rodrigo Menezes, Suli Xu, Harry Zhang, Roberto Rodriguez Alcala | Pinterest 软件工程师,云管理平台
CNCF
2019/12/04
7460
推荐阅读
相关推荐
使用Kro和Kubernetes编排云原生工作负载
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档