Kubernetes (Kind) Course
Este documento describe una serie de ejercicios destinados a aprender sobe k8s mediante ejercicios hands-on que require cada uno investigación.
Revisar:
Kubernetes (Kind) Course: Kind tunning
Kubernetes (Kind) Course consejos de supervivencia
El "Navaja Suiza": Podinfo
Antes de instalar aplicaciones complejas, necesitas una app diseñada para probar la infraestructura. Podinfo (desarrollada por Stefan Prodan) es el estándar de oro para esto.
¿Qué aprenderás?
- Cómo funcionan los Deployments y Services.
- Cómo configurar HPA (Horizontal Pod Autoscaler) (hacer que la app crezca sola cuando hay carga).
- Manejo de Liveness y Readiness Probes (simular que la app se cuelga para ver cómo K8s la reinicia).
- Uso de Ingress para ver la UI en tu navegador.
Reto: Despliégalo en KIND y trata de "romperlo" enviándole tráfico falso para ver cómo escala.
La prueba de fuego del estado: WordPress + MySQL
Este es el clásico ejemplo, pero es fundamental. A diferencia de las aplicaciones modernas "stateless" (sin estado), WordPress necesita guardar imágenes y una base de datos.
¿Qué aprenderás?
- Persistent Volumes (PV) y Claims (PVC): Entenderás por qué si borras el pod de MySQL, los datos deben sobrevivir.
- Secrets: Para guardar la contraseña de la base de datos de forma segura (no en texto plano).
- Networking: Cómo conectar el frontend (WordPress) con el backend (MySQL) usando nombres de servicio internos.
Diferencia clave: En KIND, el almacenamiento suele ser local y efímero. En K3S, usarás el provisionador local-path por defecto. Es excelente para comparar cómo cada cluster maneja el disco.
Observabilidad: El Stack de Prometheus y Grafana
Una vez que tienes cosas corriendo, necesitas ver qué está pasando. "Si no lo mides, no existe".
¿Qué aprenderás?
- Uso de Helm Charts (el gestor de paquetes de Kubernetes). Instalar esto "a mano" es una locura; con Helm es un comando.
- Cómo visualizar métricas de CPU, Memoria y Red de tus nodos y pods.
- Cómo configurar alertas (ej: "Avísame si un pod se reinicia más de 5 veces").
Shutterstock
Explorar

Sugerencia: Instala el paquete kube-prometheus-stack. Te dará graficas impresionantes de tu cluster K3S de inmediato.
GitOps: ArgoCD
Esta es la habilidad más demandada hoy en día. En lugar de hacer kubectl apply -f archivo.yaml, guardas tus archivos en GitHub y ArgoCD se encarga de sincronizarlos en tu cluster automáticamente.
¿Qué aprenderás?
- El concepto de GitOps.
- Gestión del ciclo de vida de las aplicaciones.
- Sincronización automática y detección de cambios (Drift detection).
Experimento: Instala ArgoCD en tu cluster K3S, apunta a un repositorio de GitHub con un YAML simple, haz un cambio en el repo (cambia el color de fondo de una app, por ejemplo) y observa cómo ArgoCD actualiza el cluster sin que tú toques la terminal.
HomeLab (Ideal para K3S): Pi-hole o AdGuard Home
Si tu cluster K3S está en una red doméstica (o accesible), desplegar un bloqueador de anuncios a nivel de red es un proyecto muy gratificante.
¿Qué aprenderás?
- UDP Services: A diferencia de la web (TCP), el DNS usa UDP.
- LoadBalancers / MetalLB: Aprenderás a asignarle una IP real de tu red doméstica al servicio para que tus dispositivos lo usen como DNS.
ConfigMaps avanzados: Para inyectar listas de bloqueo.
Resúmen de referencias técnicas
| Kind | k3s | |
|---|---|---|
| Ingress | Necesitas instalar NGINX Ingress y mapear puertos extra al crear el cluster. | Trae Traefik preinstalado. Es "Plug & Play". |
| Storage | Provisionador estándar (hostpath). | Provisionadorlocal-path. |
| LoadBalancer | NecesitaCloud Provider KINDo port-forwarding. |
Soporta ServiceLB (Klipper) integrado. |