在我的掌舵人values.yaml文件中,我试图用引号创建一个值,但是当我运行它时,它会给出不同的结果
values.yaml
annotation: '"ports": {"88":"sandbox-backendconfig"}}'
{{ .Values.annotation }}
空试时显示什么
"ports": {"88":"sandbox-backendconfig"}}
我如何也显示周围的单引号
答案 0 :(得分:2)
当Helm YAML解析器读取values.yaml
文件时,它会看到annotation:
的值是single-quoted string,因此它保留了值的内容而没有外部引号。
如YAML规范所建议,您可以通过将引号加倍来在单引号字符串中包含单引号。将其设置为double-quoted string并使用反斜杠转义可能会更熟悉。第三种可能性是将其设置为block scalar,它将把值放在单独的行上,但根本不需要任何转义。
annotation: '''"ports": {"88":"sandbox-backendconfig"}}'''
annotation: "'\"ports\": {\"88\":\"sandbox-backendconfig\"}}'"
annotation: >-
'"ports": {"88":"sandbox-backendconfig"}}'
我不确定您要在哪个上下文中使用它,但是如果这是一种更结构化的格式,则可以使用Helm的toYaml
或toJson
函数来建立注释值为你。
# values.yaml
ports:
'88': sandbox-backendconfig
# templates/some-resource.yaml
annotations: {{ printf "\"ports\": %s" (toJson .Values.ports) | squote }}
答案 1 :(得分:1)
检查以下方法,
Values.yaml-> 注释:'“ ports”:{“ 88”:“ sandbox-backendconfig”}}'
模板-> {{.Values.annotation | squote}}
这应该可以解决您的问题。
注意:(双引号会将单引号引起来。)