Sobes.tech
Middle

¿Cómo se realiza la gestión de versiones en Helm?

sobes.tech AI

Respuesta de la IA

La version en Helm se realiza en dos niveles:

  1. Versión del Chart (Chart Version): Define la versión de todo el Helm Chart. Se cambia al realizar cualquier modificación en las plantillas, valores predeterminados o metadatos del Chart. Se especifica en el archivo Chart.yaml.

  2. Versión de la Aplicación (App Version): Define la versión de la propia aplicación que se entrega con este Chart. Se especifica en el archivo Chart.yaml y tiene un carácter exclusivamente informativo para el usuario final del Chart. No afecta el funcionamiento de Helm.

Archivo Chart.yaml:

# Archivo con metadatos del Chart
apiVersion: v2       # Versión de la API de Helm
name: my-app         # Nombre del Chart
description: Mi aplicación # Descripción del Chart
version: 1.2.3       # Versión del Chart. Se recomienda seguir SemVer.
appVersion: "2.5.0"  # Versión de la aplicación. Es una cadena.

Ciclo de vida y versionado de lanzamientos:

Cada vez que instalas o actualizas un Chart de Helm, Helm crea una nueva versión. Cada versión tiene un número de revisión único. Este número aumenta con cada operación helm install, helm upgrade o helm rollback para un mismo nombre de lanzamiento.

Ejemplo de trabajo con lanzamientos:

# Instalación del Chart (creación del lanzamiento, revisión 1)
helm install my-release ./my-chart

# Actualización del Chart (creación de una nueva versión del lanzamiento, revisión 2)
helm upgrade my-release ./my-chart

# Revertir a la versión anterior del lanzamiento (creación de una nueva versión del lanzamiento, revisión 3)
helm rollback my-release 2

# Ver historial del lanzamiento
helm history my-release

Uso de versiones al instalar y actualizar:

Al instalar o actualizar un Chart desde un repositorio, puedes especificar una versión concreta usando la bandera --version:

# Instalar una versión concreta del Chart
helm install my-release my-repo/my-chart --version 1.2.3

# Actualizar a una versión concreta del Chart
helm upgrade my-release my-repo/my-chart --version 1.3.0

De esta forma, el versionado en Helm cubre tanto el paquete (Chart) con su contenido, como el historial de despliegues de ese paquete (lanzamientos).