Saltar al contenido principal

Lab 10.3 - Creación de un Chart Personalizado

Objetivos del Lab​

Al finalizar este laboratorio, usted será capaz de:

  • Crear un Chart Helm con helm create.
  • Comprender la estructura de un Chart.
  • Modificar los templates.
  • Utilizar valores en los templates.
  • Empaquetar e instalar su Chart.

Duración Estimada​

60-75 minutos

Requisitos Previos​

  • Helm instalado y configurado.
  • Cluster Kubernetes local funcional.
  • Conocimientos sobre Charts Helm (Capítulo 10.3).

Parte 1: Creación de un Chart​

Paso 1.1: Crear un Nuevo Chart​

Cree un nuevo Chart:

helm create my-app-chart

Examine la estructura:

tree my-app-chart
# o
ls -la my-app-chart/

Parte 2: Estructura de un Chart​

Paso 2.1: Examinar los Archivos​

Revise los archivos principales:

# Chart.yaml
cat my-app-chart/Chart.yaml

# values.yaml
cat my-app-chart/values.yaml

# Templates
ls my-app-chart/templates/

Parte 3: Personalización del Chart​

Paso 3.1: Modificar Chart.yaml​

Edite my-app-chart/Chart.yaml:

apiVersion: v2
name: my-app-chart
description: Un Chart Helm personalizado para mi aplicación
type: application
version: 0.1.0
appVersion: "1.0"

Paso 3.2: Modificar values.yaml​

Edite my-app-chart/values.yaml:

replicaCount: 2

image:
repository: nginx
pullPolicy: IfNotPresent
tag: "1.20"

service:
type: ClusterIP
port: 80

ingress:
enabled: false

Parte 4: Modificación de los Templates​

Paso 4.1: Examinar un Template​

Revise el template de Deployment:

cat my-app-chart/templates/deployment.yaml

Paso 4.2: Personalizar el Template​

Modifique el template para agregar variables de entorno:

# En deployment.yaml, agregue dentro del contenedor:
env:
- name: APP_NAME
value: {{ .Values.nameOverride | default .Chart.Name }}

Parte 5: Prueba e Instalación​

Paso 5.1: Validar el Chart​

Valide la sintaxis:

helm lint my-app-chart

Paso 5.2: Dry-Run​

Pruebe sin instalar:

helm install my-app my-app-chart --dry-run --debug

Paso 5.3: Instalar el Chart​

Instale su Chart:

helm install my-app my-app-chart

Verifique:

helm list
kubectl get all -l app.kubernetes.io/instance=my-app

Parte 6: Empaquetado​

Paso 6.1: Empaquetar el Chart​

Cree un paquete:

helm package my-app-chart

Esto crea un archivo .tgz.

Paso 6.2: Instalar desde el Paquete​

Instale desde el paquete:

helm install my-app-from-package my-app-chart-0.1.0.tgz

Parte 7: Limpieza​

helm uninstall my-app my-app-from-package
rm -rf my-app-chart my-app-chart-0.1.0.tgz

Resumen del Lab​

En este laboratorio, usted ha creado su primer Chart Helm personalizado. Aprendió la estructura de un Chart, cómo modificar los templates y cómo empaquetar su Chart.


Próximos Pasos​

El último laboratorio de este módulo le mostrará cómo utilizar Helmfile para la gestión multi-entornos.

Lab 10.4: Helmfile y Multi-entornos


Lab creado el: Diciembre 2024