使用helm
安装可以在安装图表时设置值,如:
helm install --set favoriteDrink=slurm ./mychart
现在想设置如下值:
helm install --set aws.subnets="subnet-123456, subnet-654321" ./mychart
但失败了:
Error: failed parsing --set data: key " subnet-654321" has no value
似乎helm
' s --set
知道逗号,
并检查下一个字符串作为键。那么在设置这样的字符串时不能使用吗?
helm install charts/mychart \
--set aws.subnets={subnet-123456,subnet-654321}
收到错误:
Error: This command needs 1 argument: chart name
helm install charts/mychart \
--set aws.subnets="subnet-123456\,subnet-654321"
答案 0 :(得分:5)
根据https://github.com/kubernetes/helm/issues/1987#issuecomment-280497496,您可以使用花括号设置多个值,例如:
--set foo={a,b,c}
所以,在你的情况下,它就像这样
--set aws.subnets={subnet-123456,subnet-654321}
答案 1 :(得分:1)
CLI格式和限制可能会有所不同,具体取决于在YAML版本中所期望的内容。例如,如果YAML清单要求fields
填充值列表,则YAML如下所示:
field:
- value1
- value2
- value3
这将像这样在掌舵CLI中表达
--set field[0]=value1 --set field[1]=value2 --set field[2]=value3
文档还涉及--set field={value1,value2,value3}
的工作。在某些情况下会导致Error: This command needs 1 argument: chart name
,这就是我提供上述建议的原因
per the documentation可能使用的字符也有限制:
您可以使用反斜杠来转义字符;
--set name="value1\,value2"
将变为:name: "value1,value2"
答案 2 :(得分:0)
关于此评论How to set multiple values with helm?,我使用了引号,并且有效:
React-Select
答案 3 :(得分:0)
通过合并this更改,Helm现在支持将多个--set
命令与helm install
命令一起使用。
经过手动测试,看起来很棒!
⇒ helm install --dry-run --debug docs/examples/alpine \
--set foo=bar \
--set bar=baz,baz=lurman \
--set foo=banana
SERVER: "local4host:44134"
CHART PATH: /Users/mattbutcher/Code/Go/src/k8s.io/helm/docs/examples/alpine
NAME: masked-monkey
REVISION: 1
RELEASED: Thu Jan 12 17:09:07 2017
CHART: alpine-0.1.0
USER-SUPPLIED VALUES:
bar: baz
baz: lurman
foo: banana
COMPUTED VALUES:
Name: my-alpine
bar: baz
baz: lurman
foo: banana
...
按预期,最后一个--set将取代第一个-
P.S:如果您不喜欢Helm,请升级您的Helm版本。 Helm-v3.0.1 对我来说非常合适。