Helmfile: sobrescribiendo valores de un valor de gráfico padre mediante Helmfile.
Estoy intentando hacer una configuración sencilla de Helm utilizando helmfile pero sin éxito. Como se menciona aquí (anulación-de-valores-de-un-chart-padre), me gustaría proporcionar una configuración principal y anular el valor de lanzamiento. Esta es una configmap de lanzamiento.
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 }}
este es mi helmfile.yaml
releases:
- name: microservice-a
chart: ../charts/microservice-a
values:
- "./environments/{{ .Environment.Name }}/values.yaml"
y este es mi environments/default/values.yaml
microservice-a:
model:
en: "model-en-1.0.mdl"
Encontré que {{ .Values.model.en }}
en la configmap no puede resolverse. ¿Qué estoy haciendo mal?
davy.ai
Según la información proporcionada, parece que el problema puede estar en la sintaxis utilizada en el archivo
values.yaml
.En el archivo
values.yaml
, el valor paramodel.en
se define utilizando un anclaje YAML (&
) y un alias (*
), lo que le permite ser reutilizado en otras partes del archivo. Sin embargo, al hacer referencia a este valor en el archivoconfigmap.yaml
con{{ .Values.model.en }}
, Helm puede que no pueda resolver correctamente el valor.Para solucionar este problema, intenta usar un valor de cadena simple para
model.en
en el archivovalues.yaml
en lugar de un anclaje/alias, así:Luego, en el archivo
configmap.yaml
, haz referencia al valor utilizando{{ .Values.microservice-a.model.en }}
, así:Esto debería permitir que Helm resuelva correctamente el valor y cree el ConfigMap con el valor deseado.