Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información. Aceptar

Cómo crear un Chart con Helm

Ignacio Millán García
  • Escrito por Ignacio Millán García el 22 de Julio de 2019
  • 1 min de lectura | DevOps
Cómo crear un Chart con Helm
El reproductor de video será cargado en breves instantes.

¿Quieres comenzar a crear tu primera aplicación de Helm? Aquí te detallamos el proceso paso a paso para que seas capaz de realizar tu propio Chart utilizando la herramienta Helm.

Qué son los charts

Antes de comenzar, vamos a explicar qué son los charts y sus características:

  • Así es como se llaman las aplicaciones en la herramienta Helm, y un chart es simplemente una aplicación que se puede instalar en cualquier clúster.
  • Los charts se componen fundamentalmente de ficheros YAML de Kubernetes, es decir, de objetos de Kubernetes, como puede ser un deployment, un service, un ingress, etc., todos los objetos necesarios para desplegar la aplicación.
  • Estos archivos YAML se pueden templatizar con el leguaje Go, ya que se pueden incluir partes dinámicas que se pueden ser personalizadas por el usuario a la hora de despegar la aplicación en el clúster.
  • Se pueden reutilizar los YAML que ya se tienen desplegados, es decir, si ya se tiene una aplicación en formato de objetos de Kubernetes se pueden reutilizar esos archivos para incluirlos en un chart de Helm.
  • Hay algunos archivos con metadatos que siempre se deben incluir en un chart, ya que si no no es posible empaquetarlo para Helm, como son:
    • Chart.yaml: que incluye toda la información acerca del nombre, la descripción y la versión, por ejemplo, de la aplicación que se contiene en ese paquete.
    • values.yaml: aquí se definen los valores por defecto de la aplicación, ya que es necesario definir los valores que se pueden personalizar a la hora de desplegar la aplicación, hay que asignarles siempre un valor por defecto, de forma que si los usuarios no quieren personalizar nada para instalar la aplicación, puedan hacerlo también.
    • README.md: en el mismo se incluye una explicación de todos los values personalizables y los comandos para instalar y utilizar la aplicación de forma sencilla.

Estructura de un chart

Un chart internamente tiene un árbol de directorios como el siguiente:

Imagen 0 en Cómo crear un Chart con Helm

Tiene una carpeta llamada templates, en la que se incluyen los YAML con los objetos de Kubernetes necesarios para la aplicación, y en el que también se pueden incluir otros archivos, como por ejemplo un NOTES.txt también templatizado, en el que se exponen algunas notas para el usuario que instale la aplicación, y que aparecen al finalizar la instalación de la misma.

Fuera de ese directorio templates tenemos los archivos Chart.yaml y el values.yaml, además de también el README.md.

Cómo crear un chart

Helm incluye una funcionalidad para crear los charts de forma sencilla con este comando:

helm create <NOMBRE DEL CHART>

De esta forma se crea una estructura para comenzar con el nombre que le queramos dar, además de los objetos más comunes en Kubernetes que se van a necesitar para toda aplicación, como son deployment o un service, ya personalizados y con buenas prácticas.

Además se pueden personalizar estas plantillas con starters y Helm permite descargar otro tipo de templates. Por ejemplo si queremos desplegar una aplicación stateful, ya existen templates para ello que ofrecen toda la estructura y las buenas prácticas necesarias para poder empezar rápidamente con ello.

Templates

Acerca de los templates, podemos destacar algunos aspectos de los mismos:

  • Utilizan el lenguaje Go para personalizar algunas partes de los YAML
  • Los values son los parámetros con los que se pueden personalizar las partes dinámicas de los mismos.
  • Este lenguaje es muy sencillo, simplemente el código dinámico va entre dos llaves siempre, y tiene todo tipo de comandos, como son condicionales if-else, bucles, definición de variables, etcétera, en resumen todo lo necesario para personalizar el YAML de forma sencilla.

Relacionado

Te dejamos una selección de cursos, carreras y artículos

Especialista en Automatización DevOps

Especialista en Automatización DevOps

carrera

Incluye 6 cursos:

  • Fundamentos Generales: Orquestación y Automatizacion IT
  • Curso de Ansible
  • Curso Online de Vagrant

y 3 cursos más!

Duración: 22 horas y 32 minutos

Cómo instalar y empezar a utilizar Helm

Cómo instalar y empezar a utilizar Helm

DevOps

20 de Julio de 2019

Aprende paso a paso y de una forma guiada cómo realizar la instalación de Helm y los comandos básicos para comenzar a utilizarlo, además de conocer los requisitos previos que necesitas cumplir.

Curso de Helm

Curso de Helm

curso

Con este curso aprenderás:

  • Aprenderás qué es Helm y cómo comenzar a utilizarlo.
  • Conocerás las mejores formas de instalar aplicaciones en Kubernetes.
  • Harás tus propios paquetes de Helm.

Duración: 3 horas y 6 minutos

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars