Orquestração de Contêineres
medium

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

Question Statement
Orquestração de Contêineres
#kubernetes
#scheduling
#nodeselector
Medium

O que o "nodeSelector" dentro de um PodSpec usa para colocar Pods nos nós de destino?

A

Anotações

B

Endereços IP

C

Nomes de host

D

Labels

Correct

Official Explanation / Community Explanations

O campo nodeSelector em um PodSpec é usado para restringir em quais nós um Pod pode ser agendado, com base nos labels do nó. Labels são pares chave-valor anexados a objetos Kubernetes, como nós, para identificar atributos. Quando um Pod especifica um nodeSelector, o scheduler considera apenas nós que possuem todos os labels especificados. Esta é uma restrição de agendamento simples e estática.

Como Funciona

  • Os nós são rotulados durante a criação ou via kubectl label nodes <node-name> <label-key>=<label-value>.
  • O nodeSelector de um Pod é um mapa de chaves de label para valores. Por exemplo: nodeSelector: { disktype: ssd }.
  • O scheduler compara o nodeSelector do Pod com os labels dos nós; apenas nós com labels correspondentes são elegíveis.

Por que Labels estão Corretos
Labels são o mecanismo usado pelo nodeSelector para selecionar nós. Eles são projetados para identificar e agrupar recursos.

Por que as Outras Opções estão Incorretas

  • Anotações: Anotações são metadados não identificadores usados para ferramentas ou sistemas externos, não para decisões de agendamento.
  • Endereços IP: Endereços IP não são usados pelo nodeSelector. A seleção de nós por IP é possível via campo nodeName, mas isso ignora o agendamento.
  • Nomes de host: Nomes de host não são usados pelo nodeSelector. Embora o nome de host de um nó seja frequentemente um label (kubernetes.io/hostname), o nodeSelector corresponde a labels arbitrários, não especificamente a nomes de host.