Este sistema es la infraestructura central donde se ejecutan todas las aplicaciones de la organización.
Su objetivo es sencillo:
👉 Que los servicios sigan funcionando aunque falle un servidor, un disco o incluso una ubicación completa.
No depende de una sola máquina.
Depende de un conjunto coordinado de servidores.
Muchas personas vienen del mundo de las máquinas virtuales (Hyper‑V, VMware, etc.).
En ese modelo, si tenemos 5 servidores virtuales Windows, en realidad tenemos:
Cada máquina virtual incluye todo el sistema operativo, aunque solo queramos ejecutar una aplicación.
Un contenedor funciona de forma diferente.
En lugar de copiar un sistema operativo completo para cada aplicación, lo que hacemos es:
👉 Es como si en vez de crear 5 máquinas Windows completas para 5 servicios, aisláramos solo cada servicio y lo ejecutáramos sobre el mismo sistema base.
Esto hace que los contenedores sean:
Si un servidor falla, el contenedor puede iniciarse en otro sin necesidad de reinstalar un sistema operativo completo.
Siguiendo con el ejemplo clásico:
Si montamos un servidor Exchange o un controlador de dominio, dentro de esa "máquina" realmente existen varias piezas:
En un modelo tradicional todo eso vive dentro de la misma máquina virtual.
En un modelo moderno, esas piezas pueden separarse.
En lugar de una única máquina grande, dividimos la aplicación en componentes independientes llamados microservicios.
Por ejemplo:
Cada uno puede:
👉 Es como desmontar un servidor grande en módulos más pequeños y gestionarlos de forma coordinada.
Kubernetes es el sistema que se encarga de coordinar todos esos módulos.
El clúster está distribuido en tres ubicaciones físicas:
| Site | Función |
|---|---|
| A | Ejecuta aplicaciones |
| B | Ejecuta aplicaciones |
| C | Actúa como árbitro |
Los Sites A y B trabajan normalmente.
El Site C no ejecuta carga principal, pero ayuda a que el sistema pueda tomar decisiones si uno de los otros sites cae.
👉 Esto permite que el sistema siga operativo incluso ante la pérdida completa de una ubicación.
Es el motor que realmente ejecuta los contenedores en cada servidor.
👉 Aunque estén en servidores distintos, las aplicaciones se comunican como si estuvieran en la misma red.
Las aplicaciones necesitan guardar datos (bases de datos, ficheros, configuraciones).
En lugar de depender del disco de un único servidor, usamos sistemas que permiten:
Tecnologías utilizadas:
👉 Para la aplicación, el almacenamiento es un servicio del clúster, no un disco concreto.
Permite que los servicios tengan direcciones IP propias dentro de la red corporativa.
Eso hace que puedan ser accesibles como cualquier otro sistema.
El sistema está dividido por niveles:
👉 La seguridad se basa en separar funciones y limitar accesos.
Toda la configuración del clúster está escrita en archivos.
Eso significa que:
👉 El sistema no depende de memoria humana, depende de documentación versionada.
En este sistema no se indican los pasos uno por uno.
Se declara el resultado que se quiere obtener.
Ejemplos:
El sistema se encarga de hacerlo realidad y de mantenerlo así.
👉 No se ejecutan órdenes manuales repetitivas.
Se define el estado deseado.
Las aplicaciones siguen una estructura común y ordenada.
Esto facilita:
Toda la infraestructura y aplicaciones:
👉 Nada se modifica directamente en producción sin quedar registrado.
El objetivo es que:
👉 Si no está definido en Git, no forma parte del sistema.
Este clúster es una plataforma que permite:
Este documento ofrece la visión general.
Cada enlace profundiza en los detalles técnicos.
Infraestructura distribuida, controlada y gobernada por reglas claras.