Helm en Kubernetes
La Trinidad de Helm (Conceptos Clave)
Para dominar Helm, solo necesitas entender cómo interactúan estos tres elementos:
-
Chart (El Paquete): Es el conjunto de plantillas YAML (Deployments, Services, ConfigMaps) preconfiguradas. Es el equivalente a un paquete
.debo.rpm. -
Repository (El Repositorio): Es el servidor donde se almacenan y comparten los Charts. (Ej. Bitnami, el repositorio oficial de métricas, etc.).
-
Release (La Instancia): Es un Chart que ya ha sido instalado en tu clúster. Si instalas el Chart de
nginxtres veces, tendrás tres Releases diferentes corriendo.
Comandos de Supervivencia (Cheat Sheet de Examen)
Gestión de Repositorios:
- Añadir un repo:
helm repo add <nombre-local> <url> - Actualizar la lista (¡Siempre hazlo antes de buscar!):
helm repo update - Buscar un chart:
helm search repo <nombre-app>
Instalación y Personalización:
- Instalación básica:
helm install <nombre-release> <repo/chart> - Instalar en un namespace específico:
helm install <nombre> <repo/chart> -n <namespace> --create-namespace - Instalar inyectando variables (El pan de cada día en CKAD):
helm install <nombre> <repo/chart> --set variable1=valor1,variable2=valor2 - Renderiza el chart template localmente y muestra el resultado:
helm template <nombre-release> <repo/chart> - Verificar un chart:
helm lint <path-to-chart>
Gestión del Ciclo de Vida (Operaciones):
- Ver qué está instalado:
helm list(ohelm ls/ añade-Apara todos los namespaces). - Actualizar un release (ej. cambiar versión de imagen):
helm upgrade <nombre-release> <repo/chart> --set image.tag=v2 - Regresar a la versión anterior (¡Salvavidas!):
helm rollback <nombre-release> <numero-revision> - Borrar todo sin dejar rastro:
helm uninstall <nombre-release>
Tip Crítico del Instructor (CKAD)
En el examen, te pedirán que instales un Chart pero modificando ciertos valores por defecto (como el puerto, o deshabilitando la persistencia). Tienes dos formas de hacerlo:
-
Vía
--set: Ideal para 1 o 2 cambios rápidos (ej.--set service.type=NodePort). -
Vía archivo (Values): Si te piden cambiar muchas cosas, exporta los valores por defecto a un archivo, edítalo con
vi, y luego instálalo:helm show values <repo/chart> > mis-valores.yamlhelm install <nombre> <repo/chart> -f mis-valores.yaml