Qué es Kubernetes, cómo funciona la orquestación de contenedores, conceptos clave (pods, servicios, deployments) y cuándo realmente necesitas K8s vs Docker Compose.
Kubernetes en palabras simples
Kubernetes (K8s) es un sistema que automatiza el despliegue, escalado y gestión de aplicaciones en contenedores. Si Docker es el motor de un auto, Kubernetes es el piloto automático que decide cuándo acelerar, frenar o cambiar de carril.
¿Qué problema resuelve?
Con Docker Compose en un solo servidor, todo funciona bien hasta que:
Kubernetes resuelve todo esto a costa de complejidad. K8s no es para todos los proyectos.
Conceptos fundamentales
**Pod**: La unidad más pequeña en K8s. Contiene uno o más contenedores que comparten red y almacenamiento. Normalmente 1 pod = 1 contenedor de tu app.
**Service**: Expone tus pods a la red. Un Service tiene una IP fija aunque los pods se creen y destruyan. Tipos: ClusterIP (interno), NodePort (expuesto en el nodo), LoadBalancer (balanceador externo).
**Deployment**: Define cuántas réplicas de un pod quieres, qué imagen usar, y estrategia de actualización (rolling update: reemplaza pods uno a uno sin downtime).
**Ingress**: Enruta tráfico HTTP/HTTPS a diferentes Services según el dominio o path. Como un Nginx virtual integrado en el cluster.
**ConfigMap y Secret**: Configuración externa (variables de entorno, archivos) sin modificar la imagen. Secrets para contraseñas, tokens, API keys.
¿Cuándo sí usar Kubernetes?
¿Cuándo NO usar Kubernetes?
Alternativas más simples
Kubernetes en Cloud chileno
AWS EKS, Google GKE y Azure AKS son las opciones managed. Pagas por el plano de control (~$70 USD/mes) más los nodos worker. Para Chile, la región de São Paulo (AWS/GCP) ofrece la menor latencia.
¿Realmente necesitas K8s? La respuesta honesta para el 90% de las empresas chilenas es: no. Empieza con Docker Compose. Migra a K8s solo cuando el dolor de no tenerlo supere el dolor de mantenerlo.