P4Kube: In-Network Load Balancer for Kubernetes
Garegin Grigoryan, Kevin Penkowski, Minseok Kwon

TL;DR
P4Kube introduces an in-network load balancer for Kubernetes that directly interacts with the control plane, reducing request times by up to 50% and bypassing traditional control plane involvement.
Contribution
It presents a novel P4-based data plane program and Kubernetes plugin that perform load balancing without control plane involvement, improving efficiency.
Findings
Up to 50% reduction in average request time.
Effective load balancing based on replica count.
Direct interaction with Kubernetes control plane.
Abstract
Kubernetes Services such as LoadBalancer and NodePort expose applications running on pods within a Kubernetes cluster to external users. While the LoadBalancer Service requires an external load-balancing middleware, its alternative, NodePort Service, adds additional hops on the path between clients and the worker nodes. In this paper, we propose P4Kube, a framework consisting of a P4 data plane program and a Kubernetes plugin. Our solution effectively performs load balancing of requests to the worker nodes of a cluster based on the number of running replicas. In P4Kube, the data packets completely bypass the system's control plane. Unlike the previous work, to update its state, the P4Kube data plane works directly with the Kubernetes control plane without any involvement of the network control plane. Our experiments show up to 50% improvement in the average request time to the cluster…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
