Helm模板语法错误求助:未能找到预期的':'符号
解决Helm ConfigMap模板的"could not find expected ':'"语法错误
错误原因
Go模板(Helm基于该模板引擎)的变量名仅允许包含字母、数字和下划线,你定义的$env-AM会被解析为$env减AM的表达式,破坏了模板语法结构,最终触发":"缺失的错误。另外,Helm中访问values文件内容必须使用首字母大写的.Values,而非小写的.values,这也是潜在问题点。
修改后的ConfigMap模板代码
apiVersion: v1 kind: ConfigMap metadata: name: configmap-{{ template "api.fullname" . }} data: {{- range $env_AM := .Values.env-AM }} {{ $env_AM.key }}: {{ $env_AM.data }} {{- end }}
修改说明
- 将循环变量
$env-AM替换为$env_AM,符合Go模板变量命名规范 - 把
.values修正为.Values,确保正确读取values文件中的配置项
修改后,Helm模板即可正常遍历env-AM数组,生成对应的ConfigMap数据条目。
内容的提问来源于stack exchange,提问作者YASSINE ELMAADINE
相关产品推荐
相关产品推荐

