Architecture Overview
The hub-and-spoke model consists of three main components:Management Cluster
The central hub that hosts the KubeLB Manager and coordinates load balancing
Tenant Clusters
Consumer clusters that run the KubeLB CCM and workloads requiring load balancers
Components
KubeLB Manager (Hub)
The KubeLB Manager runs in the management cluster and serves as the central control plane. It is responsible for:- Hosting the Envoy xDS (Extensible Discovery Service) control plane server
- Receiving load balancer configurations from tenant clusters via the
LoadBalancerandRouteCRDs - Deploying and configuring Envoy proxy instances based on the selected topology
- Managing tenant registrations and multi-tenancy isolation
- Configuring load balancer services and routing rules
The manager runs in its own dedicated Kubernetes cluster, separate from your workload clusters. This ensures isolation and centralized management.
KubeLB CCM (Spoke)
The KubeLB CCM (Cloud Controller Manager) is deployed in each tenant cluster that requires load balancer services. It acts as a bridge between the tenant cluster and the management cluster. Key responsibilities:- Watches for Kubernetes
Serviceresources of typeLoadBalancer - Watches for
Ingressresources - Watches for Gateway API resources (
Gateway,HTTPRoute,GRPCRoute) - Watches for node changes to track available endpoints
- Propagates load balancer configurations to the manager as
LoadBalancerandRouteCRDs - Updates service status with assigned load balancer IPs
The CCM is installed via Helm chart and requires API access to the management cluster.
Cluster Relationships
Management Cluster
The management cluster is the central hub that:- Hosts the KubeLB Manager controller
- Runs the Envoy xDS control plane server
- Deploys Envoy proxy instances (based on topology)
- Stores tenant configurations and load balancer state
- Must have a LoadBalancer implementation (cloud provider or MetalLB)
- Service type
LoadBalancersupport (cloud provider or self-managed like MetalLB) - Network access to tenant cluster nodes on NodePort range (default: 30000-32767)
Tenant Clusters
Tenant clusters are the consumer clusters where:- Application workloads run
- Services require external load balancers
- KubeLB CCM is deployed
- Each cluster is registered as a
Tenantresource in the management cluster
- Registered as a
Tenantin the management cluster - Network connectivity to the management cluster API server
- NodePort range accessible from the management cluster
Communication Flow
Layer 4 Load Balancing (Services)
Layer 7 Load Balancing (Ingress/Gateway API)
Data Plane Architecture
KubeLB uses Envoy proxy as the data plane for load balancing:- Configuration Propagation: CCM sends load balancer specs to the manager
- xDS Server: Manager runs an xDS control plane that configures Envoy
- Dynamic Updates: Envoy proxies receive configuration updates via xDS protocol
- Traffic Routing: Envoy forwards traffic to tenant cluster NodePorts
Benefits of Hub-and-Spoke Model
Centralized Management
Centralized Management
All load balancer configurations are managed from a single control plane, simplifying operations and reducing overhead.
Multi-Cloud Support
Multi-Cloud Support
Tenant clusters can run in different cloud providers or on-premise, while the management cluster handles load balancing.
Cost Optimization
Cost Optimization
Reduces the number of cloud load balancers needed by consolidating load balancing in the management cluster.
Consistent Configuration
Consistent Configuration
Uniform load balancer behavior across all tenant clusters, regardless of underlying infrastructure.
Network Requirements
Required network paths:| Source | Destination | Port | Purpose |
|---|---|---|---|
| Tenant Cluster (CCM) | Management Cluster API | 6443 | API access to create CRDs |
| Management Cluster (Envoy) | Tenant Cluster Nodes | 30000-32767 | NodePort access for traffic routing |
| Envoy Proxy | Envoy xDS Server | 18000 | xDS configuration updates |
| Clients | Management Cluster (LoadBalancer) | 80/443 | Application traffic |
Next Steps
Multi-Tenancy
Learn about tenant isolation and namespace mapping
Load Balancing
Understand Layer 4 and Layer 7 load balancing
Envoy Topology
Explore different Envoy deployment topologies
Installation
Install KubeLB in your environment
