Capítulo 3.7 - Estrategias de Despliegue
Objetivos de Aprendizaje
Al final de este capítulo, usted será capaz de:
- Comprender las diferentes estrategias de despliegue
- Implementar Rolling Updates
- Utilizar Blue/Green deployments
- Configurar Canary deployments
Tipos de Estrategias
1. Rolling Update (Por Defecto)
Actualización progresiva sin interrupción:
Configuración:
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1 # Pods adicionales permitidos
maxUnavailable: 0 # Máximo de Pods no disponibles
2. Recreate
Elimina todo y luego recrea:
Configuración:
strategy:
type: Recreate
Blue/Green Deployment
Despliegue de dos entornos completos:
Ventajas:
- Rollback instantáneo
- Prueba completa antes del cambio
- Sin mezcla de versiones
Implementación:
- Dos Deployments separados
- Service que apunta a uno u otro
- Cambio mediante modificación del selector
Canary Deployment
Despliegue progresivo a un pequeño porcentaje:
Proceso:
- Desplegar la nueva versión al 10%
- Monitorear las métricas
- Aumentar progresivamente si todo está bien
- Rollback si hay problemas
Implementación:
- Dos Deployments con diferentes labels
- Service con selección ponderada
- O utilizar Istio para routing avanzado
Configuración Avanzada
MaxSurge y MaxUnavailable
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 2 # Puede crear 2 Pods adicionales
maxUnavailable: 1 # 1 Pod puede estar no disponible
Ejemplo con 3 réplicas:
- Durante la actualización: 4-5 Pods posibles (3 + maxSurge)
- Mínimo disponible: 2 Pods (3 - maxUnavailable)
Resumen
En este capítulo, usted ha aprendido:
Rolling Update: Actualización progresiva (por defecto)
Recreate: Eliminación y luego recreación
Blue/Green: Dos entornos completos
Canary: Despliegue progresivo a pequeño porcentaje
Configuración: maxSurge y maxUnavailable para controlar el proceso
Próximos Pasos
Ahora que conoce las estrategias:
Capítulo 3.8: Health Checks
Lab 3.3: Deployments y Rolling Updates
Capítulo creado el: Diciembre 2024