Helm范围有2个变量



我正在尝试一个helm中有一个范围的循环,但使用了两个变量,我有。。

值.yaml

master:
slave1: 
- slave1value1
- slave1value2
slave2: 
- slave2value1
- slave2value2

我的实际循环。

{{- range  .Values.master.slave1 }}
name: http://slave1-{{ . }}
{{- end }}
{{- range  .Values.master.slave2 }}
name: http://slave2-{{ . }}
{{- end }}

这实际上是在做我需要的事情,输出会是这样的。。。

.Values.master.slave1上的循环

name: http://slave1-slave1value1
name: http://slave1-slave1value2

.Values.master.slave2上的循环

name: http://slave2-slave1value1
name: http://slave2-slave1value2

目前,这是完全可行的,问题是,我只使用一个循环块就可以实现同样的结果吗?我试过了。

{{ alias := .Values.master }}
{{- range  $alias }}
name: http://{{ . }}-{{ $alias.name }}
{{- end }}

但是输出不是我所期望的,提前谢谢。

几乎。。。您需要一个嵌套循环来完成此操作。顶级数据结构是一个映射,其中键是工作人员名称,值是值列表。因此,您可以遍历顶级映射,然后对每个项遍历值列表。

{{- $key, $values := range .Values.master -}}
{{- $value := range $values -}}
name: http://{{ $key }}-{{ $value }}
{{ end -}}
{{- end -}}

请注意,我们已经将range的值分配给了局部值,以避免.的确切含义出现歧义(在每个range循环中,它将是当前最内部循环的迭代器(。

嗨@DavidMaze我让它改变了"范围";消息灵通的

这行不通。

{{- $key, $values := range .Values.master -}}
{{- $value := range $values -}}
name: http://{{ $key }}-{{ $value }}
{{ end -}}
{{- end -}}

这项工作如预期:(

{{- range $key, $values := .Values.master -}}
{{- range $value := $values -}}
name: http://{{ $key }}-{{ $value }}
{{ end -}}
{{- end -}}

最新更新