Kubernetes 头盔范围获得循环外的值
我在看他们的头盔范围的例子 yamlKubernetes 头盔范围获得循环外的值,kubernetes,kubernetes-helm,Kubernetes,Kubernetes Helm,我在看他们的头盔范围的例子 yaml favorite: drink: coffee food: pizza pizzaToppings: - mushrooms - cheese - peppers - onions 掌舵 apiVersion: v1 kind: ConfigMap metadata: name: {{ .Release.Name }}-configmap data: myvalue: "Hello World" {{- with .Va
favorite:
drink: coffee
food: pizza
pizzaToppings:
- mushrooms
- cheese
- peppers
- onions
掌舵
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-configmap
data:
myvalue: "Hello World"
{{- with .Values.favorite }}
drink: {{ .drink | default "tea" | quote }}
food: {{ .food | upper | quote }}
{{- end }}
toppings: |-
{{- range .Values.pizzaToppings }}
- {{ . | title | quote }}
- {{ .Values.favorite.drink }}
{{- end }}
我更新了它,使它有一行-{{.Values.favorite.drink}
但是当我运行helmtemplate
时,我得到了错误
can't evaluate field Values
是否仍然可以从
范围
函数中访问顶级值
并退出循环?您可以使用一个变量:
toppings: |-
{{- $drink := .Values.favorite.drink }}
{{- range .Values.pizzaToppings }}
- {{ . | title | quote }}
- {{ $drink }}
{{- end }}
如果愿意,也可以将值
分配给变量
toppings: |-
{{- $val := .Values }}
{{- range .Values.pizzaToppings }}
- {{ . | title | quote }}
- {{ $val.favorite.drink }}
{{- end }}
还可以使用指向根上下文的全局变量
$
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-configmap
data:
myvalue: "Hello World"
{{- with .Values.favorite }}
drink: {{ .drink | default "tea" | quote }}
food: {{ .food | upper | quote }}
{{- end }}
toppings: |-
{{- range $.Values.pizzaToppings }}
- {{ . | title | quote }}
- {{ $.Values.favorite.drink }}
{{- end }}