Orquestração de Contêineres
medium

Orquestração de Contêineres Question #019e3a4f

Question Statement
Orquestração de Contêineres
#deployment
#replicaset
#kubernetes
#pod
#controller
Medium

Qual é a diferença entre um Deployment e um ReplicaSet?

A

Com um Deployment, você não pode controlar o número de réplicas de Pod.

B

Um ReplicaSet não garante um conjunto estável de réplicas de Pod em execução.

C

Um Deployment é basicamente o mesmo que um ReplicaSet com anotações.

D

Um Deployment é um conceito de nível superior que gerencia ReplicaSets.

Correct

Official Explanation / Community Explanations

Um Deployment é um recurso Kubernetes de nível superior que gerencia ReplicaSets. Ele fornece atualizações declarativas para Pods e ReplicaSets, permitindo recursos como atualizações contínuas (rolling updates), reversões (rollbacks) e escalonamento. Um ReplicaSet garante que um número especificado de réplicas de Pod esteja em execução a qualquer momento, mas não suporta atualizações contínuas ou reversões por conta própria. Deployments criam e gerenciam ReplicaSets, permitindo atualizações controladas e reversão fácil para versões anteriores.

Como funciona:

  • Um controlador de Deployment observa mudanças no objeto Deployment e cria ou atualiza um ReplicaSet para corresponder ao estado desejado.
  • Quando você atualiza um Deployment (por exemplo, altera a imagem do contêiner), ele cria um novo ReplicaSet e reduz gradualmente o antigo enquanto aumenta o novo, garantindo zero downtime.
  • ReplicaSets são responsáveis por manter um conjunto estável de Pods réplica. Eles usam um label selector para identificar quais Pods gerenciar.
  • Deployments adicionam uma camada extra de abstração, permitindo gerenciar o ciclo de vida de ReplicaSets e Pods de forma declarativa.

Por que a resposta correta está certa:

  • A afirmação "Um Deployment é um conceito de nível superior que gerencia ReplicaSets" está correta porque Deployments orquestram ReplicaSets para fornecer estratégias de implantação avançadas.

Por que as respostas incorretas estão erradas:

  • A afirmação "Com um Deployment, você não pode controlar o número de réplicas de Pod" é falsa. Deployments permitem especificar o número desejado de réplicas através do campo replicas no spec.
  • A afirmação "Um ReplicaSet não garante um conjunto estável de réplicas de Pod em execução" está incorreta. O objetivo principal de um ReplicaSet é garantir que um número especificado de réplicas de Pod esteja em execução o tempo todo.
  • A afirmação "Um Deployment é basicamente o mesmo que um ReplicaSet com anotações" é falsa. Deployments são um tipo de recurso separado que gerencia ReplicaSets e fornece funcionalidades adicionais além do que os ReplicaSets oferecem.