SuperAPI AI 工具集

kro-rgd-pulumi

通用与其它

查看项目

更新于 10-16 08:11

技能介绍

用途:该技能面向需要用 Pulumi TypeScript 编写 KRO(Kube Resource Orchestrator)ResourceGraphDefinition(RGD)的场景,帮助定义自定义 Kubernetes API、把多个 K8s 资源组合为单一声明式单元,并通过 ACK 集成 AWS 资源(如 S3、RDS、DynamoDB 等),构建面向开发者的平台抽象与可复用应用模板。

主要能力:生成包含 schema(apiVersion、kind、spec、status、validation)、resources 模板、readyWhen 就绪条件与 includeWhen 条件包含的 RGD;使用 CEL 表达式引用 schema 字段与其他资源状态,支持三元、字符串拼接、空值合并、列表操作与类型转换;支持 ACK 资源及其状态字段(如 ARN、endpoint、queueURL);输出 Pulumi TypeScript 代码、示例实例 YAML、部署与测试命令。

使用方式:需先准备 Kubernetes 1.25+ 集群、安装 KRO(helm install kro oci://ghcr.io/kubernetes-sigs/kro/charts/kro --namespace kro-system --create-namespace)、按需安装 ACK 控制器,并具备 Pulumi CLI 与 Node.js;随后用 pulumi new kubernetes-typescript 创建项目,安装 @pulumi/kubernetes 与 @pulumi/pulumi,编写 RGD 后执行 pulumi up,并用 kubectl get resourcegraphdefinition、kubectl get crd | grep kro 等命令验证。

适用场景:平台工程与开发者自助服务、Web 应用栈、数据库应用、微服务组合、多环境应用等模板化编排。

限制:资料显示 KRO 处于 v1alpha1(Alpha),尚未生产就绪,可能发生破坏性变更,要求 Kubernetes 1.25+,最新版本为 v0.7.1(2025 年 12 月),建议先在开发/测试环境使用,等待 v1beta1 后再用于生产。