- Home
- Load Balancing Software
- PureLB
PureLB
What it is
PureLB is an open-source Kubernetes Service LoadBalancer for bare-metal Linux clusters. It allocates addresses from configured pools and announces them through Linux networking, with optional BGP for remote addresses. Local pools use Kubernetes Lease elections so one node announces each address and another can take over after failure. Remote addresses use a dummy interface on every node and can be advertised to upstream routers, which may distribute traffic with ECMP. ServiceGroups support local, remote, or Netbox pool types, plus IPv4, IPv6, and dual-stack deployments. Kubernetes Custom Resource Definitions configure pools and node agents. Installation uses kubectl manifests or Helm, with Helm recommended for production. Prometheus metrics are available from the Allocator and LBNodeAgent on port 7472 at /metrics. PureLB requires a Kubernetes cluster with an operational CNI and Linux nodes. It is Apache 2.0 licensed and includes an optional kubectl-purelb operations plugin.
For and against
For
- Supports IPv4, IPv6, and dual-stack pools
- Optional BGP with ECMP traffic distribution
- Lease-based failover for local addresses
- Helm and kubectl installation options
- Prometheus metrics endpoint included
Against
- Requires Linux Kubernetes nodes and an operational CNI
- Netbox integration is currently unsupported
- LBNodeAgent requires root networking capabilities
The verdict
PureLB provides configurable Layer 4 load balancing for self-hosted Kubernetes environments, including dual-stack and BGP scenarios. Operators should account for its Linux requirements and unsupported Netbox integration.
Who it suits
PureLB is intended for operators running Kubernetes on bare-metal Linux who need external reachability for LoadBalancer services. It fits teams managing their own clusters and networking.
On the record
- Address pools
- PureLB supports local, remote, and Netbox address pools, with each ServiceGroup configured for exactly one type.purelb.io · read 4 Oct 2026
- Address types
- Local addresses are added to host interfaces, while remote addresses use a dummy interface and can be advertised through BGP.purelb.io · read 11 Oct 2026
- BGP
- The default installation includes a k8gobgp sidecar for advertising remote addresses to upstream BGP routers; BGP can be disabled during installation.purelb.io · read 11 Oct 2026
- Configuration
- PureLB uses Kubernetes Custom Resource Definitions with schema validation to configure address pools, node agents, and BGP peering.purelb.io · read 11 Oct 2026
- Installation
- PureLB can be installed using kubectl manifests or Helm, and its documentation recommends Helm for production installations.purelb.io · read 11 Oct 2026
- Integration
- PureLB can request IP addresses from Netbox, but its documentation says this integration is currently unsupported and may not work with recent Netbox versions.purelb.io · read 4 Oct 2026
- Intended users
- PureLB is designed for operators running Kubernetes clusters on bare-metal Linux nodes who need external reachability for LoadBalancer services.purelb.io · read 11 Oct 2026
- IP support
- PureLB supports IPv4, IPv6, and dual-stack deployments.purelb.io · read 11 Oct 2026
- IPv4 and IPv6
- ServiceGroups can include both IPv4 and IPv6 pools, and PureLB supports dual-stack deployments.purelb.io · read 4 Oct 2026
- License
- PureLB is licensed under the Apache License, Version 2.0.purelb.io · read 11 Oct 2026
- Local addresses
- For local addresses, a Kubernetes Lease based election chooses one node to announce each address, and a new node can take over if the winner fails.purelb.io · read 4 Oct 2026
- Monitoring
- PureLB exposes Prometheus metrics for the allocator and node agent and documents Prometheus Operator ServiceMonitors, alert rules, and a Grafana dashboard.purelb.io · read 11 Oct 2026
- NetBox integration
- PureLB documents NetBox IP address management integration, but says the integration is currently unsupported, untested against recent NetBox versions, and may not work correctly.purelb.io · read 11 Oct 2026
- Operations
- The optional kubectl-purelb plugin provides commands for pool utilization, service status, election state, BGP sessions, data-plane health, and configuration validation.github.com · read 11 Oct 2026
- Purpose
- PureLB provides Kubernetes LoadBalancer services for bare-metal deployments by allocating IP addresses from configured pools and announcing them through Linux networking or optional BGP.purelb.io · read 11 Oct 2026
- Remote addresses
- Remote addresses are added to a dummy interface on every node and advertised through BGP; an upstream router can distribute traffic across nodes using ECMP.purelb.io · read 4 Oct 2026
- Requirements
- PureLB requires a Kubernetes cluster with a working CNI and Linux nodes; BGP use also requires TCP port 179 connectivity to an upstream router.purelb.io · read 11 Oct 2026
- Security
- The allocator runs as non-root UID 65534 with a read-only filesystem, while the node agent and k8gobgp run as root with networking capabilities and host networking.purelb.io · read 11 Oct 2026