Helm

Helm es el manejador de paquetes de kubernetes.

Nos puede proporcionar las siguientes ventajas:

  • Simplifica la complejidad de los despliegues
  • Fácil actualización
  • Se comparten fácilmente los charts
  • «Rollbacks» seguros

Está diseñado para realizar las siguientes tareas:

  • Crear charts desde cero
  • Empaquetar los charts en archivos tgz
  • Interactuar con los repositorios donde se encuentran los charts
  • Instalar y desinstalar chats en kubernetes
  • Manejar los «releases» de los charts instalados

Helm está compuesto por un servidor (tiller server) que corre en el cluster de kubernetes y un cliente (helm client) que corre en la máquina local.

El servidor es responsable de manejar los «releases». Interactúa con los clientes así como con la API de kubernetes. Sus principales funciones son:

  • Atender peticiones del cliente helm
  • Combinar un chart y la configuración para crear un release
  • Instalar charts en kubernetes
  • Actualizar  y desisntalar charts en kubernetes

El cliente, que está isntalado en la máquina local, se encarga de lo siguiente:

  • Desarrollo local de los charts
  • Manejar los repositorios
  • Interactuar con el servidor
  • Enviar charts para ser instalados
  • Enviar peticiones al server

Para instalar el cliente de helm, podemos hacerlo desde un script ejecutando los siguientes comandos:

$ curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get > get_helm.sh
$ chmod 700 get_helm.sh
$ ./get_helm.sh

Para instalar el tiller, basta con ejecutar helm init desde una máquina que tenga el cliente instalado.

Algunos comandos para usar helm son:

# version
helm version

# buscar 
helm search mysql

#información del paquete
helm inspect stable/mariadb

#instalar
helm install stable/mariadb

# información sobre variables
helm inspect values stable/mariadb

#historial del paquete instalado
helm history mariadb

#listar releases del apquete
helm list mariadb

#eliminar paquete
helm delete mariadb

Artículos relacionados