开发者社区> 问答> 正文

如何将整个JSON字符串传递给Helm图表值?

如何将整个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 ?

展开
收起
k8s小能手 2019-01-09 14:01:18 6248 0
2 条回答
写回答
取消 提交回答
  • 反序列化

    2020-09-11 19:15:41
    赞同 展开评论 打赏
  • 整合最优质的专家资源和技术资料,问答解疑

    如果.Values.config包含json,那么你可以在模板化的秘密中使用它{{ .Values.config | toJson | b64enc | quote }}。使用toJson将json转换为json 可能看起来很奇怪,但是在你告诉它之前,helm本身并不把它当作json。

    2019-07-17 23:24:58
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载