Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 如何从值中获取2个结构并在Helm中创建JSON?_Kubernetes_Kubernetes Helm - Fatal编程技术网

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}