Service는 label로 선택된 Pod 집합에 안정적인 네트워크 신원(가상 IP와 DNS 이름)을 부여한다. Pod는 일시적이고 IP가 바뀌므로, Service가 클라이언트가 사용하는 지속적인 주소이며, 그 뒤의 정상 Pod들에 걸쳐 로드 밸런싱을 한다.
Service가 존재하는 이유
Pod는 왔다 갔다 한다 (매번 새 IP). 클라이언트에게는 안정적인 엔드포인트가 필요하다.
Service는:
→ label로 Pod를 선택 (selector: app=web)
→ 고정된 가상 IP + DNS 이름을 받음 (web.default.svc.cluster.local)
→ 매칭되고 준비된(READY) Pod들에 요청을 로드 밸런싱
