→ Kubernetes는 Pod Networking을 직접 제공하지 않는다. → 반드시 CNI 플러그인으로 구현 필요
🔥 즉, Pod 간 통신은 마치 물리적인 서버 간의 통신처럼 Layer 3 기반의 IP 통신이어야 한다.
| 노드 | 물리/가상 IP (노드용) |
|---|---|
| Node1 | 192.168.1.11 |
| Node2 | 192.168.1.12 |
| Node3 | 192.168.1.13 |
| 노드 | Bridge 서브넷 | Bridge IP |
|---|---|---|
| Node1 | 10.244.1.0/24 | 10.244.1.1 |
| Node2 | 10.244.2.0/24 | 10.244.2.1 |
| Node3 | 10.244.3.0/24 | 10.244.3.1 |
| 목적지 네트워크 | 경유 노드 IP |
|---|---|
| 10.244.2.0/24 | 192.168.1.12 |
| 10.244.3.0/24 | 192.168.1.13 |
→ 각 노드는 다른 노드의 Pod 네트워크에 대한 라우팅 필요
ip route add 10.244.2.0/24 via 192.168.1.12
ip route add 10.244.3.0/24 via 192.168.1.13
→ 또는 중앙 라우터에 라우팅 설정
| 역할 | 설명 |
|---|---|
| ✅ Add | Pod 생성 시 네트워크 연결, IP 할당, Bridge 연결 |
| ✅ Del | Pod 종료 시 네트워크 해제, IP 반환 |
| ✅ Check | 상태 점검 (선택적) |
/opt/cni/bin/ 같은 디렉토리에 위치/etc/cni/net.d/에 존재[Kubelet] → [Container Runtime] → [CNI Plugin (Add)]
→ [Namespace 생성 + veth 생성 + Bridge 연결 + IP 할당 + Routing]
→ Pod Ready
→ Pod 삭제 시는 동일하게 CNI Plugin의 Del 호출
Pod 간 통신은 물리 네트워크 수준의 L3 통신
노드 간 라우팅 → CNI 플러그인에서 자동 처리
대표적인 CNI 플러그인: