Kubernetes defines a flat networking model. CNI plugins implement it.
Kubernetes rules:
Every pod gets its own IP
Pods communicate without NAT
Nodes communicate with pods without NAT
Pod sees same IP others see
Pod networking: Containers in same pod share network namespace. They use localhost.
Service networking: Services provide stable IPs for pod groups. kube-proxy implements load balancing.
CNI plugins: Calico, Cilium, Flannel, Weave.