ESTADO DESEJADO
Você declara a intenção; o cluster tenta mantê-la verdadeira.
Kubernetes é um orquestrador de containers. Ele agenda pods, substitui réplicas que falham, oferece descoberta de serviços e permite atualizações progressivas. Essa capacidade também traz novos conceitos e responsabilidade operacional.
Pod
Menor unidade implantável: containers que compartilham rede e ciclo de vida.
Deployment
Declara réplicas e estratégia de atualização; o controller reconcilia o estado.
Service
Oferece um endereço estável para alcançar pods que podem mudar.
PRÁTICA COM CONTEXTO
Versione manifestos e valide o comportamento em cada rollout.
- Defina réplicas e seletores. O deployment precisa identificar exatamente quais pods controla.
- Configure health checks. Uma aplicação que inicia mas não responde corretamente não deve receber tráfego.
- Estabeleça limites de recursos. CPU e memória explícitas evitam competição imprevisível no cluster.
- Planeje rollback. Toda atualização deve poder ser interrompida ou revertida com segurança.
apiVersion: apps/v1
kind: Deployment
metadata:
name: catalogo
spec:
replicas: 3
selector:
matchLabels: { app: catalogo }
template:
metadata:
labels: { app: catalogo }
DECISÕES RESPONSÁVEIS
O custo de operação deve fazer sentido para o problema.
Réplicas não garantem disponibilidade sozinhas. Banco, DNS, backups, estratégia de rollout e observabilidade também fazem parte da confiabilidade.
| Pergunta | Por que importa |
|---|---|
| Há vários serviços e réplicas para coordenar? | O agendamento, a descoberta e o rollout podem justificar um orquestrador. |
| É apenas uma API pequena? | PaaS, container gerenciado ou serverless podem ter operação mais simples. |
| Como a equipe responderá a falhas? | Cluster sem monitoramento e plano de incidente apenas muda o lugar da complexidade. |