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

Este tópico descreve como o GKE no Azure interage com os Serviços de Nomes de Domínio (DNS).

Descoberta de serviço

A descoberta de serviços é o processo em que cargas de trabalho descobrem serviços sem conhecer o endereço IP do serviço. Esta seção descreve 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

Onde:

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

As cargas de trabalho também acessam serviços externos — por exemplo, example.net — usando nomes DNS. Para obter 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 DNS em clusters. O CoreDNS é executado como uma implantação redundante e escalonada no namespace kube-system . A implantação do CoreDNS tem um serviço que agrupa os pods do CoreDNS e atribui a eles um único endereço IP. A implantação do CoreDNS é escalonada de acordo com o tamanho e o uso do cluster.

NodeLocal DNSCache

O GKE no Azure usa o NodeLocal DNSCache para melhorar o desempenho da pesquisa de DNS. O NodeLocal DNSCache é executado como um DaemonSet em cada nó do cluster. Quando um Pod faz uma solicitação de DNS, a solicitação vai primeiro para o cache de DNS no mesmo nó. Se o cache não conseguir resolver a solicitação de DNS, ele encaminha a solicitação para:

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

O que vem a seguir