← 中文资源

简体中文版本

用 kubeconform 校验 Kubernetes 清单

在 CI 中按目标服务端 schema 校验清单,确保畸形清单在进入集群前就被拦截。

阅读英文原文

目标

一个错误的 apiVersion 进入集群并在滚动过程中失败,造成部分部署。本配方在 CI 中用 kubeconform 按固定的 Kubernetes 版本校验全部清单,把字段与版本错误在 apply 前报出,并作为必需检查项,同时提醒自定义资源需导出 CRD schema 或忽略,Helm 清单需先渲染再校验。

步骤要点

  1. 用 kubeconform 按固定版本严格校验全部清单。
  2. 把校验接入 CI 作为必需检查。
  3. 对自定义资源导出 CRD schema 或显式忽略。
  4. Helm 清单先用 helm template 渲染再校验。
kubeconform -kubernetes-version 1.30.0 -strict -summary \
  -ignore-missing-schemas ./deploy/**/*.yaml

排错提示

  • 自定义资源会被判为未知,需要提供 schema。
  • Helm 模板本身不是最终清单,需先渲染。
  • schema 校验不等于运行时准入测试。

适用边界

  • 不覆盖取值的语义校验。
  • 不校验跨资源引用。