Agent Skills
返回列表
🔒

KUTTL 声明式 Kubernetes 测试套件

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/run-declarative-kubernetes-test-suites-against-clusters-before-operator-or-manifest-changes-merge-with-kuttl。

技能介绍

要解决的问题

Operator 或清单改完就顺手点 Merge,等部署到环境里才发现状态没收敛、端口没监听、配置没生效——这是 Kubernetes 变更里很典型的翻车路径。临时敲 kubectl get 手动核对一遍,结果既不可复现,也很难固化进流程;而单元测试覆盖不到真实的 apiserver、控制器循环和网络行为。

技能如何工作

这个技能把验证过程整理成声明式流程:

  • 用 YAML 描述测试:测试步骤与断言写成声明式测试文件,而不是随手敲的命令行。
  • 对真实集群执行:借助 KUTTL CLI(即 kubectl-kuttl 插件),把测试打到真实集群上,而不是依赖 mock。
  • 合并前拦截:在 Operator 或清单变更合并之前跑完这套测试,让回归在入口阶段就暴露。

典型用法是:先准备好被测的清单或 Operator,再编写测试步骤 YAML,然后在测试集群上执行,由 KUTTL 按声明逐条校验。

适用边界

  • 需要可用的 Kubernetes 测试集群,本地没有集群就跑不起来。
  • 需要被测的 清单或 Operator 本身 已经就位。
  • KUTTL 最初在 KUDO 项目下构建,具体用法以入门文档为准。
  • 测试可信度取决于断言写得是否严格,声明宽松只会得到「看起来绿了」。

使用场景

  • 修改了Kubernetes Operator的控制逻辑后,在合并代码到主分支前,编写YAML测试验证真实集群中的状态和端口。
  • 更新了服务的Kubernetes清单配置后,需要确保变更能在真实集群正常生效且不引发回归,通过声明式测试提前拦截。
  • 为新的Operator添加CI流水线时,需要一种可重复执行的集群测试方法,代替手动命令来验证资源最终状态。

适合人员

  • Kubernetes Operator开发者,需要在合并控制器代码前,确认变更在真实集群中的行为符合预期。
  • 平台工程团队成员,负责维护基础架构清单,希望通过自动化声明式测试拦截配置变更引发的回归。
  • SRE工程师,管理生产级Kubernetes集群,寻找可复现的验证手段代替手动命令来保障部署质量。