如何通过循环嵌套的 helm 值来创建 k8s configmap
How to create a k8s configmap by looping over nested helm values
helm 值如下例所示。这里 appdata
可以扩展到任何数字,但将包含相同的键集。
data:
appdata:
config0:
url: 'https://example1.com'
port: '80'
config1:
url: 'https://example2.com'
port: '8673'
someotherconfig:
url: 'https://example3.com'
port: '9887'
...
...
这就是我目前所拥有的。这会不断从 someotherconfig
键更新最后一个配置的数据,而且我希望配置映射名称包含每次迭代的配置名称,例如 {{ template "app" $ }}-config0, {{ template " app" $ }}-config1 等基于迭代。
{{- range $Mydata := $.Values.data.appdata }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "app" $ }}
labels:
data:
url: {{ $Mydata.url }}
port: {{ $Mydata.port }}
{{- end }}
你快到了。您需要使用 key/value 表示法来获取键名。请尝试以下操作。
{{- range $configuration, $Mydata := $.Values.data.appdata }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "app" $ }}-{{ $configuration }}
data:
url: {{ $Mydata.url }}
port: {{ $Mydata.port }}
{{- end }}
helm 值如下例所示。这里 appdata
可以扩展到任何数字,但将包含相同的键集。
data:
appdata:
config0:
url: 'https://example1.com'
port: '80'
config1:
url: 'https://example2.com'
port: '8673'
someotherconfig:
url: 'https://example3.com'
port: '9887'
...
...
这就是我目前所拥有的。这会不断从 someotherconfig
键更新最后一个配置的数据,而且我希望配置映射名称包含每次迭代的配置名称,例如 {{ template "app" $ }}-config0, {{ template " app" $ }}-config1 等基于迭代。
{{- range $Mydata := $.Values.data.appdata }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "app" $ }}
labels:
data:
url: {{ $Mydata.url }}
port: {{ $Mydata.port }}
{{- end }}
你快到了。您需要使用 key/value 表示法来获取键名。请尝试以下操作。
{{- range $configuration, $Mydata := $.Values.data.appdata }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "app" $ }}-{{ $configuration }}
data:
url: {{ $Mydata.url }}
port: {{ $Mydata.port }}
{{- end }}