Skip to content
SPECIFICTION
Get listed

PureLB

purelb.io

macOSLinuxSelf-hosted
Visit purelb.io
Spec score 6.8 #18 of 32 in Load Balancing Software

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

Alternatives to PureLBAll alternatives →