Helmfile - 使用 Helmfile 覆盖父图表值中的值

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

我正在尝试使用 helmfile 进行简单的 helm 配置,但没有成功。 正如提到的here(覆盖父图表中的值)我想提供一个父配置并覆盖发布值。 这是一个发布配置图

charts/microservice-a/templates/configmap.yaml

apiVersion: v1
kind: ConfigMap
metadata:
   labels: {{- include "microservice-a.labels" . | nindent 4 }}
   name: {{ include "microservice-a.fullname" . }}-config
   namespace: {{ .Release.Namespace }}
data:
   MODEL.EN: {{ .Values.model.en }}

这是我的 helmfile.yaml

releases:
   - name: microservice-a
     chart: ../charts/microservice-a
     values:
       - "./environments/{{ .Environment.Name }}/values.yaml"

这是我的环境/default/values.yaml

microservice-a:
  model:
    en: "model-en-1.0.mdl"

我发现configmap中的

{{ .Values.model.en }}
无法reslove。 我做错了什么?

kubernetes-helm helmfile
1个回答
1
投票

Helmfile 直接执行相当于

helm install
的操作;不存在父/子图表关系。 这意味着您的
values.yaml
文件不需要顶级
microservice-a
块。

如果您确实希望为每个服务进行单独的配置(合理),那么您可以使用

{{ .Release.Name }}
作为文件名的一部分。 例如:

# helmfile.yaml
releases:
   - name: microservice-a
     chart: ../charts/microservice-a
     values:
       - "./environments/{{ .Environment.Name }}/values-{{ .Release.Name }}.yaml"
# environments/dev/values-microservice-a.yaml
model:
  en: "model-en-1.0.mdl"
© www.soinside.com 2019 - 2024. All rights reserved.