PureLB
purelb.io
What it is
PureLB is a Kubernetes Service LoadBalancer for bare-metal Linux clusters. It allocates external IP addresses from configured pools and announces them through Linux networking, with optional BGP for remote addresses. ServiceGroups use exactly one pool type: local, remote, or Netbox. Local addresses are attached to host interfaces, and a Kubernetes Lease election chooses which node announces each address; another node can take over if that node fails. Remote addresses are placed on a dummy interface on every node and advertised through BGP, allowing an upstream router to distribute traffic with ECMP. Pools can contain IPv4, IPv6, or both for dual-stack deployments. Kubernetes Custom Resource Definitions configure pools and node agents. Installation uses kubectl manifests or Helm, with Helm recommended for production. PureLB requires a Kubernetes cluster with an operational CNI and Linux nodes. It is free, open source, Apache 2.0 licensed, and self-hosted. Prometheus metrics are exposed on port 7472 at /metrics. NetBox integration is documented but currently unsupported and may not work with recent versions.
Spec sheet
- 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.Read 11 Oct 2026 · purelb.io
- Intended users
- PureLB is designed for operators running Kubernetes clusters on bare-metal Linux nodes who need external reachability for LoadBalancer services.Read 11 Oct 2026 · purelb.io
- 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.Read 11 Oct 2026 · purelb.io
- Support
- The project lists its Kubernetes Slack #purelb-users channel and GitHub Issues as ways to get help.Read 4 Oct 2026 · purelb.io
- License
- PureLB is licensed under the Apache License, Version 2.0.Read 11 Oct 2026 · purelb.io
- Address pools
- PureLB supports local, remote, and Netbox address pools, with each ServiceGroup configured for exactly one type.Read 4 Oct 2026 · purelb.io
- Address types
- Local addresses are added to host interfaces, while remote addresses use a dummy interface and can be advertised through BGP.Read 11 Oct 2026 · purelb.io
- BGP
- The default installation includes a k8gobgp sidecar for advertising remote addresses to upstream BGP routers; BGP can be disabled during installation.Read 11 Oct 2026 · purelb.io
- Configuration
- PureLB uses Kubernetes Custom Resource Definitions with schema validation to configure address pools, node agents, and BGP peering.Read 11 Oct 2026 · purelb.io
- Installation
- PureLB can be installed using kubectl manifests or Helm, and its documentation recommends Helm for production installations.Read 11 Oct 2026 · purelb.io
- 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.Read 4 Oct 2026 · purelb.io
- IP support
- PureLB supports IPv4, IPv6, and dual-stack deployments.Read 11 Oct 2026 · purelb.io
- IPv4 and IPv6
- ServiceGroups can include both IPv4 and IPv6 pools, and PureLB supports dual-stack deployments.Read 4 Oct 2026 · purelb.io
- 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.Read 4 Oct 2026 · purelb.io
- Monitoring
- PureLB exposes Prometheus metrics for the allocator and node agent and documents Prometheus Operator ServiceMonitors, alert rules, and a Grafana dashboard.Read 11 Oct 2026 · purelb.io
- 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.Read 11 Oct 2026 · purelb.io
- Operations
- The optional kubectl-purelb plugin provides commands for pool utilization, service status, election state, BGP sessions, data-plane health, and configuration validation.Read 11 Oct 2026 · github.com
- 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.Read 4 Oct 2026 · purelb.io
- 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.Read 11 Oct 2026 · purelb.io
Strong points and limits
Strong points
- Free and open source under Apache 2.0
- Supports IPv4, IPv6, and dual-stack deployments
- Local and remote address announcement modes
- Helm and kubectl installation options
- Prometheus metrics endpoint included
Limits
- Requires Kubernetes with an operational CNI
- Requires Linux nodes and Linux netlink
- NetBox integration is currently unsupported
- LBNodeAgent requires root networking capabilities
Who it suits
PureLB suits operators running Kubernetes on bare-metal Linux who need external reachability for LoadBalancer services. It is also aimed at teams managing IPv4, IPv6, or dual-stack networking with local or BGP-based address announcement.
Verdict
PureLB provides configurable Layer 4 LoadBalancer behavior for self-hosted Kubernetes on Linux. Its local election, remote BGP mode, dual-stack support, and metrics cover several operational models, while the unsupported NetBox integration needs caution.
Where Specifiction places it
- Load Balancing Software#18 of 326.8