Helm部署集群报YAML转JSON错误 未找到预期','或'}'如何解决
错误根因
该报错属于Helm Chart渲染阶段的YAML解析失败,问题出在模板语法书写不规范:
你在{{ (.Files.Get “server.p12”) | b64enc }}这段模板表达式里,给文件路径参数用了中文全角弯引号“”,而非Go模板语法要求的英文半角直引号。模板引擎无法识别这个非法字符,直接破坏了{{ }}模板块的语法结构,最终抛出找不到预期,或}的错误。
额外注意:如果证书文件路径存放错误,修正引号后仍会触发后续的文件读取报错。
修复方案
- 替换模板里的全角引号为英文半角双引号,修正后的完整Secret配置如下:
--- apiVersion: v1 kind: Secret metadata: name: elastic-certificate-p12 type: Opaque data: server.p12: {{ (.Files.Get "server.p12") | b64enc }}
- 检查
server.p12证书文件的存放位置:必须放在当前elasticsearch Chart的根目录(与templates文件夹、Chart.yaml文件同级),不要将证书文件放入templates目录内,否则.Files.Get方法无法正常读取文件内容。 - 配置修正、文件路径确认无误后,重新执行Helm安装/升级命令即可完成部署。
内容的提问来源于stack exchange,提问作者usr18239
相关产品推荐
相关产品推荐

