小编cha*_*kar的帖子

舵图错误:找不到预期的“:”

执行舵图时出现以下错误。

错误:helmcharts/templates/route.yaml 上的 YAML 解析错误:将 YAML 转换为 JSON 时出错:yaml:第 25 行:找不到预期的“:”

如果我从 Values.yaml 文件中删除多行字符串“|-”,同时将证书引用到route.yaml,则该图表可以正常工作。由于我删除了“|-”,因此在将证书内容复制到route.yaml并且无法创建路由时,不会以适当的缩进保留证书内容。

    key:   <--- works if I don't provide multiline "|-"
      -----BEGIN CERTIFICATE-----
      [...]
      -----END CERTIFICATE-----
    certificate:
      -----BEGIN CERTIFICATE-----
      [...]
      -----END CERTIFICATE-----
    caCertificate:
      -----BEGIN CERTIFICATE-----
      [...]
      -----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?在values.yaml 文件中提供证书内容并将其传递给route.yaml 是否是正确的方法。就 Ingress 而言,只需创建一个 tls 秘密对象并在 values.yaml 中传递文件名就非常简单了,但是我们如何在 openshift 路由中实现相同的效果呢?

值.yaml

route:
  Enabled: true
  annotations:
    haproxy.router.openshift.io/cookie_name: SESSION_XLD
    haproxy.router.openshift.io/disable_cookies: "false"
    haproxy.router.openshift.io/rewrite-target: /
  path: /
  hosts:
    - www.example.com
  tls:
    key: |-       <--- Doesn't work if i provide this "|-"
      -----BEGIN CERTIFICATE----- …
Run Code Online (Sandbox Code Playgroud)

openshift kubernetes openshift-enterprise kubernetes-helm helm-tls

2
推荐指数
1
解决办法
1万
查看次数