gpt4 book ai didi

kubernetes - Helm不能从设置文件遍历范围

转载 作者:行者123 更新时间:2023-12-02 11:53:40 26 4
gpt4 key购买 nike

我想遍历在ci管道中生成的 secret 文件。

helm template \
...
--set-file secretmap="secretmap.yaml" \
...

生成的 secretmap.yaml包含以下内容:
SEC_1: 111
SEC_2: 222
...

secret.yaml如下所示:
kind: Secret
...
data:
{{- range $key, $val := .Values.secretmap }}
{{ $key }}: {{ $val | b64enc | quote }}
{{- end }}
...

我得到的错误是:
Error: render error in ".../secret.yaml": template: .../secret.yaml:4:31: ... range can't iterate over SEC_1: 111
SEC_1: 222
...

相同的配置可以与configmap一起使用,
我从 -f chart/values/common.yaml设置configmap的地方

最佳答案

--set-file将变量的内容设置为文件的文本内容;它根本不尝试解释它。 (在this section of the Helm docs中进行了一些描述;请注意,该示例在ConfigMap中嵌入了一个JavaScript脚本。)这意味着您需要告诉Helm来解析文件。 Helm包含一个文档最少的 fromYaml 函数,可以执行此操作。

当您遍历值的内容时,请尝试首先明确地解析它:

{{- range $key, $val := fromYaml .Values.secretmap }}
...
{{ end }}

关于kubernetes - Helm不能从设置文件遍历范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57658574/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com