Kubermatic branding element

KubeLB Unveiled: New Multi-Tenant Load Balancer

Transforming Application Delivery with Cutting-Edge Cloud-Native Multi-Tenant Load Balancing

As applications transition from monolithic architectures to cloud-native-based, the need for advanced load balancing solutions becomes paramount. Current Application Delivery Controllers (ADCs) often struggle to keep pace with the evolving complexities of cloud-native-based applications.

Evolution of Load Balancing Architectures

Monolithic Architecture

The traditional monolithic architecture, while suitable for smaller applications, becomes unwieldy and impractical for larger and more complex applications. Scaling, deploying changes, and adopting new Kuberntes clusters and teams become cumbersome, limiting flexibility and innovation.

Cloud-Native Load Balancing Architecture

Cloud-Native Load Balancing offers a solution by decomposing the load balancer structure into smaller, independent load balancers. Each load balancer aligns with a specific business function, enabling rapid development, independent deployment, and efficient scaling. KubeLB embraces the multi-tenant paradigm to provide a scalable and responsive load balancing solution.

The Rise of Kubernetes API and Scaling Strategies

The adoption of Kubernetes API and Cloud Controller Manager (CCM) for configuring the load balancer played a pivotal role in the success of using load balancers with Kubernetes. KubeLB leverages CCM for lightweight communication between clusters and the control plane, enhancing flexibility and efficiency. The platform employs various scaling strategies, multi-tenant isolation, ensuring optimal resource utilization, isolation and application responsiveness.

What is KubeLB?

KubeLB, a project by Kubermatic, is a Kubernetes native tool that centrally manages load balancers for Kubernetes clusters across multi-cloud and on-premise environments. It addresses the absence of multi-tenant, multi-clustered load balancer implementation in Kubernetes by providing a centralized solution for load balancer management. Load balancer operates as a service, so you can have multiple customers using the same software. It detects the customer environment and acts accordingly.

KubeLB aims to overcome limitations in load balancing for bare-metal Kubernetes environments by offering a centralized management solution. It fills the gap left by in-tree or out-of-tree cloud provider implementations, ensuring load balancing for services of type LoadBalancer in any environment.

Architecture

KubeLB comprises two components:

  • CCM (Consumer Cluster Manager): Deployed in consumer clusters, CCM propagates load balancer configurations to the manager based on changes in Kubernetes services and nodes.
  • Manager: The central component receives load balancer configurations from CCM(s) and deploys and configures load balancers accordingly. It relies on the envoy proxy for traffic load balancing and supports three deployment topologies: Dedicated, Shared (default), and Global.
stacked containers image

KubeLB - Designed for Hundreds of Teams and Apps

Distributed Architecture

KubeLB utilizes an architecture based on software-defined networking (SDN) principles. This architecture separates the data plane from the control plane, enabling seamless scaling of application delivery services within and across data centers and cloud locations while maintaining centralized control.

Multi-Tenant Driven Application Delivery

KubeLB’s distributed load balancers, powered by high-performance Cilium and Envoy, provide comprehensive application delivery services. The platform’s multi-tenant approach allows strong separation of access and traffic, enabling automatic scaling to handle increasing demand for dynamic multi-clusters and multi-teams.

Elastic Scale and Application Affinity

KubeLB’s elastic data plane allows for real-time scaling across multiple tenants and applications. Cilium and Envoy ensure application affinity, placing them in proximity for optimal performance while avoiding network tromboning.

Dataplane Isolation for Tenants and Applications

To prevent interference between critical applications, KubeLB allocates dedicated micro load balancers for each tenant, ensuring true multi-tenant application services without the “noisy neighbor” problem.

Programmability and N-Way Active Redundancy

KubeLB emphasizes programmability through native Kubernetes APIs, enabling seamless integration with tools like kubectl, Crossplane, Terraform, and Ansible. The platform ensures N-Way Active-Active redundancy for high availability.

Conclusion

KubeLB provides an elastically scalable load balancer with a distributed data plane, spanning various on-premise and cloud locations. Its distributed architecture and elastic scaling at the load balancer level significantly enhances application performance. The clean separation of planes reduces operational complexity, making KubeLB an ideal solution for integrating, operating, and managing ADC appliances across diverse locations. All in, KubeLB is highly flexible, cost focused, scalable and efficient.

Sebastian Scheele

Sebastian Scheele

Co-founder and CEO