Capítulo 3.7 - Estratégias de Deployment
Objetivos de Aprendizagem
Ao final deste capítulo, você será capaz de:
- Compreender as diferentes estratégias de deployment
- Implementar Rolling Updates
- Utilizar Blue/Green deployments
- Configurar Canary deployments
Tipos de Estratégias
1. Rolling Update (Padrão)
Atualização progressiva sem interrupção:
Configuração:
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1 # Pods adicionais permitidos
maxUnavailable: 0 # Máximo de Pods indisponíveis
2. Recreate
Remove tudo e recria:
Configuração:
strategy:
type: Recreate
Blue/Green Deployment
Deployment de dois ambientes completos:
Vantagens:
- Rollback instantâneo
- Teste completo antes da troca
- Sem mistura de versões
Implementação:
- Dois Deployments separados
- Service que aponta para um ou outro
- Troca via alteração do selector
Canary Deployment
Deployment progressivo para uma pequena porcentagem:
Processo:
- Deploy da nova versão para 10%
- Monitorar as métricas
- Aumentar progressivamente se estiver OK
- Rollback em caso de problema
Implementação:
- Dois Deployments com labels diferentes
- Service com seleção ponderada
- Ou utilizar Istio para roteamento avançado
Configuração Avançada
MaxSurge e MaxUnavailable
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 2 # Pode criar 2 Pods adicionais
maxUnavailable: 1 # 1 Pod pode ficar indisponível
Exemplo com 3 réplicas:
- Durante o update: 4-5 Pods possíveis (3 + maxSurge)
- Mínimo disponível: 2 Pods (3 - maxUnavailable)
Resumo
Neste capítulo, você aprendeu:
Rolling Update: Atualização progressiva (padrão)
Recreate: Remoção e recriação
Blue/Green: Dois ambientes completos
Canary: Deployment progressivo para pequena porcentagem
Configuração: maxSurge e maxUnavailable para controlar o processo
Próximos Passos
Agora que você conhece as estratégias:
Capítulo 3.8: Health Checks
Lab 3.3: Deployments e Rolling Updates
Capítulo criado em: Dezembro 2024