← 返回列表

Kubernetes 平台为何反复重建本可共享的编排层

The New Stack原文发布 2026-10-29 21:00首次收录 2026-10-30上架 2026-10-30 07:13

☆ 收藏查看原文 ↗

这件事讲了什么

很多平台团队每年都会自己写 Kubernetes 控制器,用来自动创建 Deployment、Service、ConfigMap 之类的一堆对象,并在它们之间传递字段。Kubernetes 本身已经提供了 CRD、控制器、Server-side apply、CEL、OpenAPI 这些零件,却没有说明“几个资源算一个整体、谁先谁后、某个值要从另一个资源的状态里取”的说明书,所以 Helm、Argo CD、Crossplane、Operator 等每个工具都各自补这一块,成千上万的组织在重复造同一个轮子。kro(Kube Resource Orchestrator)把这段“接线”写成数据,叫 ResourceGraphDefinition:由 CEL 表达式里的引用来推断依赖顺序,并在实例创建前做类型检查,一个控制器就能解释所有定义,应用团队照样用 kubectl、RBAC 和 GitOps。它还在 2025 年 9 月进入 Kubernetes SIG Cloud Provider,定位成别人可以搭建的底层原语;0.10 版本新增的 Graph 只保留组合部分、不需要 CRD 和实例,适合“给打了标签的 Service 自动生成 Ingress”这类一次性场景。读者可以少写一堆粘合控制器,但要意识到 API 一旦发布就是承诺,成本从“写”变成“长期维护”。

可以使用的工具

文中可用工具

  • Kubernetes容器编排平台,提供 CRD、控制器、RBAC 等基础能力
  • Kubebuilder帮助开发者快速搭建 Kubernetes 控制器的框架
  • Helm在渲染阶段管理一组资源,Helm 4 增加了服务端应用和等待资源状态
  • Argo CDGitOps 工具,用同步波次、钩子和健康检查补足清单里缺失的顺序与就绪信息
  • Crossplane用组合和函数管理资源,v2 可直接组合原生 Kubernetes 资源
  • kro(Kube Resource Orchestrator)把资源接线写成数据,由单个控制器解释,0.10 的 Graph 用于无需对外 API 的场景
  • CEL在集群内求值的表达式语言,kro 用它表达资源间引用并推断依赖顺序
  • OpenAPI为字段提供类型定义,kro 在实例创建前据此做类型检查
  • Server-side apply跟踪每个字段由谁拥有,避免多方写入冲突
这是基于来源内容整理的摘要。原文链接失效后,本页摘要和讨论仍会保留。

讨论 0

登录后参与讨论,阅读资讯无需注册。

还没有评论,来分享第一个看法。