无法从values.yaml取值,Helm部署模板执行命令报错求助
问题分析与修正
你的deployment.yaml模板存在以下几个明确问题:
- 缩进格式混乱:
env:后直接拼接{{ range }}会导致生成的YAML缩进完全错误,不符合Kubernetes YAML的格式要求,这是引发部署错误的核心原因。 - 不必要的引号转义:模板中使用
"来表示双引号是多余操作,Helm模板支持直接用双引号包裹变量,转义符号会导致渲染后的内容出现异常。
修正后的模板片段
env: {{- range $key, $value := .Values.secret }} - name: "{{ $key }}" valueFrom: secretKeyRef: name: "{{ $value }}" key: "{{ $value }}" {{- end }}
修正说明
- 让
env:单独占一行,确保后续列表项有正确的缩进层级 - 使用
{{- range }}(减号)自动移除模板渲染时产生的多余空白行,保证生成的YAML格式整洁 - 直接用双引号包裹变量,替换掉原来的
"转义符 - 统一缩进格式,让每个字段的层级严格符合Kubernetes YAML规范
内容的提问来源于stack exchange,提问作者Ayush Singh
相关产品推荐
相关产品推荐

