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

Helm部署PostgreSQL报YAML转JSON第24行未找到预期键错误

问题根因

你遇到的YAML解析错误是由volumes字段下的条目缩进错误导致的,报错指向的第24行对应StatefulSet配置中的卷定义部分。

1. 是否存在无效的YAML语法?

  • 存在无效语法。你直接用yamllint检测原始Helm模板显示合法,是因为模板还没经过Helm渲染,渲染后生成的最终YAML会出现语法错误,所以helm部署时才会抛出解析失败的报错。

2. 是否存在缩进缺失问题?

  • 存在缩进错误,具体错误位置:
# 错误写法
- emptyDir: { }
    name: postgres-disk

name字段的缩进等级比同级的emptyDir多了4格,不符合YAML语法要求,同级的键需要保持相同缩进。
另外需要检查{{ include "xxx.volumes.logs.spec" . | indent 8 }}渲染后的内容缩进是否和其他volumes下的条目保持一致,避免额外的缩进问题。

3. 此处缺少哪个配置节点?

  • 没有缺少配置节点,完全是缩进错误导致YAML解析器无法识别name是当前卷条目的键,因此抛出「未找到期望的key」的报错。

修复方案

将错误的卷定义缩进修正即可:

volumes:
{{ include "xxx.volumes.logs.spec" . | indent 8 }}
# 修正后的写法,emptyDir和name保持同级缩进
- emptyDir: { }
  name: postgres-disk

修正后先执行helm template命令渲染模板,检查渲染后的最终YAML语法无误后再执行部署即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 06:36:04