Kubernetes
El sistema que corre y cuida contenedores en muchas máquinas a la vez.
Kubernetes (abreviado K8s) es software de código abierto que corre contenedores sobre un grupo de máquinas, llamado cluster. Vos le decís qué querés: "corré tres copias de esta imagen, dale 1 GB de memoria a cada una, exponelas en el puerto 80". Kubernetes busca lugar en las máquinas, arranca los contenedores, y si uno se muere o se cae una máquina entera, levanta un reemplazo en otro lado sin que nadie tenga que despertarse.
Ese estado deseado se escribe en archivos YAML. Un Pod es la unidad mínima (un contenedor, o unos pocos que tienen que correr juntos); un Deployment mantiene N copias de un Pod vivas y despliega versiones nuevas de a poco; un Service les da una dirección estable para que el tráfico las encuentre. Cambiás el YAML, lo aplicás, y Kubernetes lleva el cluster del estado viejo al nuevo.
Google lo armó a partir de su sistema interno (Borg) y lo liberó en 2014; hoy es la forma estándar de correr flotas grandes de contenedores, y cada nube vende una versión administrada (Amazon EKS, Google GKE, Azure AKS). El costo es la complejidad: para una app chica suele ser demasiado, y opciones más simples como Amazon ECS y Fargate o una función serverless alcanzan.
Para quedarse
- Vos declarás el estado deseado; Kubernetes se encarga de que la realidad coincida.
- Pods, Deployments y Services son las tres palabras para aprender primero.
- Escala sumando máquinas al cluster y copias de tus Pods.
- Las versiones administradas (EKS, GKE, AKS) corren el control plane por vos.