Service Configuration
medium

Service Configuration Question #019e3a4f

Question Statement
Service Configuration
#kubernetes
#service-discovery
#dns
#environment-variables
Medium

Quais são os dois modos principais de descoberta de Service dentro de um cluster Kubernetes?

A

Variáveis de ambiente e DNS

Correct
B

Chamadas de API e LDAP

C

Labels e Radius

D

Selectors e DHCP

Official Explanation / Community Explanations

No Kubernetes, a descoberta de serviços é o mecanismo pelo qual pods e serviços se localizam. Os dois modos principais são variáveis de ambiente e DNS.

Como Funciona

Variáveis de Ambiente: Quando um pod é criado, o Kubernetes injeta um conjunto de variáveis de ambiente para cada serviço que existe no mesmo namespace no momento da criação do pod. Essas variáveis incluem o IP do cluster e a porta do serviço, seguindo a convenção de nomenclatura <NOME_DO_SERVICO>_SERVICE_HOST e <NOME_DO_SERVICO>_SERVICE_PORT. Isso permite que o pod se conecte ao serviço usando essas variáveis. No entanto, as variáveis de ambiente são estáticas e refletem apenas os serviços que existiam antes do pod ser iniciado; elas não são atualizadas se novos serviços forem adicionados posteriormente.

DNS: O Kubernetes executa um serviço de DNS (tipicamente CoreDNS) dentro do cluster. Cada serviço recebe automaticamente um nome DNS (ex.: my-service.my-namespace.svc.cluster.local). Os pods podem resolver esse nome para o IP do cluster do serviço. A descoberta baseada em DNS é dinâmica e funciona para todos os serviços, independentemente de quando foram criados. É a abordagem recomendada para a maioria dos casos de uso.

Por que a Resposta Correta está Certa

A resposta correta identifica os dois modos principais: variáveis de ambiente e DNS. Esses são os mecanismos nativos fornecidos pelo Kubernetes para descoberta de serviços. As variáveis de ambiente são simples e não requerem configuração adicional, enquanto o DNS oferece uma solução mais flexível e dinâmica.

Por que as Respostas Incorretas estão Erradas

  • Chamadas de API e LDAP: Embora o Kubernetes exponha um servidor de API, chamadas de API não são um modo primário de descoberta de serviços para pods. LDAP (Lightweight Directory Access Protocol) é um serviço de diretório externo e não um mecanismo nativo de descoberta do Kubernetes.
  • Labels e Radius: Labels são usadas para organizar e selecionar objetos (ex.: via selectors), mas não são um método direto de descoberta de serviços. RADIUS é um protocolo de rede para autenticação, autorização e contabilidade, não relacionado à descoberta de serviços no Kubernetes.
  • Selectors e DHCP: Selectors são usados para identificar quais pods pertencem a um serviço, mas fazem parte da definição do serviço, não de um modo de descoberta. DHCP (Dynamic Host Configuration Protocol) é usado para atribuição de endereços IP em redes tradicionais, não para descoberta de serviços no Kubernetes.