云巨头合作推出新型Kubernetes资源管理工具

Google Cloud、AWS 和 Microsoft Azure 联合推出开源项目 Kube Resource Orchestrator (kro)

主要观点

  • 项目背景:Google Cloud、AWS 和 Microsoft Azure 联合宣布了一个名为 Kube Resource Orchestrator (kro) 的开源项目,旨在标准化 Kubernetes 资源的组合和部署方式,简化平台团队的工作负载部署。
  • 问题背景:Kubernetes 缺乏原生方法让平台团队创建自定义资源组,许多组织依赖 Helm、Kustomize 等客户端模板工具或自定义控制器,但这些方法维护成本高且对非专业人员不友好。

核心创新

  • ResourceGraphDefinition:kro 引入了 ResourceGraphDefinition 自定义资源,将 Kubernetes 部署及其依赖封装为单一 API,屏蔽了不必要的复杂 API 端点,为非平台工程师提供了更简单的用户界面。
  • 兼容性:kro 与现有的云服务提供商的 Kubernetes 扩展无缝集成,包括 AWS Controllers for Kubernetes (ACK)、Google Config Connector (KCC) 和 Azure Service Operator (ASO)。

应用场景

  1. 平台工程师场景:平台工程师使用 kro 为组织成员提供自助服务,创建预配置的 Google Kubernetes Engine (GKE) 集群。
  2. DevOps 工程师场景:DevOps 工程师创建可复用的 Web 应用定义,封装从部署到监控和云存储的所有必要资源。

项目现状

  • 早期阶段:kro 目前处于早期开发阶段,尚未适合生产环境,但鼓励用户在开发环境中测试。
  • 社区参与:项目由 Google、AWS 和 Microsoft 共同维护,社区可通过 GitHub 参与开发。

社区评论

  • 与 Crossplane 的比较:社区对 kro 是否能替代 Crossplane 提出了疑问。尽管 kro 提供了更简单的语法,但其功能目前仅为 Crossplane 的一部分,且在处理复杂场景时存在问题。
  • 与 Helm 的比较:有人认为 kro 的语法更友好,可能在企业中取代 Helm,但 Helm 在开源和小型组织中仍将继续使用。

技术细节

  • 工作原理:kro 通过生成有向无环图 (DAG) 来理解资源依赖关系,验证并确定正确的部署顺序,然后在 Kubernetes 集群中创建新的 CustomResourceDefinition (CRD)。
  • 文档与示例:项目网站提供了全面的文档和示例用例。

总结

kro 是一个旨在简化 Kubernetes 资源管理的开源项目,尽管目前功能有限,但其标准化和简化资源部署的潜力使其备受关注。未来,它可能在企业中逐步取代 Helm 等工具,但全面替代 Crossplane 的能力仍待验证。

阅读 11 (UV 11)
0 条评论