目标
生产覆盖悄悄遮蔽了基础设置,发布带了意料之外的副本数。本配方按真实顺序传入多个 values 文件与 –set 渲染模板,检查关键键的有效值,验证「后者覆盖前者、–set 最终生效」的优先级,同时提醒数组会被整体替换而非合并,从而在发布前消除歧义。
步骤要点
- 按真实顺序传入多个 values 文件渲染。
- 只渲染关键模板并检查副本数等关键键。
- 把共享默认值放在基础文件里以避免错位。
- 在 CI 中保存渲染结果用于审查。
helm template app ./chart \
-f values.yaml -f values.staging.yaml \
--set image.tag=1.2.3 > rendered.yaml
排错提示
- –set 总是最高优先级,需注意顺序。
- 列表会被整体替换而非合并。
- helm template 不测试集群准入。
适用边界
- 优先级按位置决定,容易误读。
- 不覆盖 secrets 模板错误。