如何在Helm模板的range循环中正确引用全局Values变量?
问题解决:Helm模板中无法访问Values字段的报错
报错原因
在range循环代码块内,模板的当前上下文(.)已经切换为循环迭代的每一项(即$.Values.secretObjects中的单个键值对),不再是根级的模板上下文。此时直接使用.Values会找不到对应的字段,导致报错。
修复后的模板代码
将代码中的.Values替换为$.Values($在Helm模板中始终指向根上下文):
{{- range $key, $value := $.Values.secretObjects }} - secretKey: {{ $key | quote}} objectName: {{ $value | quote }} secretPath: "{{ $.Values.ingress1.entrypoints }}/data/{{ $.Values.stand }}" {{- end }}
验证逻辑
$.Values.ingress1.entrypoints会正确引用values.yaml中ingress1.entrypoints的值pdu$.Values.stand会正确引用values.yaml中stand的值dev-gfdz-loader- 循环逻辑保持原有功能,遍历
secretObjects的所有键值对生成对应配置
内容的提问来源于stack exchange,提问作者Maksim
相关产品推荐
相关产品推荐

