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

Helm Chart配置多行appProperties时YAML解析错误如何解决?

解决Helm ConfigMap多行内容渲染的YAML解析错误问题

问题原因

直接在模板中使用{{ .Values.app.appProperties }}渲染多行字符串时,Helm会原样输出内容,导致第二行及以后的文本没有保持YAML要求的缩进层级,被解析器误认为是同级的YAML键,从而抛出"could not find expected ':'"的错误。

正确实现方式

修改ConfigMap模板,使用Helm的indent或nindent函数为多行内容添加正确的缩进:

模板代码(修正后)

apiVersion: v1
kind: ConfigMap
metadata:
  name: config
data:
  app-properties: |
{{ .Values.app.appProperties | indent 4 }}

也可以使用nindent(会自动在内容前添加换行,适配需要换行的场景):

apiVersion: v1
kind: ConfigMap
metadata:
  name: config
data:
  app-properties: |
{{ .Values.app.appProperties | nindent 4 }}

说明

  • indent 4:为字符串的每一行添加4个空格的缩进,确保所有行都处于app-properties值的层级下。
  • 你的values.yaml无需修改,保持原有的多行格式即可:
    app:
      appProperties: |
        line1
        line2
        line3
    

渲染后会生成符合预期的ConfigMap内容:

apiVersion: v1
kind: ConfigMap
metadata:
  name: config
data:
  app-properties: |
    line1
    line2
    line3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 01:50:25