SuperAPI AI 工具集

k8s-yaml-generator

设计与创作

查看项目

更新于 10-15 17:27

技能介绍

用途:k8s-yaml-generator 用于在用户要求创建或更新 Kubernetes YAML 时生成清单,例如 Deployment + Service、Argo CD Application CRD、带 PVC 模板的 StatefulSet,或遵循最佳实践的生产级 YAML。仅做校验的请求不适用,应使用 k8s-yaml-validator。

主要能力与执行方式:采用确定性步骤——预检请求与路径/渲染合理性;采集最小必要输入;在涉及 CRD/自定义 API 时做有界查证;按基线质量规则生成 YAML;对完整清单执行强制验证;交付 YAML、明确验证报告与假设。若某步受环境限制阻塞,则执行该步的回退方案并继续。

输入与默认值:需采集资源类型、apiVersion + kind、命名空间/作用域、端口、副本、镜像、探针、存储及 secret/config 需求、环境假设;CRD 还需项目名与目标版本。安全默认值(需在输出中说明):Namespace 为 default、Deployment 副本为 2、Service 类型为 ClusterIP、镜像拉取策略为 IfNotPresent。若缺少核心输入(资源类型、Pod 类资源的镜像、CRD 的 kind/apiVersion),会先询问。

CRD 查证:仅对自定义 API 执行,先识别 API 组/版本/kind 与产品版本;优先使用 Context7 的 mcp__context7__resolve-library-id 与 mcp__context7__query-docs,失败后按顺序回退到官方文档网页搜索、集群内省(如 kubectl explain)。设有预算:resolve-library-id 最多 2 次,query-docs 最多 3 次,网页回退最多 2 次版本相关搜索;预算耗尽时只生成已核实字段,其余标记 Needs confirmation,并报告残余风险。

生成规则:使用明确且未弃用的 API 版本;跨相关资源保持一致的 app.kubernetes.io/* 标签;为命名空间级资源写明 namespace;为 Pod 工作负载添加资源 requests/limits(除非用户明确不要);为长运行服务添加就绪/存活探针;默认用 securityContext 避免 root 运行;多资源顺序保持依赖安全(如 ConfigMap 先于消费者 Deployment)。

验证与限制:完整清单必须验证,优先调用 k8s-yaml-validator,修复并重新验证直至无阻塞问题;每次验证需报告验证模式、语法、schema、CRD 检查、dry-run 及剩余阻塞项。验证器不可用时回退到 yamllint、kubeconform 与 kubectl dry-run 命令,工具部分不可用则运行可用检查并记录跳过项与残余风险;最多 3 轮修复/重验证,仍失败则返回当前 YAML、具体错误与最小所需用户决定。仅片段或文档类请求可跳过完整验证,但必须注明 Validation status: Skipped(原因)。交付契约要求包含生成的 YAML、资源清单与作用域、验证报告、假设与默认值、参考来源、跳过/缺失项及影响,以及建议的 kubectl 命令。