如何通过Helm --set修改YAML中的多host字段值?
正确的Helm --set参数写法
你的问题出在原写法把route.hosts当成了字符串数组,但实际它是对象数组,每个元素都包含host字段。模板渲染时试图访问元素的host属性,而字符串没有该属性,因此报错。
以下是几种正确的写法:
1. 替换整个hosts数组
如果你想完全替换原有的两个host对象,可以用两种方式:
- 索引指定每个对象的host值:
--set route.hosts[0].host=abc.xyz2.com,route.hosts[1].host=abc.xyz1.com
- 用数组+对象的语法直接定义:
--set 'route.hosts=[{host: abc.xyz2.com}, {host: abc.xyz1.com}]'
2. 修改单个host值
如果只需要修改其中一个元素(比如把原abc.xyz.com改成abc.xyz2.com),直接通过索引定位修改:
--set route.hosts[1].host=abc.xyz2.com
内容的提问来源于stack exchange,提问作者user2315104
相关产品推荐
相关产品推荐

