TechLead
Lección 11 de 18
5 min de lectura
Docker

Orquestación de Contenedores y Conceptos de Kubernetes

Introducción a la orquestación de contenedores con Docker Swarm y Kubernetes para escalar aplicaciones en producción

¿Por qué la Orquestación de Contenedores?

Cuando ejecutas decenas o cientos de contenedores en producción, necesitas un sistema para gestionar el despliegue, escalado, redes y monitoreo de salud. Esto es lo que hacen los orquestadores de contenedores.

¿Qué Manejan los Orquestadores?

  • Planificación: Decidir qué servidor ejecuta cada contenedor
  • Escalado: Agregar o eliminar réplicas de contenedores según la demanda
  • Balanceo de Carga: Distribuir tráfico entre contenedores
  • Auto-recuperación: Reiniciar contenedores fallidos automáticamente
  • Actualizaciones Progresivas: Desplegar nuevas versiones sin tiempo de inactividad

Ejemplo de Deployment en Kubernetes

# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mi-api
spec:
  replicas: 3
  selector:
    matchLabels:
      app: mi-api
  template:
    metadata:
      labels:
        app: mi-api
    spec:
      containers:
        - name: api
          image: miapp:v1.0.0
          ports:
            - containerPort: 3000
          resources:
            limits:
              memory: "512Mi"
              cpu: "500m"

Comandos Esenciales de kubectl

# Aplicar configuración
kubectl apply -f deployment.yaml

# Obtener recursos
kubectl get pods
kubectl get deployments
kubectl get services

# Escalar un deployment
kubectl scale deployment mi-api --replicas=5

# Actualización progresiva
kubectl set image deployment/mi-api api=miapp:v2.0.0

# Revertir
kubectl rollout undo deployment/mi-api

Docker Compose vs Kubernetes

  • 🐳 Docker Compose: Configuraciones multi-contenedor simples, desarrollo, despliegues pequeños
  • ☸️ Kubernetes: Orquestación de grado productivo, auto-escalado, sistemas distribuidos grandes
  • 💡 Comienza con Compose para desarrollo, migra a K8s cuando necesites orquestación de producción

Continuar Aprendiendo