K8s em Exemplos: Deployments
| Deployments gerenciam Pods via ReplicaSets. A hierarquia é: Deployment → ReplicaSet → Pods. Deployments adicionam self-healing, scaling, rolling updates e rollbacks sobre ReplicaSets. |
| deployment.yaml | |
| Deployments usam a API | |
| O template do Pod define como cada réplica se parece. Labels no template devem corresponder ao selector. | |
| terminal | |
| Kubernetes usa loops de reconciliação para manter o estado desejado. Delete um Pod e observe o Deployment recriá-lo automaticamente. | |
| terminal | |
| Scale up e novos Pods são criados automaticamente. Scale down e Pods excedentes são terminados. | |
| rolling-update-strategy.yaml | |
| Duas estratégias de update: | |
|
| |
| terminal | |
| Rolling updates criam um novo ReplicaSet e gradualmente transferem Pods. ReplicaSets antigos são mantidos (escalados para 0) para rollbacks. | |
| terminal | |
| Cada update cria uma nova revisão no histórico. Veja todas as revisões com rollout history. | |
| terminal | |
| Atualize a imagem para disparar um rolling update. Acompanhe o status com rollout status. | |
| terminal | |
| Rollbacks são rápidos porque ReplicaSets antigos ainda existem. Kubernetes apenas escala eles para cima e para baixo. | |
| terminal | |
| Pause e resume rollouts para deploys estilo canary. Enquanto pausado, você pode testar novos Pods antes de completar o update. | |