Qué es Kubernetes en una frase
Kubernetes (abreviado K8s) es un orquestador de contenedores: un sistema que se encarga de desplegar, escalar, reiniciar y conectar entre sí cientos o miles de contenedores corriendo en varias máquinas, como si fueran una sola gran computadora. Nació en Google, hoy es estándar de facto y lo mantiene la CNCF.
Por qué existe
Cuando pasas de 2 o 3 contenedores a decenas, gestionarlos a mano se vuelve imposible. ¿Qué pasa si un contenedor muere a las 3 a.m.? ¿Cómo repartes la carga entre servidores? ¿Cómo actualizas sin tirar el sitio? Kubernetes resuelve estos problemas con tres ideas centrales:
- Estado deseado: le describes cómo quieres que esté tu sistema y él se encarga de llegar y mantenerlo ahí.
- Self-healing: si algo se cae, lo vuelve a levantar automáticamente.
- Escalado horizontal: añade o quita réplicas según la carga.
Glosario mínimo
- Cluster: el conjunto completo de máquinas gestionadas por Kubernetes.
- Node: una máquina (física o virtual) dentro del cluster. Puede ser master (control plane) o worker.
- Pod: la unidad más pequeña que K8s despliega. Contiene uno o varios contenedores muy acoplados.
- Deployment: define cuántas réplicas quieres de un pod y cómo actualizarlas.
- Service: da una dirección estable para acceder a un conjunto de pods, aunque mueran y nazcan.
Cuándo sí tiene sentido
Considera Kubernetes cuando tu realidad encaje con al menos dos de estos escenarios:
- Tienes más de 10 microservicios independientes que necesitan hablar entre sí.
- Recibes picos de tráfico muy variables y necesitas autoescalar rápido sin pagar servidores ociosos.
- Tu equipo es grande y varios desarrolladores despliegan varias veces por día.
- Necesitas correr en varios proveedores cloud o en híbrido sin reescribir infra.
- Exiges alta disponibilidad real con failover automático entre nodos.
Cuándo NO lo necesitas
Kubernetes no es gratis en complejidad. Evítalo si:
- Tienes un solo VPS con un WordPress o un Laravel monolítico tranquilo.
- Tu equipo es de 1 a 3 personas y nadie domina contenedores todavía.
- Tus deploys son semanales y Docker Compose ya cubre todas tus necesidades.
- Tu presupuesto mensual para infra es modesto: el control plane, los nodos y el almacenamiento persistente suben rápido la factura.
Para esos casos, un VPS bien configurado con Docker Compose o incluso sin contenedores es más barato, más simple y más mantenible.
La curva de aprendizaje
Kubernetes tiene fama justificada de complicado: YAMLs largos, conceptos abstractos, errores crípticos. La buena noticia es que puedes aprenderlo por capas. Empieza por pods y deployments, luego services, luego ingress, y deja conceptos avanzados como operators, CRDs o service mesh para cuando de verdad los necesites.
En resumen
Kubernetes es una herramienta potentísima para problemas de escala y complejidad, pero es una mala elección para proyectos pequeños. La pregunta correcta no es si es moderno, sino si tu problema real justifica el costo en tiempo y dinero que exige mantenerlo.