Helm Values属性中的传递数组 [英] pass array in Helm values property
本文介绍了Helm Values属性中的传递数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想将数组作为属性传递到Helm的YAML(值文件)中。我尝试的内容:
尝试。
elasticsearch: uri: "["127.0.0.1:9200","127.0.0.2:9200"]"
错误:
ReadString:预期为"或n,但发现[,在的#10字节中发现错误 ...|rch_URL":["127.0.0.1|...,更大的上下文 ...|{"apiVersion":"v1","data":{"弹性_搜索_URL":["127.0.0.1:9200","127.0.0.2:9200"],"Logs_ENV_PREFI|...
尝试。根据official helm site如何传递数组
elasticsearch: --set uri={127.0.0.1:9200,127.0.0.2:9200}
出现错误:
将YAML转换为JSON:YAML:第15行时出错:映射值不是 在此上下文中允许
尝试。
elasticsearch: uri: - 127.0.0.1:9200 - 127.0.0.2:9200
失败,异常与%1相同。
编辑: 实际上,在我的例子中,当时YAML文件中没有使用helm值,所以我需要另一种格式,最后的解决方案是将uri作为带单引号的字符串传递:
elasticsearch:
uri: '["127.0.0.1:9200","127.0.0.2:9200"]'
尽管如此,@Marcin的回答是正确的。
推荐答案
您可以使用传统的json方式传递一个值数组:
elasticsearch:
uri: ["127.0.0.1:9200", "127.0.0.2:9200"]
或YAML推出的方式:
elasticsearch:
uri:
- 127.0.0.1:9200
- 127.0.0.2:9200
然后可以使用range
:
Uris:{{- range .Values.elasticsearch.uri }}
{{.}}{{- end }}
解析为:
Uris:
127.0.0.1:9200
127.0.0.2:9200
这篇关于Helm Values属性中的传递数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文