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