helm 在地图上循环并使用变量文件

问题描述 投票:0回答:1

我有一个 deployment.yaml 模板

  env:
  {{- range .Values.env_map }}
  - name: {{ .name }}
    value: {{ .value }}
  {{ end }}

和我的文件环境变量:env/values.dev.yaml

env_map:
  - name: toto
    value: {{ .Release.Name }}-toto-{{ .Values.env }}

我想在同一个文件中使用 .Release.Name 和变量。

我尝试时遇到错误:

helm template toto . -f env/values.dev.yaml
    Error: failed to parse env/values.dev.yaml: error converting YAML to JSON: yaml: line 2: did not find expected key

如何通过 env 文件给 Release.Name

yaml kubernetes-helm
1个回答
0
投票

使用

values.yaml
文件传入
Release.Name
值。

env_map:
  - name: toto
    value: {{ .Values.release_name }}-toto-{{ .Values.env }}

在您的

deployment.yaml
中,将此值引用为

env:
  {{- range .Values.env_map }}
  - name: {{ .name }}
    value: {{ .value }}
  {{ end }}

在您的

values.yaml
文件中,您可以将
release_name
值设置为
Release.Name

release_name: {{ .Release.Name }}
© www.soinside.com 2019 - 2024. All rights reserved.