kubernetes - 在 helm 值中添加单引号
问题描述
在我的 helm values.yaml 文件中,我试图用引号创建一个值,但是当我运行它时,它给出了不同的结果
值.yaml
annotation: '"ports": {"88":"sandbox-backendconfig"}}'
{{ .Values.annotation }}
当我做空跑时显示什么
"ports": {"88":"sandbox-backendconfig"}}
我怎样才能让它周围的单引号也显示出来
解决方案
当 Helm YAML 解析器读入values.yaml
文件时,它发现 的值annotation:
是一个单引号字符串,因此它保留了值的内容,没有外引号。
正如 YAML 规范所建议的那样,您可以通过双引号在单引号字符串中包含单引号。将其设为双引号字符串并使用反斜杠转义可能更熟悉。第三种可能性是将它变成一个块标量,这会将值放在单独的行上,但根本不需要任何转义。
annotation: '''"ports": {"88":"sandbox-backendconfig"}}'''
annotation: "'\"ports\": {\"88\":\"sandbox-backendconfig\"}}'"
annotation: >-
'"ports": {"88":"sandbox-backendconfig"}}'
我不确定您要在什么上下文中使用它,但如果这是一种更结构化的格式,您可以使用 HelmtoYaml
或toJson
函数为您构建注释值。
# values.yaml
ports:
'88': sandbox-backendconfig
# templates/some-resource.yaml
annotations: {{ printf "\"ports\": %s" (toJson .Values.ports) | squote }}
推荐阅读
- angular - 在 ngSelect 上使用 ngModel 绑定对象不起作用
- react-native - 打印磅签到反应本机热敏打印机( react-native-bluetooth-escpos-printer )
- python - 为什么我的矩形不出现(python 3.8 windows 7)
- javascript - 为什么这个计时器脚本不能按预期工作?
- flutter - 如何使用异步方法返回的值初始化小部件状态中的字段?
- python - “树视图焦点”时如何将图像表单数据库检索到标签?
- android - 如何实现 WhatsApp 之类的图片点击功能
- flutter - Flutter:计算两个日期之间的月差
- excel - Excel 合并数据不工作 - 数据不合并
- c# - 如何创建一个方法来创建一个不会重复的唯一编号?