Visão geral da descoberta de serviços e do DNS

Neste tópico, descrevemos como o GKE no Azure interage com os Serviços de Nome de Domínio (DNS).

Descoberta de serviços

A descoberta de serviços é o processo em que as cargas de trabalho descobrem serviços sem saber o endereço IP deles. Nesta seção, descrevemos como o GKE no Azure implementa a descoberta de serviços e o DNS gerenciado.

O Kubernetes gera automaticamente nomes de serviço que usam a seguinte especificação:

service.namespace.svc.cluster.local

Em que:

  • service: o nome do serviço
  • namespace: o namespace do serviço

As cargas de trabalho também acessam serviços externos, como example.net, usando nomes de DNS. Para mais informações sobre o comportamento do DNS no Kubernetes, consulte DNS para serviços e pods.

CoreDNS

O GKE no Azure usa o CoreDNS para resolver nomes de DNS nos clusters. O CoreDNS é executado como uma implantação redundante e escalonada no namespace kube-system. A implantação do CoreDNS inclui um serviço que agrupa os pods do CoreDNS e atribui a eles um único endereço IP. A implantação do CoreDNS é escalonada com o tamanho e o uso do cluster.

NodeLocal DNSCache

O GKE na AWS usa o NodeLocal DNSCache para melhorar o desempenho da busca DNS. O NodeLocal DNSCache é executado como um DaemonSet em cada nó do cluster. Quando um pod faz uma solicitação DNS, a solicitação vai primeiro para o cache DNS no mesmo nó. Se o cache não conseguir resolver a solicitação DNS, ele encaminhará a solicitação para:

  • O CoreDNS para um nome interno, por exemplo foo.bar.svc.cluster.local

A seguir