Service Configuration
medium

Service Configuration Question #019e3a4f

Question Statement
Service Configuration
#kubernetes
#services
#endpoints
#selectors
Medium

Qual tipo de Service requer a criação manual de Endpoints?

A

LoadBalancer

B

Services sem seletores

Correct
C

NodePort

D

ClusterIP com seletores

Official Explanation / Community Explanations

No Kubernetes, um Service sem seletor requer a criação manual de Endpoints. Isso ocorre porque o Service não descobre automaticamente Pods com base em labels; em vez disso, você deve definir explicitamente o objeto Endpoints que mapeia o Service para um conjunto de endereços IP e portas. Isso é útil para integrar recursos externos ou serviços que não são gerenciados pelo Kubernetes.

Como Funciona

Um Service do Kubernetes normalmente usa um seletor de labels para identificar Pods que devem receber tráfego. Quando um seletor é definido, o plano de controle cria e atualiza automaticamente um objeto Endpoints que lista os endereços IP dos Pods correspondentes. No entanto, quando um Service é criado sem seletor (ou seja, o campo spec.selector é omitido), nenhum Endpoint é gerado automaticamente. Você deve criar manualmente um recurso Endpoints com o mesmo nome do Service, especificando os endereços IP e portas de destino. O Service então roteia o tráfego para esses endpoints.

Por que a Resposta Correta está Correta

Services sem seletores são o único tipo que requer criação manual de Endpoints. Isso está explicitamente documentado no Kubernetes: "Services que não têm seletores não são automaticamente associados a nenhum Endpoint. Você deve criar manualmente um objeto Endpoints para mapear o Service ao endereço de rede e porta onde ele está sendo executado."

Por que as Respostas Incorretas estão Erradas

  • LoadBalancer: Um Service LoadBalancer normalmente usa um seletor para identificar Pods. O provedor de nuvem provisiona um balanceador de carga que encaminha o tráfego para os endpoints do Service, que são gerenciados automaticamente com base no seletor.
  • NodePort: Um Service NodePort expõe o Service no IP de cada Nó em uma porta estática. Ele ainda requer um seletor para identificar os Pods de destino; os endpoints são criados automaticamente.
  • ClusterIP com seletores: Este é o tipo de Service padrão. Quando um seletor é definido, os endpoints são criados e atualizados automaticamente pelo plano de controle. Nenhuma intervenção manual é necessária.

Em resumo, apenas Services sem seletores exigem criação manual de Endpoints, pois não há mecanismo de descoberta automática.