¿Qué es Helm y para qué sirve?

Copiar URL

El desarrollo de aplicaciones en Kubernetes es, de por sí, una tarea compleja: es probable que deba instalar, gestionar y actualizar cientos de configuraciones por cada aplicación que desarrolle. 

Gracias a Helm, este proceso es más sencillo, ya que automatiza la distribución de las aplicaciones con un formato de paquetes denominado charts de Helm. De manera similar a la forma en la que yum gestiona los paquetes RPM para Red Hat® Enterprise Linux®, Helm gestiona los charts para Kubernetes. Estos conservan la uniformidad de los contenedores y, a la vez, definen la manera en que se cumplirán los requisitos específicos de las aplicaciones.

Al ser el gestor de paquetes para Kubernetes, Helm permite aplicar el mismo marco de configuración a varias instancias utilizando la anulación de variables, siempre teniendo en cuenta lo que sea más importante para los ajustes particulares. 

Helm logo

Dato curiosoHelm es un proyecto open source que surgió de la fundación Cloud Native Computing Foundation (CNCF). En 2015, se lo presentó en la KubeCon inaugural y, luego, migró a la CNCF con Kubernetes.

Helm describe la aplicación, desde su definición hasta su actualización, en lo que se conoce como chart de Helm. Utiliza estos charts (que son similares a las plantillas) para pasar los recursos al clúster de Kubernetes a través de la API de la plataforma. 

Además, gestiona los charts con la herramienta de la interfaz de línea de comandos (CLI) denominada helm y varios comandos sencillos que le permiten crear, controlar y configurar la aplicación. 

Obtenga más información sobre Helm y Red Hat OpenShift

Recursos de Red Hat

Los charts de Helm son conjuntos de archivos que describen los recursos del clúster de Kubernetes y los empaquetan juntos como una aplicación. Están conformados por tres elementos básicos:

  • El chartChart.yaml define los metadatos de la aplicación, como el nombre, la versión y la dependencia, entre otros aspectos. 
  • Los valoresvalues.yaml establece los valores, que es la manera en que definirá las sustituciones de las variables para reutilizar el chart.
    • También puede aplicar el esquema JSON que describe una estructura para los archivos de valores, lo cual le ayuda a crear formularios dinámicos y a validar los parámetros.
  • El directorio de plantillastemplates/ almacena las plantillas y las combina con los valores establecidos en el archivo values.yaml para crear los manifiestos.
  • El directorio de los chartscharts/ almacena todas las dependencias de los charts que se definan en Chart.yaml y se reconstruyan con helm dependency build o helm dependency update.

Cada vez que instala un chart de Helm, también crea una instancia de él denominada versión. Los charts se mantienen con cada versión nueva, para que pueda volver a utilizar cualquier versión anterior fácilmente y restaurar la configuración que prefiera.

¿Cómo funcionan los chart de Helm?

Para ver su funcionamiento, dé un vistazo a este episodio de Ask a Product Manager Office Hours, en el cual se habla sobre el uso de Helm con Red Hat OpenShift®.

Luego de instalar la interfaz de línea de comandos (CLI) de Helm tiene dos opciones: usar un chart que ya posea con recursos y valores definidos con anterioridad o crear uno personalizado para empaquetar sus propios recursos de aplicaciones.

¿Cómo usar un chart de Helm ya existente?

En este caso debe primero añadir el repositorio de Helm a su cliente y luego establecer los parámetros de configuración específicos en los archivos de valores en el momento de la instalación.

Los archivos de valores son fundamentales para reutilizar los charts de Helm en las configuraciones individuales. Puede sustituir cualquier variable declarada en values.yaml, y Helm creará la estructura .values para conservarlas en la plantilla. Esto permite que se puedan sustituir las variables en las próximas configuraciones. Puede pasar a un chart la cantidad de archivos de valores que desee; Helm los combinará y procesará en conjunto para que pueda reutilizarlos.

Una vez que haya guardado o enviado las configuraciones de los valores, podrá actualizar y gestionar el ciclo de vida de las aplicaciones mediante comandos de Helm comunes.

Creación de un chart personalizado

Es posible que necesitecrear un chart personalizado para empaquetar las aplicaciones que desee reutilizar en toda la empresa o dentro de una carga de trabajo específica. Para ello, debe definir los recursos de la aplicación en el directorio templates/ del chart, establecer los parámetros de la configuración mediante los archivos de valores y agregar todos los metadatos y la documentación al archivo Chart.yaml.

Luego, puede empaquetar el chart utilizando helm package y cargarlo a un repositorio de Helm público o privado, o distribuirlo directamente.

Los patrones validados de Red Hat son ejemplos útiles de los charts de Helm actuales que puede personalizar. Estos patrones son charts que describen una carga de trabajo completa que se implementó en un sitio del cliente y cumplió con una serie de requisitos de prueba y mantenimiento. Se pueden utilizar directamente o modificar para que concuerden con sus necesidades de configuración.

Obtenga más información sobre los patrones validados

Al ser parte de su estrategia general de GitOps, Helm es una herramienta muy útil que proporciona agilidad, seguridad y uniformidad en varios entornos. Cuando se combina con una herramienta de comunicación de multicloud, como Red Hat Service Interconnect, es particularmente útil para las implementaciones complejas que utilizan varios microservicios en distintos proveedores de nube.

Los charts de Helm permiten que los desarrolladores de Kubernetes pongan en marcha las aplicaciones de forma rápida y sencilla, y que puedan reutilizarlas o compartirlas.  

Además, son una herramienta uniforme que pueden utilizar los administradores de sistemas y otros profesionales de las operaciones de TI para implementar y optimizar la integración y el desarrollo continuos (CI/CD) en los canales de sus aplicaciones. Ofrecen agilidad y uniformidad.

Dé un vistazo a los siguientes tutoriales de Red Hat® Developer para realizar todo el proceso a modo de prueba, desde la creación del chart hasta la configuración de los valores y la implementación.

Pruebe Helm en Red Hat Developer

Hub

Blogs de Red Hat

Aquí encuentras la información más reciente sobre nuestros clientes, partners y comunidades open source.

Todas las versiones de prueba de los productos de Red Hat

Con las versiones de prueba gratuitas de nuestros productos, podrás adquirir experiencia práctica, prepararte para obtener una certificación o evaluar las soluciones para saber si son adecuadas para tu empresa.

Más información

¿Qué es Podman Desktop?

Se trata de una herramienta open source gratuita que simplifica el uso de contenedores en un entorno de desarrollo local.

Los remplazos de CentOS

Las distribuciones de Linux que poseen más características similares en relación con CentOS Linux facilitarán la transición antes de que llegue al final de su vida útil (EOL) el 30 de junio de 2024.

¿Qué es CentOS?

CentOS es un proyecto open source que ofrece dos distribuciones de Linux® diferentes: CentOS Stream y CentOS Linux.

Open source: lecturas recomendadas

Artículos relacionados