nat*_*dev 3 kubernetes kubernetes-helm
我想循环遍历我在 ci 管道中生成的秘密文件。
helm template \
...
--set-file secretmap="secretmap.yaml" \
...
Run Code Online (Sandbox Code Playgroud)
已secretmap.yaml生成并包含以下内容:
SEC_1: 111
SEC_2: 222
...
Run Code Online (Sandbox Code Playgroud)
Secret.yaml 如下所示:
kind: Secret
...
data:
{{- range $key, $val := .Values.secretmap }}
{{ $key }}: {{ $val | b64enc | quote }}
{{- end }}
...
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
Error: render error in ".../secret.yaml": template: .../secret.yaml:4:31: ... range can't iterate over SEC_1: 111
SEC_1: 222
...
Run Code Online (Sandbox Code Playgroud)
不过,相同的配置确实适用于 configmap,
我在其中设置了 configmap-f chart/values/common.yaml
--set-file将变量的内容设置为文件的文本内容;它根本不尝试解释它。( Helm 文档的本节中有一些描述;请注意示例中,ConfigMap 中嵌入了一个 JavaScript 脚本。)这意味着您需要告诉 Helm 解析该文件。Helm 包括一个最少文档的fromYamlHelm 包含一个可以执行此操作的
当您迭代值的内容时,请首先尝试显式解析它:
\n{{- range $key, $val := fromYaml .Values.secretmap }}\n...\n{{ end }}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
14527 次 |
| 最近记录: |