≡En resumen
- Kubernetes no ejecuta contenedores por sí mismo: coordina muchos contenedores repartidos entre varias máquinas.
- Funciona de forma declarativa: describes el estado deseado y Kubernetes trabaja continuamente para alcanzarlo.
- Docker construye y ejecuta imágenes; Kubernetes las orquesta a escala. Son complementarios, no rivales.
- La forma más habitual de usarlo es un servicio gestionado como GKE, Amazon EKS o Azure AKS.
- Compensa con muchos servicios, tráfico variable y un equipo capacitado; para una web sencilla es excesivo.
01 ¿Qué es Kubernetes?
El nombre procede del griego y significa timonel o piloto, de ahí el timón de siete radios de su logotipo. La abreviatura K8s sale de contar las ocho letras que hay entre la «K» y la «s». Es un proyecto de código abierto: cualquiera puede usarlo, modificarlo e instalarlo en su propia infraestructura o en cualquier nube.
02 Origen de Kubernetes: de Borg a la CNCF
| Fecha | Hito |
|---|---|
| Años 2000 | Google opera sus servicios con Borg, un gestor interno de clústeres que inspira el diseño de Kubernetes |
| 6 de junio de 2014 | Google anuncia Kubernetes, creado por Joe Beda, Brendan Burns y Craig McLuckie |
| 21 de julio de 2015 | Versión 1.0; Google lo aporta como proyecto semilla de la recién creada Cloud Native Computing Foundation |
| 6 de marzo de 2018 | Se convierte en el primer proyecto graduado de la CNCF |
| Mayo de 2022 | La versión 1.24 elimina dockershim, la capa de compatibilidad directa con Docker Engine |
| 26 de agosto de 2026 | Publicación de Kubernetes 1.37 |
Internamente el proyecto se llamó «Project 7», en referencia a Siete de Nueve, el personaje de Star Trek que había sido parte de los Borg. Kubernetes publica unas tres versiones menores al año, mantiene parches para las tres más recientes y cada una recibe alrededor de un año de soporte, así que actualizar el clúster forma parte del mantenimiento normal.
03 Cómo funciona Kubernetes: arquitectura básica
Clúster
El conjunto de máquinas que gestiona Kubernetes: un plano de control y varios nodos de trabajo. Si el concepto es nuevo, repasa qué es un clúster.
Plano de control
El cerebro: el API server recibe las órdenes, etcd guarda el estado, el scheduler decide dónde va cada carga y los controladores corrigen desviaciones.
Nodos
Máquinas físicas o virtuales que ejecutan los contenedores. En cada una, el agente kubelet habla con el plano de control y con el runtime (containerd o CRI-O).
Pods
La unidad mínima de despliegue: uno o varios contenedores que comparten red y almacenamiento.
Deployments
Describen cuántas réplicas quieres de una aplicación y cómo actualizarlas sin cortes.
Services e Ingress
Dan una dirección estable a un grupo de pods y publican las aplicaciones hacia fuera con balanceo de carga.
04 Para qué sirve Kubernetes: funciones principales
- ✓Descubrimiento de servicios y balanceo de carga entre las copias de una aplicación.
- ✓Orquestación del almacenamiento: monta discos locales o de la nube según lo pidas.
- ✓Despliegues y marcha atrás automatizados, cambiando versiones a un ritmo controlado.
- ✓Reparto eficiente de contenedores entre nodos según la CPU y la memoria que necesitan.
- ✓Autorreparación: reinicia contenedores que fallan y sustituye los que no responden.
- ✓Gestión de secretos y configuración sin reconstruir las imágenes.
- ✓Ejecución de tareas por lotes y trabajos programados.
- ✓Escalado horizontal manual o automático según el uso de CPU u otras métricas.
05 Kubernetes vs Docker: diferencias
| Docker | Kubernetes | |
|---|---|---|
| Función | Construir imágenes y ejecutar contenedores | Orquestar muchos contenedores en muchas máquinas |
| Ámbito | Una máquina | Un clúster de máquinas |
| Escalado y autorreparación | Limitados (Docker Compose, Swarm) | Nativos y automáticos |
| Relación | Las imágenes creadas con Docker siguen el estándar OCI | Ejecuta esas mismas imágenes con containerd o CRI-O |
| Cuándo basta | Desarrollo local y aplicaciones en un solo servidor | Producción con varios servicios, alta disponibilidad y tráfico variable |
La eliminación de dockershim en 2022 generó confusión, pero no significó dejar de usar Docker: las imágenes que construyes con Docker funcionan igual en Kubernetes. Lo que cambió es que Kubernetes ya no usa Docker Engine como runtime interno.
06 Dónde ejecutar Kubernetes
Servicios gestionados
Google Kubernetes Engine (GKE), Amazon EKS y Azure Kubernetes Service (AKS). El proveedor opera el plano de control y tú despliegas.
Distribuciones empresariales
Red Hat OpenShift, Rancher o VMware Tanzu, para centros de datos propios o entornos híbridos.
Versiones ligeras
k3s o MicroK8s para entornos pequeños, edge o equipos con pocos recursos.
En local
minikube o kind para desarrollar y probar en tu ordenador.
Para la mayoría de empresas lo razonable es un servicio gestionado: si trabajas en Google Cloud, tienes el detalle de modos y precios en Google Kubernetes Engine (GKE). Si solo necesitas alojar una web con capacidad de crecer, un cloud hosting gestionado es mucho más sencillo y barato.
07 Cuándo usar Kubernetes (y cuándo no)
- ✓Sí: plataformas SaaS con varios microservicios que escalan de forma independiente.
- ✓Sí: tráfico con picos fuertes y exigencia de alta disponibilidad.
- ✓Sí: necesidad de portabilidad entre nubes o entre nube y servidores propios.
- ✓Sí: cargas de IA que comparten GPU entre equipos y proyectos.
- ✓No: una web corporativa, un WordPress o una tienda online estándar.
- ✓No: un MVP con uno o dos servicios y un equipo sin experiencia en Kubernetes.
Un SaaS de gestión para clínicas arranca con su backend en un contenedor sobre un servicio sin servidor. Tres años después tiene doce servicios, procesos nocturnos de facturación y clientes grandes que piden entornos aislados. Ahí Kubernetes empieza a compensar: despliegues homogéneos, aislamiento por espacios de nombres y escalado por servicio. En la guía sobre cómo crear un SaaS verás en qué fase conviene tomar esta decisión.
Preguntas frecuentes sobre Kubernetes
Es una plataforma de código abierto que orquesta contenedores: los despliega en varios servidores, los escala según la carga, los reinicia si fallan y los actualiza sin cortes.
Es la abreviatura de Kubernetes: la K inicial, el número de letras intermedias (ocho) y la s final. Kubernetes significa timonel en griego.
Google, que lo anunció en junio de 2014 a partir de su experiencia con el sistema interno Borg. Desde 2015 lo gobierna la Cloud Native Computing Foundation.
Docker construye y ejecuta contenedores en una máquina; Kubernetes coordina muchos contenedores en muchas máquinas. Se usan juntos.
El software es gratuito y de código abierto (licencia Apache 2.0). Pagas la infraestructura donde lo ejecutas y, en servicios gestionados, una tarifa de gestión.
Depende del proveedor y del tamaño. En Google Kubernetes Engine, por ejemplo, la tarifa de gestión es de 0,10 USD por clúster y hora, más las máquinas o recursos que consuman tus aplicaciones; la capa gratuita cubre el equivalente a un clúster al mes.
Para cargas sencillas, servicios de contenedores sin servidor como Google Cloud Run o AWS Fargate, Docker Compose en un solo servidor o un hosting gestionado. Para orquestación, HashiCorp Nomad o Docker Swarm.
La unidad mínima que Kubernetes despliega: uno o varios contenedores que comparten red y almacenamiento y se programan juntos en un nodo.
Casi nunca. Para una web o una tienda online basta un buen hosting o un servicio de contenedores sin servidor; Kubernetes compensa con muchos servicios y equipos preparados.
Fuentes consultadas
Sobre el autor
Germán Gutiérrez
Development Manager en appyweb
Dirige el equipo de desarrollo de appyweb: aplicaciones web y móviles, SaaS, integraciones y arquitectura de software.
Ver perfil en LinkedIn ↗