AI 资源库 · 已整理 1 项

ResourceGraphDefinition

查看与ResourceGraphDefinition相关的 AI 资讯、工具、Skill、工作流和开源项目。

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

很多平台团队每年都会自己写 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跟踪每个字段由谁拥有,避免多方写入冲突
☆ 收藏查看来源 ↗