2 min de lectura
Guia completa de Helm Charts para Kubernetes
Helm es el gestor de paquetes de facto para Kubernetes. En esta guía aprenderás todo lo necesario para dominar Helm Charts.
¿Qué es Helm?
Helm simplifica el despliegue de aplicaciones en Kubernetes mediante:
- Charts: Paquetes pre-configurados de recursos Kubernetes
- Releases: Instancias de charts desplegadas en el cluster
- Repositories: Colecciones de charts compartibles
Instalación de Helm
# macOS
brew install helm
# Linux
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
# Verificar instalación
helm version
Estructura de un Chart
mychart/
├── Chart.yaml # Metadata del chart
├── values.yaml # Valores por defecto
├── charts/ # Dependencias
├── templates/ # Plantillas de recursos
│ ├── deployment.yaml
│ ├── service.yaml
│ ├── ingress.yaml
│ ├── _helpers.tpl
│ └── NOTES.txt
└── .helmignore
Creando tu primer Chart
helm create myapp
Chart.yaml
apiVersion: v2
name: myapp
description: Mi primera aplicación Helm
version: 0.1.0
appVersion: "1.0.0"
values.yaml
replicaCount: 3
image:
repository: nginx
tag: "1.21"
pullPolicy: IfNotPresent
service:
type: ClusterIP
port: 80
ingress:
enabled: true
hostname: myapp.local
templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "myapp.fullname" . }}
labels:
{{- include "myapp.labels" . | nindent 4 }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
{{- include "myapp.selectorLabels" . | nindent 6 }}
template:
metadata:
labels:
{{- include "myapp.selectorLabels" . | nindent 8 }}
spec:
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
ports:
- containerPort: 80
Comandos esenciales
# Instalar un chart
helm install myrelease ./mychart
# Actualizar una release
helm upgrade myrelease ./mychart
# Ver releases instaladas
helm list
# Desinstalar
helm uninstall myrelease
# Ver valores actuales
helm get values myrelease
# Renderizar templates sin instalar
helm template myrelease ./mychart
Mejores prácticas
- Usa valores por defecto sensatos en
values.yaml - Documenta cada valor con comentarios
- Valida los valores con JSON Schema
- Usa helpers para evitar repetición
- Incluye NOTES.txt con instrucciones post-instalación
Conclusión
Helm es una herramienta indispensable para gestionar aplicaciones en Kubernetes. Dominar los charts te permitirá estandarizar y automatizar tus despliegues de forma profesional.
¿Te gustó? ¡Compártelo!
Comentarios (0)