Pular para o conteúdo principal

Capítulo 4.3 - Service Discovery

Objetivos de Aprendizagem​

Ao final deste capítulo, você será capaz de:

  • Compreender o service discovery no Kubernetes
  • Utilizar o DNS interno
  • Entender a resolução de nomes
  • Configurar os serviços para descoberta

Service Discovery​

O Kubernetes fornece um serviço de DNS (CoreDNS) para resolver automaticamente os nomes dos Services.


Formato dos Nomes DNS​

Formato Completo​

<service-name>.<namespace>.svc.cluster.local

Exemplo:

web-service.default.svc.cluster.local

Formato Curto​

No mesmo namespace:

web-service

Em outro namespace:

web-service.production

Exemplo de Utilização​

De um Pod​

# Dentro de um Pod
curl http://web-service
# Resolve automaticamente para web-service.default.svc.cluster.local

# Com namespace
curl http://web-service.production

Variáveis de Ambiente​

O Kubernetes cria automaticamente variáveis de ambiente:

WEB_SERVICE_SERVICE_HOST=10.96.0.1
WEB_SERVICE_SERVICE_PORT=80

Resumo​

Neste capítulo, você aprendeu:

Service Discovery: Resolução automática via DNS
Formato DNS: service.namespace.svc.cluster.local
Formato curto: service ou service.namespace
CoreDNS: Serviço de DNS do cluster
Variáveis de ambiente: Criadas automaticamente


Próximos Passos​

Capítulo 4.4: Networking Kubernetes
Lab 4.2: Service Discovery com DNS


Capítulo criado em: Dezembro de 2024