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çonamespace
: 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?
- Para uma vista geral de como o DNS é usado em clusters do Kubernetes, consulte o artigo DNS para serviços e pods.