Networking
medium

Networking Question #019e3a4f

Question Statement
Networking
#kubernetes
#dns
#service-discovery
#kube-dns
#coredns
Medium

Qual é a principal função do DNS do Kubernetes dentro de um cluster?

A

Atua como um servidor DNS para máquinas virtuais que estão sendo executadas fora do cluster.

B

Fornece um DNS como Serviço, permitindo que os usuários criem zonas e registros para domínios que possuem.

C

Permite que Pods em execução em pilha dupla convertam chamadas IPv6 em chamadas IPv4.

D

Fornece nomes DNS consistentes para Pods e Serviços para que as cargas de trabalho possam se comunicar entre si.

Correct

Official Explanation / Community Explanations

A principal função do DNS do Kubernetes é fornecer nomes DNS consistentes para Pods e Serviços, permitindo descoberta de serviço confiável e comunicação dentro do cluster. O DNS do Kubernetes (tipicamente implementado por CoreDNS ou kube-dns) atribui automaticamente registros DNS a Serviços e Pods. Por exemplo, um Serviço chamado my-service no namespace my-ns é resolvível como my-service.my-ns.svc.cluster.local. Pods também recebem nomes DNS baseados em seu hostname e subdomínio. Isso elimina a necessidade de endereços IP fixos e permite que as cargas de trabalho se encontrem dinamicamente.

Como funciona:

  • O add-on DNS é executado como um conjunto de Pods no cluster, geralmente no namespace kube-system.
  • Ele observa a API do Kubernetes em busca de novos Serviços e Endpoints e atualiza seus registros DNS de acordo.
  • Os Pods são configurados para usar o servidor DNS do cluster através do campo dnsPolicy em sua especificação de Pod (o padrão é ClusterFirst), que modifica o /etc/resolv.conf do Pod para apontar para o IP do DNS do cluster.
  • O servidor DNS resolve nomes de Serviços para ClusterIPs (ou endpoints de Serviços headless) e nomes de Pods para IPs de Pods.

Por que a resposta correta está certa:
A afirmação "Fornece nomes DNS consistentes para Pods e Serviços para que as cargas de trabalho possam se comunicar entre si" descreve com precisão a função principal do DNS do Kubernetes. Ele garante que Pods e Serviços tenham nomes DNS estáveis e previsíveis que permanecem consistentes mesmo se os endereços IP subjacentes mudarem.

Por que as opções incorretas estão erradas:

  • "Atua como um servidor DNS para máquinas virtuais que estão sendo executadas fora do cluster" está incorreto porque o DNS do Kubernetes é interno ao cluster e não atende VMs externas. A resolução DNS externa é tratada por outros mecanismos como ExternalDNS ou configuração manual de DNS.
  • "Fornece um DNS como Serviço, permitindo que os usuários criem zonas e registros para domínios que possuem" está incorreto porque o DNS do Kubernetes não expõe uma interface de gerenciamento DNS voltada ao usuário para criar zonas personalizadas. Ele gerencia automaticamente registros DNS apenas para recursos do cluster.
  • "Permite que Pods em execução em pilha dupla convertam chamadas IPv6 em chamadas IPv4" está incorreto porque o DNS do Kubernetes não realiza conversão de protocolo. O suporte a pilha dupla permite que Pods usem endereços IPv4 e IPv6, mas a resolução DNS permanece separada; o servidor DNS pode retornar registros A (IPv4) e AAAA (IPv6) conforme apropriado.