sábado, 16 de agosto de 2025

Helm, una herramienta para administrar paquetes Kubernetes

Helm es una herramienta software que nos ayuda a encontrar, compartir y usar software construido para Kubernetes.

Salvando las distancias es como un CPAN o cualquier otro gestor de paquetes.

Como hemos hablado en otros posts, Kubernetes es un gestor de contenedores que se encarga del mantenimiento, organización y la escalabilidad de nuestros contenedores (que pueden estar hechos o no con Docker). Helm vendría siendo su propio CPAN. Si se requiere un paquete para Kubernetes, esta herramienta la podrá buscar e instalar en nuestro ambiente. También podrá permitirnos agregar repositorios donde podremos descargar paquetes o compartir los nuestros.

Helm se une a las decenas (¿o centenas o quizás miles?) de herramientas DevOps que son populares hoy en día.

Esta herramienta requiere cierto conocimiento sobre herramientas como Docker y, por supuesto, Kubernetes.

La documentación oficial provee guías sobre su uso. Comandos de lo básico a lo avanzado y hasta ejemplos de cómo se debería usar.

Un concepto dentro de Helm son los Charts. Según la documentación oficial, los Charts de Helm te ayudan a definir, instalar y actualizar incluso la aplicación de Kubernetes más compleja. Originalmente, el objetivo de Helm era proporcionar a los usuarios una forma mejor de gestionar todos los archivos YAML de Kubernetes que creamos en los proyectos de Kubernetes.

¿Qué es un Chart Helm?

En pocas plabras, es un paquete que contiene toda la información necesaria para implementar una aplicación en Kubernetes.

Los Charts son fáciles de crear, versionar, compartir y publicar - así que puedes comienzar a utilizar Helm y deja de copiar y pegar.

Helm instala todo el árbol de dependencias de un proyecto si ejecuta el comando install para el gráfico de nivel superior. Sólo tiene que ejecutar un único comando para instalar toda su aplicación, en lugar de listar los ficheros a instalar mediante ``kubectl``.

Tampoco olvidar el ``config``, el cual contiene información de configuración que puede fusionarse en un chart empaquetado para crear un objeto releaseable. Y el ``release``, que es una instancia en ejecución de un chart, combinado con un config específico.

Estos son los tres conceptos que debemos tener presentes al usar Helm.

Instalando Helm

Requisitos:

  • Un clúster de Kubernetes configurado y accesible. 
  • Tener la herramienta ``kubectl` instalada y configurada para interactuar con el clúster. 
  •  Un entorno local con acceso a la línea de comandos.

Para instalarlo, puedes ir a este sitio y descargarlo:

https://github.com/helm/helm/releases/tag/v3.18.5

También existe la opción de instalarlo mediante con un administrador de paquetes como Homebrew, chocolatey , scoop o snap:

Homebrew:

$ brew install helm

Chocolatey:

$ choco install kubernetes-helm

Scoop

$ scoop install helm

Snap:

$ sudo snap install helm --classic

Una vez instalado en tu equipo deberás agregarlo a tu PATH. Para validar la instalación, abre una consola y escribe:

$ helm version

Podemos agregar un repositorio:

$ helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx

Buscar un paquete:

$ helm search repo ingress-nginx

Actualizar el repositorio:

$ helm repo update

Continuando con la documentación oficial de Helm, nos ayuda a:

  • Nos permite crear nuevos charts (paquetes) desde cero. 
  • Empaquetar charts en archivos de charts (tgz). 
  • Interactuar con repositorios de charts donde se almacenan charts. 
  • Instalar y desinstalar charts en un clúster Kubernetes existente. 
  • Gestionar el ciclo de lanzamiento de los charts instalados con Helm.

En conclusión, Helm nos ayuda con la gestión de las aplicaciones de Kubernetes y es una herramienta que se ha vuelto esencial en gestiones de DevOps. Es necesario tener nociones semi avanzadas o avanzadas sobre Docker y Kubernetes si le queremos sacar un buen provecho a la herramienta.

Enlaces:

https://helm.sh
https://codemonkeyjunior.blogspot.com/2025/01/kubernetes-como-si-le-explicaras-tu.html
https://www.freecodecamp.org/espanol/news/que-es-un-helm-chart-un-tutorial-para-principiantes-en-kubernetes/
https://learn.microsoft.com/es-es/azure/aks/kubernetes-helm?WT.mc_id=containers-19838-ludossan

No hay comentarios:

Publicar un comentario

Programando en C# no. 9 (usando Nuget)

En un anterior post hablamos sobre Nuget . El cual es el administrador de paquetes para .NET. Con Nuget podemos: Consumir paquetes de ...

Etiquetas

Archivo del blog