Kubernetes Resource Management
medium

Kubernetes Resource Management Question #019e3a4f

Question Statement
Kubernetes Resource Management
#kubernetes
#rollout
#deployment
#daemonset
#statefulset
Medium

Como você pode monitorar o progresso de uma atualização de Deployment/DaemonSet/StatefulSet?

A

kubectl rollout watch

B

kubectl rollout progress

C

kubectl rollout state

D

kubectl rollout status

Correct

Official Explanation / Community Explanations

O comando kubectl rollout status é usado para monitorar o progresso de um rollout para Deployments, DaemonSets e StatefulSets. Ele observa o status do rollout até que seja concluído com sucesso ou falhe, fornecendo atualizações em tempo real sobre o número de réplicas atualizadas, disponíveis e prontas.

Como funciona:
Quando você atualiza um Deployment, DaemonSet ou StatefulSet (por exemplo, alterando a imagem do contêiner), o Kubernetes inicia uma atualização contínua. O comando kubectl rollout status rastreia o progresso do rollout verificando as condições de status do recurso. Ele exibe linhas como "Waiting for rollout to finish: 0 of 3 updated replicas are available..." e eventualmente "deployment "myapp" successfully rolled out" quando todas as réplicas são atualizadas.

Por que kubectl rollout status está correto:
Este comando é especificamente projetado para monitorar o progresso do rollout. Ele bloqueia até que o rollout seja concluído, tornando-o ideal para scripts e pipelines de CI/CD. Funciona para Deployments, DaemonSets e StatefulSets.

Por que outros comandos estão incorretos:

  • kubectl rollout watch não é um comando kubectl válido. A flag watch pode ser usada com outros comandos (por exemplo, kubectl get pods --watch), mas não existe o subcomando kubectl rollout watch.
  • kubectl rollout progress não é um comando kubectl válido. O subcomando correto é status, não progress.
  • kubectl rollout state não é um comando kubectl válido. Não existe subcomando state em rollout.