A descoberta de serviços é o processo em que as cargas de trabalho descobrem serviços sem conhecer o endereço IP. Neste tópico, descrevemos como os clusters Anthos na AWS (GKE na AWS) implementam a descoberta de serviços e os serviços de nome de domínio gerenciados (DNS, na sigla em inglês).
Descoberta de serviço
O Kubernetes gera automaticamente nomes de serviço que usam a seguinte especificação:
my-service.my-namespace.svc.my-zone
As cargas de trabalho também acessam serviços externos, como example.com
, usando nomes de DNS.
Para mais informações sobre o comportamento do DNS no Kubernetes, consulte
DNS para serviços e pods.
CoreDNS
Os clusters do Anthos na AWS usam o CoreDNS para fornecer resolução de DNS do cluster. 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
Os clusters do Anthos na AWS usam o DNSCache NodeLocal 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 (
foo.bar.svc.cluster.local
, por exemplo); - o servidor DNS da Amazon,
para um nome externo (
google.com
, por exemplo).
A seguir
Para uma visão geral de como o DNS é usado nos clusters do Kubernetes, consulte DNS para serviços e pods.