Kubernetes 如何从值中获取2个结构并在Helm中创建JSON?
值Kubernetes 如何从值中获取2个结构并在Helm中创建JSON?,kubernetes,kubernetes-helm,Kubernetes,Kubernetes Helm,值 a : b:c d:e f: g:h myDaya.cfg: {"b":"c", "d","e", "f":{"g":"h"}}} a : b:c c:d e: f:g **a1: b1: c1: d1** 我有配置图 apiVersion: v1 kind: ConfigMap metada
a :
b:c
d:e
f:
g:h
myDaya.cfg: {"b":"c", "d","e", "f":{"g":"h"}}}
a :
b:c
c:d
e:
f:g
**a1:
b1:
c1: d1**
我有配置图
apiVersion: v1
kind: ConfigMap
metadata:
name: myName
labels:
data:
myDaya.cfg: |-
{{ toJson .Values.a }}
结果是
a :
b:c
d:e
f:
g:h
myDaya.cfg: {"b":"c", "d","e", "f":{"g":"h"}}}
a :
b:c
c:d
e:
f:g
**a1:
b1:
c1: d1**
现在我在文件中添加了另一个值
a1:
b1:
c1: d1
“a1”必须具有不同的结构新的.Values
a :
b:c
d:e
f:
g:h
myDaya.cfg: {"b":"c", "d","e", "f":{"g":"h"}}}
a :
b:c
c:d
e:
f:g
**a1:
b1:
c1: d1**
新的配置现在应该包括1个json,值为a1
myDaya.cfg: {"a": { "b":"c", "d","e", "f":{"g":"h"}} ,"b1:{"c1":"d1"}}
您能告诉我如何更改配置图吗?赫尔姆有(来自于)。其中包括一个将多个词典合并为一个词典的函数
dictionary函数的一个技巧是,它们通常通过改变现有dictionary对象来工作。这与大多数其他作用于不可变对象的Helm/Sprig函数形成对比。因此,要使用merge
而不意外更改.Values
,您需要创建一个新的空字典(使用,然后将不同的子字典合并到其中)
数据:
myDaya.cfg:|-
{{merge dict.Values.a.Values.a1 | toJson | indent 4}}
或者,如果要保留顶级字典键,可以使用dict
直接构建结果字典:
{{dict“a”.Values.a“a1”.Values.a1 | toJson | indent 4}