
Vamos a vitaminar nuestro cluster!
Por regla general, una aplicación en Kubernetes, consta de distintos ficheros, deployments, services, secrets, ingress, etc. Y de la misma manera que los sistemas Linux tienen un gestor de paquetes que facilitan su instalación, Kubernetes también tiene su propio gestor, llamado Helm. Basada también en repositorios, Helm nos facilita la instalación de aplicaciones así como la configuración necesaria para hacerla funcionar.
Read more: Gestor de paquetes: Helm!En mi opinión, Helm debe de ser un apoyo, nunca nuestra única herramienta para instalar nuestras aplicaciones. Con el tiempo, me he dado cuenta de que muchas de ellas, no están del todo preparadas para ser desplegadas de manera automática, sino que requiere un control mas profundo de sus componentes; el ejemplo más claro es Nextcloud, aunque eso lo veremos más adelante.
Para instalarlo, simplemente seguir la documentación oficial pero sobre todo es importante que la versión sea la 3.x o superior.
Si hemos seguido correctamente los pasos descritos en el punto anterior, deberíamos ser capaces de ver algo similar a lo siguiente:
i5js@nanoserver:~$ helm version
version.BuildInfo{Version:"v3.5.0", GitCommit:"32c22239423b3b4ba6706d450bd044baffdcf9e6", GitTreeState:"clean", GoVersion:"go1.15.6"}
Ahora, vamos añadir repositorios, para poder instalar las aplicaciones después. Empezamos por el oficial: https://kubernetes-charts.storage.googleapis.com
i5js@nanoserver:~$ helm repo add stable https://kubernetes-charts.storage.googleapis.com "stable" has been added to your repositories i5js@nanoserver:~$ helm repo update Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "stable" chart repository Update Complete. ⎈ Happy Helming!⎈
Algunos comandos que nos serán útiles:
- Instalar una aplicación:
helm install <deployment_name> <chart_name> --namespace <namespace> --set <property_value_to_change> - Eliminar una aplicación:
helm uninstall <deployment_name> --namespace <namespace> - Lista las aplicaciones instaladas:
helm list --namespace <namespace>
Podeis profundizar en éstas y otras opciones en la documentación oficial
