如何通过Helm参数传入对象数组类型的配置值?
解决Helm参数覆盖数组配置的问题
针对你要覆盖extraEmptyDirMounts这个数组配置的场景,有两种实用的方法:
方法一:逐个设置数组元素(适合元素较少的情况)
利用Helm的--set风格下标语法,把数组里每个对象的字段拆分成单独的参数:
spec: source: helm: parameters: - name: extraEmptyDirMounts[0].name value: provisioning-notifiers - name: extraEmptyDirMounts[0].mountPath value: /etc/grafana/provisioning/notifiers
如果需要添加多个挂载,继续追加下标对应的参数即可,比如extraEmptyDirMounts[1].name、extraEmptyDirMounts[1].mountPath。
方法二:传入JSON格式字符串(适合复杂数组)
把整个数组序列化成JSON字符串作为value传入,Helm会自动将其解析为YAML结构:
spec: source: helm: parameters: - name: extraEmptyDirMounts value: '[{"name": "provisioning-notifiers", "mountPath": "/etc/grafana/provisioning/notifiers"}]'
注意必须用单引号把JSON字符串包裹起来,避免YAML解析时出现语法错误。如果要添加多个挂载,直接在JSON数组里追加对象即可。
内容的提问来源于stack exchange,提问作者SledgeHammer
相关产品推荐
相关产品推荐

