Este repositorio tiene el chart para instalar un apache de prueba en un cluster de K8s, el objetivo de este ejercicio se realizó para practicar la creación de un Chart propio. El deployment a usar es el mismo de este ejercicio: https://github.com/ajmezav/Cronjob-with-kubectl—restart-deployment-apache/blob/main/deployment_apache.yaml . Los pasos que se siguieron fueron los siguientes:
Tener instalado HELM en el equipo https://helm.sh/docs/intro/install/
Se crea una carpeta donde se va almacenar toda la información del Chart y templates
Se crea el template de referencia con el comando:
helm create apache_prueba
, al hacer esto se creará la siguiente estructura:
Para este ejemplo solo dejaremos los siguientes archivos:
;Donde Chart.yaml tiene el versionamiento y descripción de el Chart personalizado, el archivo values.yaml contiene los valores que seran leídos como parametros en los templates y que el usuario final puede modificar al instalar el Chart , la carpeta templates contiene los manifiestos que desplegará el chart en este caso es un deployment.
helm package apache_prueba
esto básicamente comprimirá toda la estructura que contiene el repositorio Helm (Chart, values,templates ,etc)
helm repo index .
helm repo add apache https://ajmezav.github.io/helmcharts/
helm repo update
helm search repo apache
helm install --dry-run myapache apache/apache_prueba
helm install myapache apache/apache_prueba
Para actualizar el Chart se debe crear de nuevo el repo o comprimir con “helm package” y crear el nuevo index , aparte de cambiar el versionamiento en el Chart.yaml y publicar los cambios en Git , por último se procede a actualizar la instalación del Chart:
helm repo update
helm upgrade myapache apache/apache_prueba
Se puede cambiar la cantidad de réplicas de Pods a desplegar con este chart:
helm install myapache apache/apache_prueba --set replica_pod=2
Para ver qué opciones se pueden configurar en un chart, use:
helm show values apache/apache_prueba
helm uninstall myapache
helm repo list
helm repo remove apache
Ref: https://helm.sh/es/docs/intro/using_helm/