gpt4 book ai didi

kubernetes-helm - 在 Helm 中将字典从一个模板传递到另一个模板

转载 作者:行者123 更新时间:2023-12-04 02:45:07 26 4
gpt4 key购买 nike

我正在尝试将字典从一个 helm 模板传递到另一个 helm 模板,但它在被调用模板中解析为 null。

调用模板 - deployment.yaml
调用模板 - storageNodeAffinity

我看到 myDict 在 deployment.yaml 中打印为 map ,但在 storageNodeAffinity 中它打印为 null。

最终我需要从值文件中传递 nodeAffn。

部署.yaml

{{- $myDict := dict "cpu" "amd" }}
{{- include "storageNodeAffinity" $myDict | indent 6 }}
{{printf "%q" $myDict}}

存储亲和性.tpl

{{- define "storageNodeAffinity" }}
{{/* {{- $myDict := dict "cpu" "amd" }}*/}}
{{printf "%q" .myDict}}
{{- range $key, $val := .myDict }}
- key: {{ $key }}
operator: In
values:
- {{ $val }}
{{- end }}
{{- end }}

值.yaml

nodeAffn:
disktype: "ssd"
cpu: intel

最佳答案

调用模板时

{{- include "storageNodeAffinity" $myDict -}}

然后在模板中,无论您作为参数传递什么,都将成为特殊变量 .。也就是说,. 是字典本身;您不需要使用相对路径来查找其值。

{{- define "storageNodeAffinity" }}
{{/* ., not .myDict */}}
{{printf "%q" .}}
{{- range $key, $val := . }}...{{ end -}}
{{- end -}}

关于kubernetes-helm - 在 Helm 中将字典从一个模板传递到另一个模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57527583/

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