Client side load balancing for Kubernetes clusters
APACHE-2.0 License
This repository implements in-process L7 load balancing algorithms for Kubernetes processes.
XXX
The Kubernetes Service abstraction is implemented as a L4 load balancer using iptables DNAT on each node to route the Service Virtual IPs to pod IPs.
Unfortunately, this leaves user without much control about where the requests are going. Worse there are cases where L4 fails entirely to load balance anything: think about HTTP/2 multiplexing all requests onto the same connection!
My Kubecon talk (Copenhagen, May 2018), The Untapped Power of Services - L7 Load Balancing Without a Service Mesh gives a lot more details about the reasons I've started this work.
The talk is available in video format: