Bar*_*tek 9 kubernetes kubernetes-helm
我想在 Helm 的 yaml(值文件)中将数组作为属性传递。我试过的:
试图。
elasticsearch:
uri: "[\"127.0.0.1:9200\",\"127.0.0.2:9200\"]"
Run Code Online (Sandbox Code Playgroud)
错误:
ReadString: 期望 " 或 n, 但发现 [, 在 #10 字节的 ...|RCH_URL 中发现错误":["127.0.0.1|..., 更大的上下文 ...|{"apiVersion":"v1", "数据":{"ELASTIC_SEARCH_URL": ["127.0.0.1:9200","127.0.0.2:9200"],"LOGS_ENV_PREFI|...
试图。根据官方掌舵站点如何传递数组
elasticsearch:
--set uri={127.0.0.1:9200,127.0.0.2:9200}
Run Code Online (Sandbox Code Playgroud)
有错误:
将 YAML 转换为 JSON 时出错:yaml:第 15 行:此上下文中不允许映射值
试图。
elasticsearch:
uri:
- 127.0.0.1:9200
- 127.0.0.2:9200
Run Code Online (Sandbox Code Playgroud)
与 1 相同的异常失败。
编辑:实际上在我的情况下,当时在 YAML 文件中没有使用 helm 值,所以我需要另一种格式,最后的解决方案是将 uri 作为带单引号的字符串传递:
elasticsearch:
uri: '["127.0.0.1:9200","127.0.0.2:9200"]'
Run Code Online (Sandbox Code Playgroud)
不过@Marcin 的回答是正确的。
Mar*_*ról 13
您可以使用老式的 json 方式传递一组值:
elasticsearch:
uri: ["127.0.0.1:9200", "127.0.0.2:9200"]
Run Code Online (Sandbox Code Playgroud)
或者yaml介绍的方式:
elasticsearch:
uri:
- 127.0.0.1:9200
- 127.0.0.2:9200
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用range以下命令访问 Helm 模板中的值:
Uris:{{- range .Values.elasticsearch.uri }}
{{.}}{{- end }}
Run Code Online (Sandbox Code Playgroud)
决定:
Uris:
127.0.0.1:9200
127.0.0.2:9200
Run Code Online (Sandbox Code Playgroud)
小智 5
Helm 将值从 values.yaml 渲染到 config.yaml :
值.yaml:
sites:
- dataprovider: abcd
- dataprovider: xyzx
Run Code Online (Sandbox Code Playgroud)
配置.yaml :
sites:
{{ toYaml .Values.sites | indent 10 }}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15771 次 |
| 最近记录: |