Helm es un gestor de paquetes para Kubernetes que facilita la implementación, actualización y gestión de aplicaciones en un cluster. En esta guía, aprenderás cómo instalar Helm en tu entorno Kubernetes y cómo utilizarlo para gestionar tus aplicaciones.
1. ¿Qué es Helm?
Helm es una herramienta que simplifica la administración de aplicaciones en Kubernetes. Funciona como un gestor de paquetes, similar a apt
para Ubuntu o yum
para CentOS, pero específicamente para Kubernetes.
Algunos beneficios de usar Helm incluyen:
- Despliegue Fácil: Instala y actualiza aplicaciones complejas con un solo comando.
- Gestión de Versiones: Mantén versiones específicas de tus aplicaciones.
- Rollback: Facilita la reversión a versiones anteriores si algo sale mal.
- Configuración Consistente: Proporciona una forma declarativa de configurar y gestionar aplicaciones.
2. Requisitos Previos
Antes de instalar Helm, asegúrate de tener:
- Un cluster de Kubernetes en funcionamiento. (Puedes instalar un cluster minikube siguiendo las instrucciones de https://www.sudosu.com.ar/linux/tutoriales/introduccion-a-kubernetes-desplegando-tu-primer-pod/ )
kubectl
configurado para interactuar con tu cluster.- Permisos necesarios para crear recursos en el cluster.
3. Instalación de Helm
Paso 1: Descargar el Script de Instalación
Helm proporciona un script para facilitar su instalación. Ejecuta el siguiente comando para descargar y ejecutar el script de instalación:
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
Paso 2: Verificar la Instalación
Una vez completada la instalación, verifica que Helm se haya instalado correctamente ejecutando:
helm version
Deberías ver la versión de Helm instalada.
4. Configuración de Helm
Paso 1: Inicializar Helm
Helm ya no requiere un Tiller en el cluster para operar (a diferencia de Helm 2). Por lo tanto, no necesitas inicializar Helm en el cluster.
Paso 2: Agregar Repositorios de Charts
Helm utiliza repositorios de charts para encontrar aplicaciones que se pueden instalar. Puedes agregar un repositorio de charts oficial utilizando el siguiente comando:
helm repo add stable https://charts.helm.sh/stable
Actualiza la lista de charts disponibles:
helm repo update
5. Instalación de Aplicaciones con Helm
Para demostrar cómo usar Helm, instalaremos una aplicación simple, como nginx.
Paso 1: Buscar un Chart
Busca el chart de nginx en los repositorios añadidos:
helm search repo nginx
Paso 2: Instalar el Chart
Instala nginx usando Helm:
helm install my-nginx stable/nginx-ingress
Este comando instala nginx en tu cluster de Kubernetes con el nombre my-nginx
.
Paso 3: Verificar la Instalación
Verifica que los recursos se hayan creado correctamente:
kubectl get all -l app.kubernetes.io/name=nginx-ingress
Deberías ver los pods, servicios y otros recursos relacionados con nginx.
6. Gestión de Aplicaciones con Helm
Actualización de Aplicaciones
Para actualizar una aplicación instalada con Helm:
helm upgrade my-nginx stable/nginx-ingress
Desinstalación de Aplicaciones
Para desinstalar una aplicación instalada con Helm:
helm uninstall my-nginx
Este comando elimina todos los recursos creados por Helm para la aplicación my-nginx
.
7. Configuración Avanzada de Helm
Helm permite personalizar las instalaciones mediante el uso de archivos de valores.
Crear un Archivo de Valores
Crea un archivo de valores llamado values.yaml
:
controller:
replicaCount: 2
Instalar con un Archivo de Valores Personalizado
Instala nginx utilizando el archivo de valores personalizado:
helm install my-nginx stable/nginx-ingress -f values.yaml
8. Conclusión
Helm es una herramienta poderosa para la gestión de aplicaciones en Kubernetes. Facilita el despliegue, actualización y administración de aplicaciones complejas mediante el uso de charts. Siguiendo esta guía, has aprendido a instalar Helm y a utilizarlo para gestionar aplicaciones en tu cluster de Kubernetes.