【问题标题】:helm range get values outside of loop掌舵范围获取循环外的值
【发布时间】:2020-01-30 10:55:25
【问题描述】:

我正在查看他们在docs 上的掌舵范围示例。

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 .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 }} 但当我运行 helm template 时出现错误

can't evaluate field Values 

是否可以从range 函数中访问顶级.Values 并转义循环?

【问题讨论】:

    标签: kubernetes kubernetes-helm


    【解决方案1】:

    您还可以使用指向根上下文的全局变量$

    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 }}
    

    【讨论】:

      【解决方案2】:

      你可以使用变量:

        toppings: |-
          {{- $drink := .Values.favorite.drink }}
          {{- range .Values.pizzaToppings }}
          - {{ . | title | quote }}
          - {{ $drink }}
          {{- end }}
      

      如果您愿意,也可以将Values 分配给变量。

        toppings: |-
          {{- $val := .Values }}
          {{- range .Values.pizzaToppings }}
          - {{ . | title | quote }}
          - {{ $val.favorite.drink }}
          {{- end }}
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-10-07
        • 2020-05-19
        • 2018-08-14
        • 2022-10-14
        • 1970-01-01
        • 2019-03-15
        • 2020-05-19
        • 2017-04-08
        相关资源
        最近更新 更多