Kubernetes Networking

Kubernetes는 Pod IP와 Service, Ingress로 클러스터 통신을 추상화한다

파드는 고유 IP를 갖고 서로 직접 통신할 수 있어야 한다. Service는 변하는 파드를 안정적인 이름과 가상 IP로 묶는다.

CNI가 파드 인터페이스와 IP 할당을 구현한다.
Service는 EndpointSlice로 현재 대상 파드를 추적한다.
Ingress는 규칙이고 실제 동작에는 controller가 필요하다.
Pods unique pod IP 같은 파드 안 컨테이너는 IP와 port space를 공유한다.
pod-a10.244.1.12
pod-b10.244.2.31
Service stable virtual IP + DNS 파드 IP가 바뀌어도 ClusterIP와 DNS 이름은 유지된다.
svc/api10.96.20.5
EndpointSlicepod-a, pod-b
Ingress / LB external HTTP routing Host/path 규칙을 controller가 실제 프록시/LB 설정으로 바꾼다.
api.example.com→ svc/api
Gateway APInewer model
정책은 별도 Kubernetes 네트워크 모델은 기본 통신 가능성을 정의한다. 실제 격리와 허용 정책은 CNI가 NetworkPolicy를 지원하고 적용할 때 의미가 생긴다.