我已使用文字块标量在yaml文件中定义了以下变量,并希望在kubernetes入口文件中引用它们,但在输出中显示|-。
可变文件:
domain_ingress:
annotations: |
kubernetes.io/ingress.class: nginx-domain
nginx.ingress.kubernetes.io/ssl-ciphers: "HIGH:!SSLv2:!SSLv3:!DH:!RSA"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/rewrite-target: /
Kubernetes入口文件:
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: {{ env }}-domain-services-ingress
annotations:
{{ domain_ingress.annotations | to_nice_yaml }}
输出为:
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: infra2-domain-services-ingress
annotations:
|- <why this |- is coming in output>
kubernetes.io/ingress.class: nginx-domain
nginx.ingress.kubernetes.io/ssl-ciphers: "HIGH:!SSLv2:!SSLv3:!DH:!RSA"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/rewrite-target: /
我建议使用头盔模板方法从变量文件中删除-pipe (|)
作为您的key annotations: was followed by | : Block scalar indicator
[当字符串包含换行符时,您可以使用竖线(|)表示的文字样式来表示该字符串将跨越多行。
此方法用于而不是在ConfigMaps模板中。
请让我知道是否有帮助。