【发布时间】:2019-05-31 00:27:57
【问题描述】:
如何将整个 JSON 字符串传递给 Helm 图表值?
我有 values.yml,其中配置值应包含整个 JSON 以及应用程序的配置
...
config: some JSON here
...
我需要将此值传递给秘密模板,然后将其作为卷挂载到 Kubernetes pod。
{{- $env := default "integration" .Values.env}}
apiVersion: v1
kind: Secret
metadata:
name: {{ .Release.Name }}-{{ $env }}
type: Opaque
data:
config.json: {{ .Values.config | b64enc | quote }}
但是,传递像'{"redis": "localhost:6379"}' 这样的单引号字符串的明显方法失败了,因为 Helm 出于某种原因删除了字符串中的所有双引号(即使我将它们转义)所以我最终得到 {redis: localhost:6379} 这不是有效的 JSON .
是否有任何其他可能性如何在不使用 tpl 函数加载模板文件并分别通过 values.yml 访问所有需要的字段的情况下一次性将配置传递给 pod?
【问题讨论】:
标签: json kubernetes kubernetes-helm