Vista geral da deteção de serviços e do DNS

Este tópico descreve como o GKE no Azure interage com os serviços de nomes de domínio (DNS).

Deteção de serviços

A deteção de serviços é o processo em que as cargas de trabalho descobrem serviços sem saber o endereço IP do serviço. Esta secção descreve como o GKE no Azure implementa a deteção de serviços e o DNS gerido.

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

service.namespace.svc.cluster.local

Onde:

  • service: o nome do seu serviço
  • namespace: o espaço de nomes do seu serviço

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

CoreDNS

O GKE no Azure usa o CoreDNS para resolver nomes DNS nos clusters. O CoreDNS é executado como uma implementação redundante e dimensionada no espaço de nomes kube-system. A implementação do CoreDNS tem um serviço que agrupa os pods do CoreDNS e atribui-lhes um único endereço IP. A implementação do CoreDNS é dimensionada de acordo com o tamanho e a utilização do cluster.

NodeLocal DNSCache

O GKE no Azure usa o NodeLocal DNSCache para melhorar o desempenho da procura de DNS. O NodeLocal DNSCache é executado como um DaemonSet em cada nó no seu cluster. Quando um Pod faz um pedido DNS, o pedido é primeiro enviado para a cache DNS no mesmo nó. Se a cache não conseguir resolver o pedido de DNS, encaminha o pedido para:

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

O que se segue?