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

Helm安装预运行时遇values.yaml加载失败:YAML转JSON错误

Helm安装values.yaml解析错误修复

问题重现

使用以下values.yaml文件:

configMap:
  name: {{ .Release.Name }}-config
  values:
    mongoUrl: mongo-service
secret:
  name: {{ .Release.Name }}-secret
  values:
    mongoUser: bW9uZ291c2Vy
    mongoPassword: bW9uZ29wYXNzd29yZA==

执行命令:

helm install --dry-run mongo ./mychart

出现错误:

Error: INSTALLATION FAILED: cannot load values.yaml: error converting YAML to JSON: yaml: line 1: did not find expected key

错误原因

values.yaml的作用是提供静态配置参数,它本身不支持Helm模板语法({{ ... }}这类变量)。Helm会先尝试将values.yaml解析为标准YAML/JSON结构,模板语法的存在破坏了YAML的格式规则,导致解析失败。

修复步骤

  1. 修改values.yaml,移除模板变量
    只保留静态配置值,动态生成的内容移到Chart模板中:

    configMap:
      values:
        mongoUrl: mongo-service
    secret:
      values:
        mongoUser: bW9uZ291c2Vy
        mongoPassword: bW9uZ29wYXNzd29yZA==
    
  2. 在Chart模板中定义动态名称

    • 在templates/configmap.yaml中配置ConfigMap的名称和数据:
      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: {{ .Release.Name }}-config
      data:
      {{ toYaml .Values.configMap.values | indent 2 }}
      
    • 在templates/secret.yaml中配置Secret的名称和数据:
      apiVersion: v1
      kind: Secret
      metadata:
        name: {{ .Release.Name }}-secret
      type: Opaque
      data:
      {{ toYaml .Values.secret.values | indent 2 }}
      
  3. 重新执行安装命令
    再次运行helm install --dry-run mongo ./mychart即可正常解析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 14:12:40