Orquestração de Contêineres
medium

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

Question Statement
Orquestração de Contêineres
#daemonset
#kubernetes
#pod
#node
Medium

Qual é o principal propósito de um DaemonSet?

A

Um DaemonSet garante que todos (ou certos) nós executem uma cópia de um Pod.

Correct
B

Um DaemonSet garante que o kubelet esteja constantemente em execução.

C

Um DaemonSet garante que haja tantos pods em execução quanto especificado no campo replicas.

D

Um DaemonSet garante que um processo (agente) seja executado em cada nó.

Official Explanation / Community Explanations

Um DaemonSet é um controlador do Kubernetes que garante que uma cópia de um Pod seja executada em todos (ou em um subconjunto) os nós de um cluster. Conforme os nós são adicionados ao cluster, Pods são adicionados a eles; conforme os nós são removidos, esses Pods são coletados como lixo. Excluir um DaemonSet limpará os Pods que ele criou.

Como funciona:

  • O controlador do DaemonSet observa a lista de nós do cluster e cria um Pod para cada nó que corresponda ao seu seletor de nós (se houver).
  • Ele usa o escalonador do Kubernetes para colocar Pods nos nós, mas, diferentemente de um Deployment, não depende da contagem de réplicas; em vez disso, garante um Pod por nó.
  • Casos de uso comuns incluem executar daemons de armazenamento do cluster (por exemplo, glusterd, ceph), coleta de logs (por exemplo, fluentd, filebeat) e monitoramento de nós (por exemplo, Prometheus Node Exporter).

Por que a resposta correta está certa:
A afirmação "Um DaemonSet garante que todos (ou certos) nós executem uma cópia de um Pod" descreve com precisão o propósito principal de um DaemonSet. Ele garante que um Pod específico seja executado em cada nó (ou em um subconjunto definido por seletores de nós).

Por que as respostas incorretas estão erradas:

  • A afirmação de que um DaemonSet garante que o kubelet esteja constantemente em execução está incorreta. O kubelet é um serviço systemd gerenciado pelo sistema operacional, não por um DaemonSet. DaemonSets gerenciam Pods, não serviços do sistema.
  • A afirmação de que um DaemonSet garante que haja tantos pods em execução quanto especificado no campo replicas está incorreta. Isso descreve um ReplicaSet ou Deployment, que gerenciam um número desejado de réplicas em todo o cluster, não por nó.
  • A afirmação de que um DaemonSet garante que um processo (agente) seja executado em cada nó é parcialmente verdadeira, mas imprecisa. Um DaemonSet executa um Pod (que contém um ou mais contêineres) em cada nó, não um processo simples. A resposta correta reflete com mais precisão a abstração de Pods do Kubernetes.