Pod은 중단되고 새로 시작될 수 있는 리소스이기 때문에, Pod에 부여된 IP 주소는 수시로 변경될 수 있다.
따라서, 어플리케이션 노출을 추상화하기 위해서는 Service를 사용해야 한다.
Service는 마치 Rerverse Proxy와 같은 역할을 수행하는 리소스이다.
Pod이 사용하는 네트워크와 마찬가지로 Service가 사용하는 네트워크도 가상 IP 주소 기반이다.
호스트(노드) 내 목적지를 찾을 수 없는 외부로 나가는 트래픽은 상위 GW로 전달된다.
하지만, 다른 노드에서 IP 주소가 부여된 Service에 대한 트래픽은 노드가 사용하는 네트워크의 GW까지 전달되지 않는다.
kube-proxy에 의해 설정된 netfilter에 따라서 Service에 대한 트래픽을 포워딩한다.
kube-proxy가 iptables chain rule을 통해서 user space가 아닌 kernel space에서 트래픽 흐름 제어를 하도록 설정한다.
클러스터 내에서 접근 가능하도록 부여된 가상 IP 주소이다.