Helm: instala y revisa aplicaciones en Kubernetes
Helm ayuda a instalar aplicaciones Kubernetes mediante charts. Un chart genera manifiestos a partir de valores, y una release registra una instalación. Esa facilidad no elimina la necesidad de revisar qué permisos, servicios y almacenamiento creará.
Utiliza un clúster de práctica y un chart mantenido. No adoptes repositorios históricos o controladores retirados solo porque aparecen en un tutorial antiguo.
Comprueba herramientas y contexto
helm version
kubectl config current-context
kubectl get nodes
Instala una versión Helm soportada y compatible con tu flujo. Los ejemplos de una versión mayor pueden necesitar adaptación en otra.
Selecciona un chart verificable
Busca al proveedor oficial y revisa mantenimiento, requisitos, licencia y versiones de aplicación. Un nombre conocido en un catálogo no acredita por sí solo procedencia.
Si quieres practicar sin depender de un catálogo, crea un chart local con helm create chart-lab. Inspecciona sus templates y values y utiliza ./chart-lab como referencia en los comandos. El scaffold también debe revisarse: sus recursos predeterminados son un inicio didáctico, no requisitos de tu aplicación.
Fija una versión del chart para una instalación reproducible. La versión del chart y la de la aplicación empaquetada no son necesariamente iguales.
Examina valores y manifiestos
El patrón general es:
helm show values REFERENCIA_DEL_CHART --version VERSION_DEL_CHART
helm template lab REFERENCIA_DEL_CHART \
--version VERSION_DEL_CHART \
--namespace practica \
-f values-lab.yaml
Reemplaza las referencias y crea el archivo de valores. La salida puede contener secretos o configuración sensible; no la publiques completa por rutina.
Revisa RBAC, exposición de servicios, recursos y volúmenes. Un valor predeterminado está pensado para algún contexto, no necesariamente para el tuyo.
Instala en un namespace de práctica
helm install lab REFERENCIA_DEL_CHART \
--version VERSION_DEL_CHART \
--namespace practica --create-namespace \
-f values-lab.yaml --wait --timeout 5m
helm list --namespace practica
kubectl -n practica get pods,services
Que Helm termine correctamente no demuestra que la aplicación cumpla todos tus requisitos. Comprueba acceso, persistencia y funcionamiento desde la perspectiva del usuario.
Actualiza con diferencias revisadas
Conserva values y consulta cambios de versión y migraciones. Una actualización puede cambiar nombres, permisos o formatos de datos.
Revisa el resultado renderizado antes de aplicar. No cambies simultáneamente versión de chart, imagen y configuración de almacenamiento sin un plan.
Rollback y eliminación
helm history permite revisar revisiones y helm rollback puede volver a una configuración anterior de la release. No deshace automáticamente migraciones de base, escrituras o cambios fuera de Helm.
La desinstalación puede dejar ciertos recursos o datos según el chart y las políticas. Identifica volúmenes y recursos compartidos antes de borrar.
Diagnóstico
Si falla una instalación, revisa eventos, pods y valores. Un error de scheduling requiere una investigación distinta de una contraseña equivocada o imagen inexistente.
Los hooks también pueden ejecutar trabajos. Entiende su función antes de repetir una instalación que produjo efectos parciales.
Preguntas frecuentes
¿Helm reemplaza Kubernetes?
No. Genera y administra recursos sobre un clúster existente y necesita acceso autorizado.
¿Debo usar siempre los valores predeterminados?
No. Revisa especialmente permisos, red, almacenamiento y contraseñas para adaptarlos al entorno.
¿Rollback recupera mis datos?
No de forma general. La recuperación de datos necesita un procedimiento independiente compatible con la aplicación.
En pocas palabras
Helm empaqueta manifiestos y administra releases, pero el usuario sigue siendo responsable de los recursos y configuración. Un rollback no restaura automáticamente datos externos o bases de datos.
Conclusión
Revisa manifiestos antes de instalar y conserva los values utilizados. Prueba actualización y retirada en un namespace de laboratorio antes de aplicar el mismo proceso a servicios importantes.
Para continuar, revisa Instalar Kubernetes en Ubuntu desde cero: guía completa y Docker: qué es y cómo usarlo para ejecutar contenedores.
