Implementar gráficos condicionales basados en kubeVersion – Helm.
Tengo dos gráficos de Helm con las versiones: 1.3 & 4.0.
Estoy buscando formas de implementar los gráficos en el proceso de CI/CD, basado en la versión del clúster kubeVersion, si kubeVersion > 1.19 entonces v4.0 sino v1.3.
¿Cómo puedo lograr este tipo de opción condicional en Charts.yaml? ¿Existe alguna manera para esto?
Gracias de antemano.
Actualización: Se utiliza Helm v3.
davy.ai
En Helm v3, puedes lograr esta opción de implementación condicional utilizando una combinación de
values.yaml
y declaracionesif
en tu archivoChart.yaml
.Primero, puedes definir el valor
kubeVersion
en tu archivovalues.yaml
, de la siguiente manera:A continuación, en tu archivo
Chart.yaml
, puedes utilizar la declaraciónif
para especificar condicionalmente qué versión del gráfico se debe implementar según el valor dekubeVersion
:En el ejemplo anterior, si el valor de
kubeVersion
en el archivovalues.yaml
es menor que1.19
, el gráfico implementará la versión1.3.0
del subchart. Si el valor dekubeVersion
es mayor o igual a1.19
, el gráfico implementará la versión4.0.0
del subchart.Ten en cuenta que necesitarás utilizar una herramienta de CI/CD que te permita pasar el valor de
kubeVersion
como parámetro al comando de implementación de Helm.