Volver al blog
Tecnología

Kubernetes explicado: orquestación de contenedores

ByteData Cloud20 de julio de 20263 min de lectura

Qué es Kubernetes, cómo funciona la orquestación de contenedores, conceptos clave (pods, servicios, deployments) y cuándo realmente necesitas K8s vs Docker Compose.

Kubernetes en palabras simples

Kubernetes (K8s) es un sistema que automatiza el despliegue, escalado y gestión de aplicaciones en contenedores. Si Docker es el motor de un auto, Kubernetes es el piloto automático que decide cuándo acelerar, frenar o cambiar de carril.

¿Qué problema resuelve?

Con Docker Compose en un solo servidor, todo funciona bien hasta que:

  • El servidor se cae y todo tu sistema está offline
  • Necesitas escalar solo el servicio de API sin tocar los demás
  • Quieres hacer deploy sin downtime (zero-downtime deployment)
  • Tienes 5, 10 o 50 microservicios que gestionar
  • Kubernetes resuelve todo esto a costa de complejidad. K8s no es para todos los proyectos.

    Conceptos fundamentales

    **Pod**: La unidad más pequeña en K8s. Contiene uno o más contenedores que comparten red y almacenamiento. Normalmente 1 pod = 1 contenedor de tu app.

    **Service**: Expone tus pods a la red. Un Service tiene una IP fija aunque los pods se creen y destruyan. Tipos: ClusterIP (interno), NodePort (expuesto en el nodo), LoadBalancer (balanceador externo).

    **Deployment**: Define cuántas réplicas de un pod quieres, qué imagen usar, y estrategia de actualización (rolling update: reemplaza pods uno a uno sin downtime).

    **Ingress**: Enruta tráfico HTTP/HTTPS a diferentes Services según el dominio o path. Como un Nginx virtual integrado en el cluster.

    **ConfigMap y Secret**: Configuración externa (variables de entorno, archivos) sin modificar la imagen. Secrets para contraseñas, tokens, API keys.

    ¿Cuándo sí usar Kubernetes?

  • Tienes 5+ microservicios que necesitan escalado independiente
  • Necesitas alta disponibilidad: el sistema sigue funcionando si un nodo falla
  • Tu tráfico es impredecible y necesitas auto-scaling
  • Ya tienes un equipo que sabe Linux, Docker y redes
  • Estás dispuesto a pagar el costo de complejidad operacional
  • ¿Cuándo NO usar Kubernetes?

  • **Proyecto pequeño o mediano**: Docker Compose en un VPS es suficiente
  • **Hosting compartido**: cPanel/DirectAdmin no soportan K8s
  • **Equipo sin experiencia en DevOps**: K8s mal configurado es más frágil que Docker Compose
  • **Presupuesto ajustado**: Un cluster K8s mínimo en cloud cuesta $100+ USD/mes
  • Alternativas más simples

  • **Docker Compose + VPS**: 90% de los proyectos no necesitan K8s
  • **Dokploy**: Interfaz web para desplegar apps Docker. Como un Vercel self-hosted
  • **Coolify**: Similar a Dokploy, open source. Soporta Node.js, PHP, Python, Go
  • **CapRover**: PaaS simple sobre Docker. Ideal para equipos chicos
  • Kubernetes en Cloud chileno

    AWS EKS, Google GKE y Azure AKS son las opciones managed. Pagas por el plano de control (~$70 USD/mes) más los nodos worker. Para Chile, la región de São Paulo (AWS/GCP) ofrece la menor latencia.

    ¿Realmente necesitas K8s? La respuesta honesta para el 90% de las empresas chilenas es: no. Empieza con Docker Compose. Migra a K8s solo cuando el dolor de no tenerlo supere el dolor de mantenerlo.

    Compartir