A Service gives a stable network identity (a virtual IP and a DNS name) to a set of Pods selected by labels. Since Pods are ephemeral and change IPs, the Service is the durable address clients use, and it load-balances across the healthy Pods behind it.
Why Services exist
Pods come and go (new IP each time). Clients need a STABLE endpoint.
A Service:
→ selects Pods by label (selector: app=web)
→ gets a fixed virtual IP + DNS name (web.default.svc.cluster.local)
→ load-balances requests across the matching, READY Pods
