Kubernetes đặt ra một mô hình mạng phẳng với bốn ràng buộc:
1. Mỗi Pod có một IP riêng, duy nhất trong toàn cluster.
2. Pod trên cùng node liên lạc trực tiếp với nhau.
3. Pod trên các node khác nhau liên lạc không cần NAT — dùng thẳng IP của nhau.
4. Agent trên node (kubelet) liên lạc được với mọi Pod trên node đó.
Kubernetes không tự cài đặt mạng Pod này; nó ủy quyền cho một plugin CNI (Container Network Interface) như Calico, Cilium, Flannel. CNI cấp IP cho Pod và tạo đường cho gói tin đi giữa các node — thường bằng một trong hai cách: định tuyến trực tiếp (route theo IP Pod) hoặc overlay network (đóng gói gói tin qua VXLAN/IP-in-IP để đi qua mạng vật lý).
Hai lớp liên quan cần phân biệt:
- Pod-to-Pod: mạng phẳng do CNI lo, dùng IP Pod.
- Service: IP Pod là ephemeral (Pod chết là đổi), nên Service cung cấp một virtual IP ổn định; kube-proxy (iptables/IPVS) cân bằng tải tới các Pod đang sống. DNS nội bộ (CoreDNS) phân giải tên Service.
Hình dung: CNI lát đường cho các Pod nói chuyện; Service là địa chỉ cố định để không phải nhớ IP hay đổi liên tục.