PureLB#
PureLB is a lightweight Kubernetes Service LoadBalancer for non-cloud deployments. It allocates IP addresses from configured pools and uses standard Linux networking to announce them, giving your services external reachability without a cloud provider.
GitHub | #purelb-users on Kubernetes Slack
Features#
Local and Remote Addresses. Local addresses are added to host interfaces for same-subnet access. Remote addresses are added to a dummy interface and advertised via BGP for routed topologies.
Multi-Subnet Local Addresses. Multi-pool allocation gives a single service local addresses on every subnet in your cluster, making it reachable from all network segments without routing.
Address Lifetime Control. Non-permanent address lifetimes prevent conflicts with Flannel, DHCP, and other systems that inspect address flags to select a node’s primary IP.
Integrated BGP Routing. Ships with k8gobgp as a sidecar, providing BGP route advertisement with no external routing software required.
Dual-Stack IPv4 and IPv6. Full support for IPv4, IPv6, and dual-stack deployments.
CRD-Based Configuration. Configured using Custom Resource Definitions with schema validation.
External IPAM Integration. Integrates with Netbox for enterprise IP address management.
Prometheus Metrics. Built-in metrics for pool utilization, election health, and node agent activity.
kubectl Plugin. The kubectl-purelb plugin provides operational visibility: pool status, election state, BGP sessions, and troubleshooting.
Multiple LoadBalancer Controllers. Implements
LoadBalancerClassso PureLB can coexist with other load balancer controllers.GARP Support. Configurable Gratuitous ARP for EVPN/VXLAN environments.