【问题标题】:Helm pass extra elements to an arrayHelm 将额外的元素传递给数组
【发布时间】:2021-06-28 01:04:47
【问题描述】:

所以我有一个 Helm 模板:

    spec:
      containers:
        - name: {{ .Values.dashboard.containers.name }}
          image: {{ .Values.dashboard.containers.image.repository }}:{{ .Values.dashboard.containers.image.tag }}
          imagePullPolicy: Always
          env:
            - name: BASE_PATH
              value: /myapp/web

我想传递额外的环境变量给它

我的values.yaml:

  extraEnvs:
    - name: SOMETHING_ELSE
      value: hello
    - name: SOMETHING_MORE
      value: world

我该怎么做才能让我的结果变成这样?

    spec:
      containers:
        - name: {{ .Values.dashboard.containers.name }}
          image: {{ .Values.dashboard.containers.image.repository }}:{{ .Values.dashboard.containers.image.tag }}
          imagePullPolicy: Always
          env:
            - name: BASE_PATH
              value: /myapp/web
            - name: SOMETHING_ELSE
              value: hello
            - name: SOMETHING_MORE
              value: world

我在想这样的事情:

  {{- if .Values.extraEnvs}}
    env: -|
    {{- range .Values.extraEnvs }}
      - {{ . | quote }}
    {{- end }}
  {{- end -}}

但这会覆盖之前的设置

【问题讨论】:

  • 曾经考虑过toYaml函数吗?

标签: kubernetes kubernetes-helm


【解决方案1】:

只需从您的位中删除 env:

          env:
            - name: BASE_PATH
              value: /myapp/web
            {{- if .Values.extraEnvs}}
            {{- range .Values.extraEnvs }}
            - name: {{ .name }}
              value: {{ .value }}
            {{- end }}
            {{- end -}}

您也可以使用 cmets 中提到的toYaml,而不是自己迭代。

【讨论】:

    【解决方案2】:

    toYaml 方式:

    spec:
      containers:
        - name: {{ .Values.dashboard.containers.name }}
          image: {{ .Values.dashboard.containers.image.repository }}:{{ .Values.dashboard.containers.image.tag }}
          imagePullPolicy: Always
          env:
            - name: BASE_PATH
              value: /myapp/web
           {{- toYaml .Values.extraEnvs | nindent 10 }}
    

    nindent 10 用于正常部署,您可能需要更改为自己的。

    【讨论】:

      猜你喜欢
      • 2019-12-01
      • 2021-04-09
      • 2019-05-30
      • 1970-01-01
      • 1970-01-01
      • 2018-10-07
      • 1970-01-01
      • 2011-03-06
      • 2021-02-10
      相关资源
      最近更新 更多