目标
一个错误的 apiVersion 进入集群并在滚动过程中失败,造成部分部署。本配方在 CI 中用 kubeconform 按固定的 Kubernetes 版本校验全部清单,把字段与版本错误在 apply 前报出,并作为必需检查项,同时提醒自定义资源需导出 CRD schema 或忽略,Helm 清单需先渲染再校验。
步骤要点
- 用 kubeconform 按固定版本严格校验全部清单。
- 把校验接入 CI 作为必需检查。
- 对自定义资源导出 CRD schema 或显式忽略。
- Helm 清单先用 helm template 渲染再校验。
kubeconform -kubernetes-version 1.30.0 -strict -summary \
-ignore-missing-schemas ./deploy/**/*.yaml
排错提示
- 自定义资源会被判为未知,需要提供 schema。
- Helm 模板本身不是最终清单,需先渲染。
- schema 校验不等于运行时准入测试。
适用边界
- 不覆盖取值的语义校验。
- 不校验跨资源引用。