You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Helm传参模板无法识别.Values问题求助

问题原因

当你通过(dict "subdomain" "domain")给模板传参时,模板内部的上下文.被替换成了这个新创建的字典,原来包含全局配置的.Values并不在这个字典里,所以访问.Values.domain会触发空指针错误。

解决方案

提供两种可行的修复方式:

方式一:将全局Values传入参数字典

修改configmap.yaml中的模板调用,把全局的.Values也加入到传入的字典中:

apiVersion: v1
kind: ConfigMap
metadata:
  name: nginx-virtual-servers
data:
  default.conf: |
      {{- include "mychart.virtualserver" (dict "subdomain" "domain" "Values" .Values) | nindent 6 }}

这样模板里的.Values.domain就能正常读取到配置值,无需修改_helpers.tpl。

方式二:用merge合并参数与全局上下文

使用Helm的merge函数,将自定义参数字典和全局上下文合并,这样模板内部的.既包含传入的subdomain,也保留了原有的.Values等全局变量:

apiVersion: v1
kind: ConfigMap
metadata:
  name: nginx-virtual-servers
data:
  default.conf: |
      {{- include "mychart.virtualserver" (merge (dict "subdomain" "domain") .) | nindent 6 }}

这种方式无需修改_helpers.tpl,同时模板可以访问所有全局上下文内容,适用性更广。

内容的提问来源于stack exchange,提问作者DDave

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 16:25:01