Kubernetes Networking: Behind the Scenes
I feel like k8s networking is 10x more complex than it needs to be...I think it's because they still want to use the socket API, but to "pretend" you can open a socket to a pod, or to a service, etc.Instead, they should have defined a new API, like "connect('k8s:service:foobar?selectionstrategy=leastloaded')"Then they could have made simple LD_PRELOAD shims to get their magic API to work with existing software without modification.There would be no need for millions of IPtables rules, virtual IP addresses, port remapping, proxy processes, etc.