Helm range function

是否有可能以某種方式統一范圍循環?假設我們有這樣的清單:

values.yaml

////
multiple:
   stage1:
     key: value
   stage2:
     key: value
///

configmap.yaml

{{- range $application,$value := $.Values.multiple }}
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ $application }}-{{ $.Release.Name }}
data:
   something...
{{- end }}

因此,將創建2個配置映射。有沒有可能繞過這樣的限制:如果這個變量不存在,那么將創建一個configmap,而不是立即退出循環?

不帶循環的configmap:

apiVersion: v1
kind: ConfigMap
metadata:
  name: myrelease
data:
   something values...

configmap with loop:

apiVersion: v1
kind: ConfigMap
metadata:
  name: stage1-myrelease
data:
   something values...
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: stage2-myrelease
data:
   something values...

還是可以通過模板解決這個問題?如果值中有多個變量,那么是否向清單中添加一個范圍循環?

? 最佳回答:

可以使用默認函數。在vaules.yaml中定義默認dict,或者使用dict函數創建一個內聯dict。

{{ range (default $defaultDict $.Values.multiple) }}...{{ end }}

你可以把它做成一個助手模板,并使用with else

在_helpers.tpl中定義它:

{{- define "configmap" -}}
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: myrelease
data:
   something values...
{{- end -}}

在模板中,可以包含此內容。

{{- with $.Values.multiple }}
{{- range . }}
{{ include "configmap" $ }}
{{- else }}
{{ include "configmap" $ }}
{{- end }}
主站蜘蛛池模板: 成人精品一区久久久久| 精品无码国产一区二区三区麻豆| 国产高清在线精品一区小说| 肉色超薄丝袜脚交一区二区| 伊人精品视频一区二区三区| 久久久国产精品无码一区二区三区| 久久精品一区二区东京热| 中文字幕在线观看一区二区| 国产成人av一区二区三区不卡| 久久精品国产一区二区三区日韩| V一区无码内射国产| 日韩精品无码视频一区二区蜜桃 | 老熟妇仑乱一区二区视頻| 538国产精品一区二区在线| 天码av无码一区二区三区四区| 卡通动漫中文字幕第一区| 国产SUV精品一区二区88L| 毛片一区二区三区| 国产精品乱码一区二区三| 亚洲.国产.欧美一区二区三区| 日本一区二区三区日本免费| 国产成人一区二区三区精品久久| 一区二区三区视频观看| 一区二区三区免费在线观看| 国产91一区二区在线播放不卡| 久久国产三级无码一区二区| 国产精品美女一区二区视频| 性色av闺蜜一区二区三区| 国产情侣一区二区三区| 麻豆精品久久久一区二区| 在线观看一区二区三区av| 国产伦精品一区二区| 狠狠色婷婷久久一区二区| 中文字幕无线码一区二区| 国产高清在线精品一区二区三区| 亚洲午夜一区二区三区| 国精品无码一区二区三区在线蜜臀| 亚洲一区二区三区不卡在线播放| 国产午夜福利精品一区二区三区 | 精品久久一区二区三区| 在线电影一区二区三区|