You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Helm --set命令设置无引号的数组键值对?

解决Helm --set配置数组内嵌套键值对的无引号问题

你之前的写法错误地把整个ip: 10.0.40.83当成了数组的单个字符串元素,导致生成带引号的配置。要实现和原values.yaml一致的对象结构,需要直接指定数组元素的嵌套键:

正确的--set命令

使用点语法直接定位到数组元素的ip键:

helm install <release-name> <chart-name> --set sftp.ipAddresses[0].ip=10.0.40.83

执行后生成的配置会和原values.yaml完全一致:

sftp:
  ipAddresses:
    - ip: 10.0.40.83

为什么之前的写法不行?

你之前的--set 'sftp.ipAddresses[0]'=ip:\ 10.0.40.83是把数组的第一个元素赋值为字符串ip: 10.0.40.83,Helm会自动给字符串添加引号以避免解析问题。而正确的写法是告诉Helm,数组元素是一个对象,要设置这个对象的ip属性值。

补充:多元素数组的写法

如果需要配置多个IP地址,可以继续追加数组索引:

helm install <release-name> <chart-name> \
  --set sftp.ipAddresses[0].ip=10.0.40.83 \
  --set sftp.ipAddresses[1].ip=10.0.40.84

备选方案:使用--set-json(Helm 3.9+支持)

如果习惯JSON语法,也可以用--set-json直接传入对象数组:

helm install <release-name> <chart-name> --set-json 'sftp.ipAddresses=[{"ip": "10.0.40.83"}]'

这样生成的配置同样符合要求,且不会出现引号问题。

内容的提问来源于stack exchange,提问作者TodayGuessWhat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 21:42:36