VM들 위에 k8s를 구성하면
언더레이 네트워크: k8s 밑의 VM들은 할당된 IP 사용
오버레이 네트워크: k8s의 파드들도 IP는 필요함
파드 내부의 컨테이너 IP의 경우, 컨테이너는 죽었다 살았다를 반복하기 때문에 고정 IP를 줄 수 없음
그렇기 때문에 사설 아이피를 줌
쿠버네티스 내부에서 사용되는 IP를 할당받음
-> IP를 특정지을 수 없음!
그럼 사용자의 요청을 어떻게 특정 pod로 보낼까?
그렇게 해서 등장한게 Service
Service의 네 가지 타입
- Cluster IP: 클러스터가 사용하는 내부 사설 IP. 이 IP는 고정이며 이 IP로 온 요청들은 해당 클러스터 내의 Pod들로 전달
그러나 클러스터는 내부 IP이기 때문에 이것만 가지고는 외부 시스템들과의 통신이 불가능함.
- Node Port: 노드에 대한 포트를 정하고 Pod에 대한 포트를 정함. 노드로 온 요청들은 같은 포트번호를 가지고 있는 Pod로 가게 됨.
- Load Balancer: 지정한 포트로 오는 모든 요청 Pod로 전달. 외부에서 온 요청 로드밸런싱 해줌.
- External Name: 쿠버네티스 내부에서 특정 IP로 요청 던져줌.
Cf) Ingress
L7같은 기능을 함