首页/开发/CI/CD 与发布速查/配置相关的测试
环境与配置管理60 条

配置相关的测试

为「配置正确性」建立测试:渲染校验、启动自检、生产同构的集成冒烟,把配置错误挡在发布前。

CI/CD 与发布速查开发更新于 2026-10-13

配置测试测什么

为「配置正确性」建立测试:渲染校验、启动自检、生产同构的集成冒烟,把配置错误挡在发布前。配置错误的特点是「测试全绿但部署就挂」——单测覆盖不到,必须在流水线里专门建三层验证。配置测试要和配置代码放在同一仓库、同一评审流程里。

基本信息

渲染层helm template / kustomize build 输出后跑 kubeconform 与策略检查
启动层应用启动即校验配置(必填/范围/连通性),失败快速退出
集成层用生产同构模板跑冒烟用例(登录、核心路径、依赖连通)
负向用例缺键、超范围、不可达依赖时的报错与退出码
归属配置测试与被测配置同仓库评审

典型使用场景

  • 渲染校验:模板与字段问题在 CI 拦住
  • 启动自检:部署即验证必填与连通性
  • 集成冒烟:真实路径走一遍
  • 配置变更回归:改 values 即触发相关用例
  • 新环境上线:先跑一遍同构校验再切流量
  • 事故复盘:把犯过的配置错误补成用例

流水线组合

流水线组合
helm template app ./chart -f values-prod.yaml | kubeconform -strict -summary
./app --config-check   # 应用自带的自检模式
# 负向用例:故意缺键、超范围,确认报错清晰且退出码非零

三层验证对照

层做法拦截的问题
渲染层渲染 + kubeconform/策略检查模板与字段错误
启动层自检模式必填、范围、连通性
集成层冒烟用例拼装后的真实行为
配置的「错误分支」也要测:缺键、超范围、不可达依赖时的报错是否清晰。
退出码约定:自检失败必须非零退出,流水线才能拦得住。
测试与配置同源:用例引用同一份模板与默认值,避免两套真相。
配置测试也要能本地跑:开发者一条命令可以复现,才不会全靠 CI 排队等待。

易错点

  • 只测正常配置:异常配置上线才爆,补负向用例
  • 启动自检依赖外部服务在线:区分「配置格式错误」与「依赖暂时不可达」的判定
  • 只测模板不测值文件:values 笔误照样上线,把各环境 values 纳入校验
  • 冒烟用例覆盖太浅:只测首页,核心链路照样带病上线,用例按业务路径编排
  • 自检只在启动时跑:运行中配置漂移无人发现,配合配置巡检补位

数据来源与参考

  • Google SRE Workbook(发布验证)
  • kubeconform 文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌