The kubernetes networking model specifies that all pods can talk to each other without NAT.
I have read that this is because flat networks are easier to manage. I've also read that it is nice when a pod can advertise the ip address where it is reachable by other pods, and again this is easier without NAT.
I can see how these are good reasons for preferring a flat network. But if I had to have some nodes behind a NAT gateway, would it be technically possible to get kubernetes to work anyway? Not saying I'm going to do that, I just want to understand the reason for the "no NAT" part of the kubernetes networking design better.