¿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:
-
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. -
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.yamly 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).