带 2 个变量的头盔范围
Helm range with 2 variables
我正在尝试在 helm 中使用一个范围进行循环,但使用 2 个变量,我所拥有的..
values.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 -}}
我正在尝试在 helm 中使用一个范围进行循环,但使用 2 个变量,我所拥有的..
values.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 -}}