← Kubernetes: operar workloads e recuperar serviços
07 / 12 · 60 MIN

Rollout, capacidade e critérios de aceitação

Planeia alterações de Deployment com margens calculadas, observação de disponibilidade e recuperação compatível com o estado da aplicação.

Identificar o que realmente mudou

Começa a revisão pelo diff do Pod template. Uma annotation na metadata externa do Deployment não equivale a uma mudança do template, e escalar réplicas não cria por si só uma nova revisão da aplicação. No exercício fictício, o ticket mistura atualização de regras, aumento de capacidade e alteração de imagem. Separa a intenção de cada operação e identifica a evidência esperada. Regista versão, âmbito, responsável e condição de aceitação. Assim, a equipa pode explicar por que houve mais Pods sem atribuir ao controlador uma mudança de aplicação que não foi pedida.

Calcular as margens antes de escolher a janela

Com três réplicas e ambas as percentagens a 25%, maxSurge permite uma réplica adicional e maxUnavailable resulta em zero. O cálculo usa arredondamento para cima no primeiro e para baixo no segundo. Não interpreta estas margens como garantia contra qualquer falha. No modelo de capacidade, cada Pod novo pede 500m e existem 300m elegíveis livres: faltam 200m por CPU. O exemplo exclui init containers, sidecars e overhead, e não resolve memória ou affinity. Uma margem de réplicas autorizada não cria capacidade física para executar o próximo Pod.

Relacionar prontidão, estabilização e progresso

Um Pod Ready há dez segundos ainda pode não contar como Available se minReadySeconds exige trinta. Observa a continuidade da prontidão e os crashes relevantes antes de concluir que o controlador está atrasado. O prazo de progresso deve ser superior a esse período e coerente com o comportamento do serviço. A aula inicial já distingue deadline de rollback; aqui acrescenta a ligação entre tempos e critérios. No caso de fecho, um novo processo que responde a um endpoint simples pode continuar sem completar a operação funcional requerida. A decisão de aceitação precisa dessas duas vistas.

Pausa e terminação alteram a interpretação do estado

Enquanto um Deployment está pausado, alterações ao template não desencadeiam novos rollouts. Revê o conjunto acumulado antes de retomar, com autorização e observação adequadas. Durante a substituição, os Pods antigos podem continuar Terminating e consumir recursos. Um orçamento que ignora esse intervalo pode falhar apesar de a configuração de surge parecer suficiente. Distingue intenção, criação, disponibilidade e conclusão da terminação. Prepara a passagem de turno com timestamps, revisão em curso, alterações pendentes e capacidade observada. Não deduzas libertação de recursos apenas porque apareceu uma marca de terminação.

Reversão precisa de artefactos e dados compatíveis

O exercício configura revisionHistoryLimit=0 e estabelece que os ReplicaSets antigos já foram removidos. Nesse estado, o plano não deve prometer recuperação dessa revisão por rollout undo. Localiza uma declaração anterior aprovada e avalia o modo de a recuperar. Se a release alterou dados para um formato incompatível, reaplicar o template antigo não resolve essa dependência. Envolve aplicação e dados para decidir entre correção em frente, compatibilização ou recuperação ensaiada. Preserva resultados posteriores e identidades de operações incertas. Um comando disponível não substitui um procedimento com condições e consequências compreendidas.

Oficina: defender uma decisão de go ou no-go

Prepara uma ficha para a API fictícia de fundos: três réplicas, margens de 25%, novos Pods Pending e serviço antigo funcional. Explica a conta, apresenta os eventos da restrição e propõe opções com impacto explícito. Não baixa requests apenas para cumprir o calendário. Inclui resultado funcional, backlog e responsável pela decisão. A passagem em inglês pode dizer: “The current service remains available; the new revision is waiting for eligible capacity.” Este é um cenário documental original. O laboratório seguinte gera manifests localmente, sem executar o scheduler, o controlador ou a aplicação.

NA PRÁTICA

Modelo fictício: três réplicas, surge 25% → 1, unavailable 25% → 0. Um Pod de 500m com 300m elegíveis livres fica com défice de 200m pelo critério CPU; outros critérios continuam por avaliar.

Armadilhas comuns

Confundir escala com revisão; arredondar ambas as percentagens para cima; tratar Ready como Available imediato; ignorar Terminating; prometer reversão após perda de histórico e mudança de dados.

Tópicos relacionados: Workloads e estado desejado · Recursos e agendamento · Configuração e dados

Leva esta ideia contigo

O rollout precisa de margem operacional e evidência funcional. Usa a configuração para planear, observa o estado real e mantém um caminho de recuperação compatível com os dados.

Criar conta

Referência: Deployments · Kubernetes v1.37 concepts; current official documentation consulted 2026-09-30; cluster versions and plugin capabilities must be confirmed

Kubernetes® é uma marca registada de The Linux Foundation. A dr.pt é uma plataforma de preparação independente e não está afiliada, associada, patrocinada, autorizada nem aprovada por The Linux Foundation. Os conteúdos e as perguntas são originais, não são perguntas oficiais de exame, e concluir os nossos testes não atribui nem garante qualquer certificação. Os nomes são usados apenas para identificar o tema. Todas as outras marcas pertencem aos respetivos titulares.