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

Helm模板TLS字符串格式密钥无法生成正确YAML文件求助

解决Helm模板生成TLS证书YAML格式问题

问题原因

直接在模板中插入多行字符串{{ .Values.SERVER_KEY }}会导致YAML格式错误,因为没有使用YAML块标量符号|保留换行,且缺少匹配层级的正确缩进。

解决方案

修改Route.yml模板中的tls.key字段写法,结合YAML块标量与Helm的indent函数:

修改后的Route.yml模板

apiVersion: route.openshift.io/v1
kind: Route
metadata:
  labels:
    type: sharded
  name: hello-openshift-edge
  namespace: hello-openshift
spec:
  subdomain: hello-openshift
  tls:
    termination: edge
    key: |
{{ .Values.SERVER_KEY | indent 6 }}
  to:
    kind: Service
    name: hello-openshift

关键说明

  • |是YAML块标量符号,用于完整保留字符串中的换行符
  • indent 6表示将.Values.SERVER_KEY的每一行内容缩进6个空格,匹配YAML层级:key字段已缩进4个空格,后续内容需再缩进2个,总计6个空格以保证格式合法
  • 若证书字符串首尾存在多余空行,可添加trim函数清理:{{ .Values.SERVER_KEY | trim | indent 6 }}

验证生成结果

模板渲染后会生成符合预期的YAML格式:

spec:
  subdomain: hello-openshift
  tls:
    termination: edge
    key: |
      -----BEGIN CERTIFICATE-----
      sadasdasdadasdadad
      asdsadsadasdsad
      -----END CERTIFICATE-----

补充说明

!Sub是AWS CloudFormation专属语法,Helm模板不支持该指令,因此无法生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 04:57:14