直接结论
多个 values 来源用不同类型定义了同一个键,应在默认值和覆盖文件中保持结构一致。
错误出现在哪里
Helm values 合并
根本原因
Chart 默认值可能把键定义为对象,而环境文件或 --set 又把它替换成标量。
最小复现
# chart values.yaml
service:
port: 8080
# override.yaml
service: disabled修正示例
# override.yaml
service:
enabled: false
port: 8080验证修复
使用全部实际覆盖文件执行 helm template --debug。还需要检查
- 比较每个 -f 文件中的同名键。
- 后传入的 values 文件优先级更高。
权威参考
版本相关行为请参考 Helm values 文件。