直接结论

多个 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 文件