Improving Network Efficiency with Topology Aware Routing

Rob Scott at KubeCon + CloudNativeCon North America 2020

As Kubernetes clusters grew to span multiple zones and regions, it became clear that we needed to improve network routing. The initial kube-proxy implementation meant that all requests were equally likely to go to any endpoint, regardless of how far away it was. With topology aware routing, kube-proxy will attempt to keep network traffic within the same zone or region if there is sufficient capacity. This can have huge impacts on network efficiency, performance, and scalability. This talk will cover the evolution of topology aware routing in Kubernetes including the options that didn’t end up working. It will demonstrate how the current algorithm works, discuss the tradeoffs of the approach, and show the simulations that were run to develop the algorithm. Finally, this talk will provide some data showing the significant impacts this feature can have on Kubernetes networking.