Qué es Kubernetes, para qué sirve y en qué se diferencia de Docker
Una explicación sin enredos de la plataforma que orquesta contenedores, cuándo conviene usarla y qué implica operarla en producción.
Kubernetes es una plataforma de código abierto que automatiza el despliegue, la escala y la administración de aplicaciones que corren en contenedores. Dicho simple: si tu software está empaquetado en contenedores, Kubernetes decide dónde se ejecuta cada uno, lo reinicia si falla y agrega o quita copias según la demanda, sin que alguien tenga que hacerlo a mano.
Así lo define la documentación oficial del proyecto (kubernetes.io), que hoy mantiene la Cloud Native Computing Foundation. En esta guía te explicamos qué es Kubernetes y para qué sirve, cómo funciona por dentro, en qué se diferencia de Docker y cuándo conviene usarlo en una empresa, sin tecnicismos innecesarios.
Qué es Kubernetes y para qué sirve
Para entender Kubernetes primero hay que entender los contenedores. Un contenedor es un paquete que incluye una aplicación y todo lo que necesita para funcionar: librerías, configuración y dependencias. Gracias a eso, la aplicación se comporta igual en el computador de un desarrollador, en un servidor propio o en la nube.
El problema aparece cuando tienes muchos contenedores. Una aplicación moderna puede estar dividida en varios servicios (la web, la API, el procesador de pagos, las tareas en segundo plano) y cada uno puede necesitar varias copias para soportar el tráfico. Coordinar todo eso a mano es lento y propenso a errores. Kubernetes resuelve justamente esa coordinación, lo que se conoce como orquestación de contenedores.
En la práctica, Kubernetes sirve para:
- Mantener la aplicación disponible: si un contenedor se cae, lo vuelve a levantar automáticamente.
- Escalar según la demanda: puede agregar copias cuando sube el uso y retirarlas cuando baja.
- Desplegar versiones nuevas sin cortes: actualiza de forma gradual y permite volver atrás si algo sale mal.
- Repartir el tráfico: distribuye las solicitudes entre las copias sanas de cada servicio.
- Ordenar la configuración: separa las contraseñas y parámetros del código, para administrarlos de forma controlada.
Cómo funciona Kubernetes por dentro
No necesitas ser experto para entender la lógica general. Kubernetes trabaja con un principio llamado estado deseado: tú declaras cómo quieres que esté tu aplicación (por ejemplo, tres copias del servicio web con cierta versión) y el sistema trabaja de forma continua para que la realidad coincida con esa declaración.
Los componentes principales
- Clúster: el conjunto de máquinas que Kubernetes administra como si fueran una sola.
- Plano de control: el "cerebro" del clúster. Recibe las instrucciones, guarda el estado y decide dónde se ejecuta cada cosa.
- Nodos: las máquinas (físicas o virtuales) donde realmente corren las aplicaciones.
- Pod: la unidad mínima que Kubernetes despliega. Normalmente contiene un contenedor, aunque puede tener más de uno que trabajan juntos.
- Deployment: la definición de cuántas copias de un pod quieres y con qué versión.
- Service: un punto de acceso estable para llegar a un grupo de pods, aunque estos cambien o se reinicien.
Un ejemplo cotidiano
Imagina una tienda en línea que en un evento de descuentos recibe mucho más tráfico que un día normal. Con Kubernetes bien configurado, el sistema detecta el aumento de carga y agrega copias del servicio web. Cuando el tráfico baja, las retira. Si uno de los servidores falla durante la noche, los pods que corrían ahí se vuelven a crear en otro nodo. Nadie del equipo tuvo que conectarse a resolverlo.
Kubernetes vs Docker: diferencias
Es una de las dudas más comunes, porque ambos nombres aparecen siempre juntos. La respuesta corta: no compiten, se complementan. Docker es una herramienta para crear y ejecutar contenedores. Kubernetes es una plataforma para coordinar muchos contenedores en muchas máquinas.
| Aspecto | Docker | Kubernetes |
|---|---|---|
| Qué hace | Construye imágenes y ejecuta contenedores | Orquesta contenedores en un clúster |
| Alcance típico | Una máquina | Varias máquinas trabajando como una |
| Escalado automático | No por sí solo | Sí, según reglas que tú defines |
| Recuperación ante fallas | Limitada | Reinicia y reubica contenedores automáticamente |
| Curva de aprendizaje | Más baja | Más alta |
| Uso habitual | Desarrollo local, aplicaciones simples | Producción con varias aplicaciones o mucho tráfico |
Un detalle técnico que genera confusión: Kubernetes ya no usa Docker internamente para ejecutar contenedores, sino entornos compatibles con el estándar de contenedores, como containerd. Aun así, las imágenes que construyes con Docker siguen funcionando en Kubernetes sin cambios, porque siguen el mismo estándar.
También existe Docker Compose, que sirve para levantar varios contenedores en una sola máquina. Es muy útil para desarrollo, pero no ofrece la alta disponibilidad ni la escala de un clúster de Kubernetes.
Ventajas y desventajas de usar Kubernetes
Ventajas
- Portabilidad: funciona en servidores propios y en los principales proveedores de nube, lo que reduce la dependencia de uno solo.
- Resiliencia: la aplicación se recupera sola de muchas fallas comunes.
- Uso eficiente de recursos: reparte las cargas entre las máquinas disponibles.
- Despliegues más seguros: permite actualizaciones graduales y volver a una versión anterior.
- Ecosistema amplio: hay herramientas maduras para monitoreo, seguridad y automatización.
Desventajas
- Complejidad: tiene muchas piezas y conceptos. Configurarlo mal puede generar problemas de seguridad o de costos.
- Requiere mantención constante: el proyecto publica versiones nuevas varias veces al año y cada versión tiene un período de soporte acotado, según su propia documentación. Un clúster que no se actualiza queda expuesto.
- No siempre se justifica: para una aplicación pequeña con poco tráfico, puede ser más de lo que necesitas.
Cuándo le conviene Kubernetes a una empresa
Kubernetes no es una meta en sí misma. Conviene cuando resuelve un problema real de tu operación. Usa este checklist para evaluarlo:
- [ ] Tus aplicaciones ya están en contenedores o tu equipo planea llevarlas ahí.
- [ ] Tienes varios servicios que se despliegan por separado.
- [ ] El tráfico varía mucho entre horarios, días o temporadas.
- [ ] Una caída del sistema tiene un costo alto para tu negocio.
- [ ] Haces despliegues frecuentes y quieres hacerlos sin cortes.
- [ ] Quieres poder moverte entre proveedores de nube o combinar nube y servidores propios.
- [ ] Cuentas con personas (internas o externas) que puedan operar el clúster.
Si marcaste la mayoría, Kubernetes probablemente tiene sentido. Si marcaste pocas, una alternativa más simple, como un servidor bien administrado o un servicio administrado de contenedores, puede ser suficiente por ahora.
Kubernetes administrado: EKS, GKE, AKS y OpenShift
Montar un clúster desde cero es posible, pero la mayoría de las empresas prefiere una versión administrada, donde el proveedor se encarga de parte del plano de control:
- Amazon EKS: el servicio de Kubernetes de AWS.
- Google GKE: el de Google Cloud, proveedor que dio origen al proyecto.
- Azure AKS: el de Microsoft.
- Red Hat OpenShift: una distribución empresarial de Kubernetes que agrega herramientas propias y puede correr en la nube o en servidores propios.
Ojo con un malentendido frecuente: que el servicio sea "administrado" no significa que no haya nada que hacer. El proveedor cuida el plano de control, pero las actualizaciones de versión, la configuración de seguridad, los permisos, el monitoreo, los respaldos y el control de costos siguen siendo responsabilidad de tu empresa. Ahí es donde muchos equipos se quedan cortos.
Qué implica operar Kubernetes en producción
Tener un clúster funcionando es el comienzo. Para que sea confiable en el tiempo, alguien tiene que hacerse cargo de tareas como estas:
- Actualizar versiones del clúster y de sus componentes antes de que pierdan soporte.
- Endurecer la seguridad: permisos mínimos, políticas de red, imágenes revisadas y secretos bien guardados. El CIS publica un benchmark específico para Kubernetes que sirve como referencia.
- Monitorear y alertar: saber cuándo un servicio se degrada antes de que lo noten tus clientes.
- Respaldar: tanto la configuración del clúster como los datos de las aplicaciones.
- Controlar costos: revisar que los recursos asignados correspondan al uso real.
- Documentar: para que el conocimiento no dependa de una sola persona.
Si tu equipo de desarrollo hoy dedica más tiempo a mantener la plataforma que a construir producto, es una señal de que conviene apoyarse en un equipo especializado. En Vitis Origins nos encargamos de la administración de servidores Linux y clústeres de Kubernetes, y si tus aplicaciones aún no están en la nube, también podemos ayudarte con la nube gestionada.
Cómo empezar a aprender Kubernetes
Si quieres que tu equipo gane autonomía, estos pasos ordenan el aprendizaje:
- Domina los contenedores primero: construir una imagen, ejecutarla y entender sus capas.
- Practica en un clúster local con herramientas como minikube o kind, que la documentación oficial recomienda para empezar.
- Aprende los objetos básicos: pods, deployments, services y configmaps.
- Despliega una aplicación real de tu empresa en un ambiente de prueba.
- Suma observabilidad y seguridad antes de pasar a producción.
La documentación oficial de Kubernetes está disponible en español en parte de sus secciones y es la fuente más confiable para profundizar. Si prefieres un camino guiado con ejemplos de tu propia operación, podemos armar una capacitación en Kubernetes y Linux a medida para tu equipo.
Conclusión
Kubernetes es la herramienta estándar para orquestar contenedores: mantiene tus aplicaciones disponibles, las escala según la demanda y permite desplegar sin cortes. Su potencia viene con complejidad, por eso la decisión de adoptarlo debe partir de un problema real y de una pregunta honesta: ¿quién lo va a operar día a día?
Si ya usas Kubernetes o estás evaluando hacerlo, conversemos. Revisamos tu situación y te decimos con franqueza si te conviene, y cómo dejarlo estable y seguro. Conoce nuestro servicio de administración de Linux y Kubernetes y escríbenos para coordinar una primera conversación.
Preguntas frecuentes
¿Kubernetes reemplaza a Docker?
No. Docker sirve para construir y ejecutar contenedores, y Kubernetes coordina muchos contenedores en varias máquinas. Las imágenes creadas con Docker funcionan en Kubernetes sin cambios.
¿Kubernetes es gratis?
El software es de código abierto y no tiene licencia de pago. Lo que sí cuesta es la infraestructura donde corre, el servicio administrado del proveedor de nube si lo usas y el trabajo de operarlo y mantenerlo.
¿Mi empresa necesita Kubernetes?
Depende. Conviene cuando tienes varios servicios en contenedores, tráfico variable y un costo alto ante caídas. Para una aplicación pequeña, una alternativa más simple suele ser suficiente.
¿Qué significa K8s?
Es una abreviatura de Kubernetes: la K inicial, la s final y el número 8 por las ocho letras que hay entre ellas.


