Descripción general
Helm es una herramienta esencial para implementar y gestionar aplicaciones en un clúster de Kubernetes. Permite buscar aplicaciones en repositorios de charts, instalarlas y realizar actualizaciones y reversiones a través de la gestión de versiones. Esto permite agrupar y gestionar recursos complejos de Kubernetes como una unidad lógica.
Funciones principales
Las funciones clave que ofrece Helm son las siguientes:
- Empaquetado de aplicaciones de Kubernetes (Charts)
- Gestión y búsqueda de repositorios de charts
- Implementación, actualización y reversión de aplicaciones
- Gestión de lanzamientos y seguimiento del historial
- Configuración flexible a través de plantillas
Instalación
Helm no suele estar incluido por defecto en la mayoría de las distribuciones de Linux, por lo que debe instalarse manualmente. A continuación, se presentan los métodos de instalación comunes.
Instalación mediante script (recomendado)
curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
Este es el método más común y recomendado para instalar Helm utilizando el script de instalación oficial.
Instalación con Homebrew (macOS/Linux)
brew install helm
Si utilizas el gestor de paquetes Homebrew, puedes instalar Helm con el siguiente comando.
Instalación con apt (Debian/Ubuntu)
curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null
sudo apt-get install apt-transport-https --yes
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm
En sistemas basados en Debian o Ubuntu, puedes instalar Helm a través del gestor de paquetes apt.
Subcomandos principales
Los comandos de Helm permiten una gestión flexible de las aplicaciones de Kubernetes a través de varios subcomandos. A continuación, se presentan los subcomandos principales de uso frecuente.
Gestión de lanzamientos
Gestión de charts
Consultar información
Comando generado:
Combina los comandos.
Descripción:
`helm` Ejecutando el comando.
Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.
Ejemplos de uso
Aquí tienes algunos ejemplos de cómo gestionar aplicaciones de Kubernetes utilizando las funciones principales de Helm.
Añadir un repositorio de charts
helm repo add bitnami https://charts.bitnami.com/bitnami
Añade el repositorio de charts de Bitnami para poder utilizar una variedad de charts de aplicaciones.
Actualizar repositorios de charts
helm repo update
Actualiza la información de todos los repositorios de charts añadidos al estado más reciente.
Buscar charts
helm search repo nginx
Busca charts que contengan la palabra clave 'nginx' en los repositorios.
Instalar un chart
helm install my-nginx bitnami/nginx
Instala el chart de Nginx de Bitnami con el nombre 'my-nginx'.
Verificar la lista de lanzamientos
helm list
Verifica la lista de todos los lanzamientos de Helm implementados actualmente en el clúster de Kubernetes.
Actualizar un lanzamiento
helm upgrade my-nginx bitnami/nginx --set service.type=NodePort
Actualiza el lanzamiento existente 'my-nginx' y cambia el tipo de servicio de Nginx a NodePort.
Desinstalar un lanzamiento
helm uninstall my-nginx
Elimina el lanzamiento llamado 'my-nginx' y todos los recursos de Kubernetes asociados.
Consejos y precauciones
Aquí tienes algunos consejos y precauciones para utilizar Helm de manera efectiva y evitar problemas potenciales.
Desarrollo y validación de charts de Helm
Consejos útiles al desarrollar tus propios charts o modificar los existentes.
- Utiliza el comando `helm create <nombre-del-chart>` para crear la estructura básica de un chart, y luego modifica `values.yaml` y los archivos de plantilla para definir tu aplicación.
- Utiliza `helm lint <ruta-del-chart>` para validar la sintaxis de tu chart y detectar posibles errores o advertencias de antemano. Esto es muy útil para solucionar problemas antes de la implementación.
Gestión segura de lanzamientos
Formas de reducir los riesgos asociados con la implementación y las actualizaciones.
- Al usar `helm install` o `helm upgrade`, combina las opciones `--dry-run --debug` para verificar los manifiestos YAML renderizados antes de la implementación real. Esto es muy útil para identificar cambios o errores inesperados con antelación.
- A partir de Helm 3, la opción `--purge` ya no es necesaria para desinstalar un lanzamiento, y todos los recursos se eliminan por defecto. Si deseas conservar el historial de lanzamientos, utiliza `helm uninstall --keep-history <nombre-del-lanzamiento>`.
Especificar namespaces
Cómo implementar lanzamientos en un namespace específico de Kubernetes.
- Descripción: Utiliza la opción `--namespace <nombre-del-namespace>` en `helm install` o `helm upgrade` para implementar un lanzamiento en un namespace específico. Si el namespace no existe, puedes añadir la opción `--create-namespace` para crearlo automáticamente.