Service discovery lets Kubernetes-hosted services communicate through stable names rather than the physical IP addresses of individual pods. A Kubernetes Service provides the routing abstraction between deployments and their containers, allowing callers to find replicas without tracking addresses that change during upgrades, rescheduling, or restarts. section 2.3.4 section 2.1.2
Service discovery addresses several practical Kubernetes concerns:
- Services route traffic to containers managed by deployments and balance requests across their replicas. section 2.1.2
- Callers can use a service name instead of learning pod IP addresses, which may change when pods are upgraded, moved, or restarted. section 2.3.4
- Dynamic discovery does not make an application resilient by itself; downstream services can still go down and require application-level preparation. section 2.4
- Large applications may accumulate complex YAML for many services, making change tracking and kubectl-based deployment harder to manage. section 2.1.2
Connecting Conference services
In the Conference application, one service can address another through its Kubernetes Service name. The destination can be upgraded, rescheduled, or restarted while the caller continues using the stable name rather than a changing pod address. section 2.3.4






