【发布时间】:2020-01-21 12:51:29
【问题描述】:
我想在 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":{"ELASTIC_SEARCH_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 的回答是正确的。
【问题讨论】:
-
Helm 将值从 values.yaml 渲染到 config.yaml:values.yaml:站点:-dataprovider:abcd -dataprovider:xyzx config.yaml:站点:{{ toYaml .Values.sites |缩进 10 }}
标签: kubernetes kubernetes-helm