# Kubernetes

> El sistema que corre y cuida contenedores en muchas máquinas a la vez.

- Nivel: Intermedio
- Temas: Cloud
- URL: https://tidbit.legios.com.ar/es/kubernetes/
- En inglés: [Kubernetes](https://tidbit.legios.com.ar/kubernetes/)

**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.

## Una analogía

Un director y una orquesta. La partitura dice qué toca cada sección; el director mantiene a todos en tiempo, trae un suplente cuando un músico se enferma, y el público solo escucha la música.

## 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.

## Para seguir leyendo

- [¿Qué es Kubernetes? (documentación oficial)](https://kubernetes.io/es/docs/concepts/overview/)
- [¿Qué es Kubernetes? (AWS)](https://aws.amazon.com/es/what-is/kubernetes/)
- [Kubernetes (Wikipedia)](https://es.wikipedia.org/wiki/Kubernetes)

## Términos relacionados

- [Código abierto](https://tidbit.legios.com.ar/es/open-source/): Software cuyo código cualquiera puede leer, usar, cambiar y compartir.
- [Contenedor](https://tidbit.legios.com.ar/es/container/): Una caja cerrada con un programa y todo lo que necesita para correr en cualquier lado.
- [Puerto](https://tidbit.legios.com.ar/es/port/): La puerta numerada de una computadora que dice a qué programa va una conexión.
- [Google](https://tidbit.legios.com.ar/es/google/): La empresa del buscador, que regala casi todo y gana plata con publicidad.
- [Computación en la nube](https://tidbit.legios.com.ar/es/cloud-computing/): Alquilar computadoras por internet en vez de comprar las tuyas.
- [Amazon EKS](https://tidbit.legios.com.ar/es/amazon-eks/): Kubernetes con la parte difícil, el control plane, a cargo de AWS.
- [Microsoft](https://tidbit.legios.com.ar/es/microsoft/): La empresa de Windows y Office, que hoy es igual de importante como nube con Azure.
- [Amazon ECS y Fargate](https://tidbit.legios.com.ar/es/amazon-ecs-and-fargate/): AWS corre tus contenedores; con Fargate ni siquiera ves los servidores.
