Freedom251 › Load Balancing Software
PureLB

What PureLB is
PureLB is a free, open-source Kubernetes Service LoadBalancer for bare-metal Linux clusters. It allocates IP addresses from configured pools and announces them through Linux networking, with optional BGP. Each ServiceGroup uses one pool type: local, remote, or Netbox. For local addresses, a Kubernetes Lease election selects a node to announce each address, and another node can take over if the selected node fails. Remote addresses are added to a dummy interface on each node and advertised through BGP, so an upstream router can distribute traffic using ECMP.
ServiceGroups can include IPv4 and IPv6 pools for dual-stack deployments. Kubernetes Custom Resource Definitions configure address pools and node agents. Installation is available through kubectl manifests or Helm; the documentation recommends Helm for production. The Allocator and LBNodeAgent expose Prometheus metrics on port 7472 at /metrics. PureLB requires a Kubernetes cluster with an operational CNI and Linux nodes. Its Netbox integration is documented as unsupported and may not work with recent Netbox versions.
Who it suits
PureLB suits teams operating self-hosted Kubernetes clusters on bare-metal Linux that need to allocate and announce service IP addresses. It requires an operational CNI and Linux nodes.
What it does well
- Free under the Apache License, Version 2.0
- Supports IPv4 and IPv6 pools
- Optional BGP announcements
- Can be installed with Helm or kubectl manifests
- Exposes Prometheus metrics
What to know first
- Requires a Kubernetes cluster with an operational CNI
- Requires Linux nodes
- Netbox integration is unsupported
- Netbox integration may fail with recent versions
Limits
PureLB requires Linux nodes and a Kubernetes cluster with an operational CNI. Its Netbox integration is currently unsupported and may not work with recent Netbox versions.
Getting started
- Visit the PureLB website and review its documentation.
- Prepare a Kubernetes cluster with an operational CNI and Linux nodes.
- Choose address pools and configure them with Kubernetes Custom Resource Definitions.
- Install PureLB using kubectl manifests or Helm; Helm is recommended for production deployments.
PureLB is a Kubernetes LoadBalancer implementation for bare-metal Linux clusters, aimed at operators who need externally reachable services without a cloud load-balancer controller. It suits teams comfortable managing Kubernetes networking and, when needed, BGP; its open-source model is attractive, but the Linux, CNI and operational requirements rule out simpler hosted approaches.
Overview
PureLB allocates IP addresses from configured pools and announces them for Kubernetes LoadBalancer services. You define pools and node-agent settings with Kubernetes Custom Resource Definitions, then install with kubectl manifests or Helm; Helm is the project’s recommended production route. It is a Layer 4 solution for self-hosted, bare-metal environments rather than a managed service.
Its address model gives operators a meaningful choice. Local addresses are attached to host interfaces, and a Kubernetes Lease election selects one node to announce each address. If that node fails, another can take over. Remote addresses are placed on a dummy interface on every node and advertised with BGP, allowing an upstream router to spread traffic across nodes with ECMP. That makes the remote mode a better fit for routed data centers, while local mode is the more contained option when a shared Layer 2 network is sufficient.
Key features
- Flexible pools: Local, remote and Netbox pools are supported, with each ServiceGroup using exactly one pool type. The separation keeps behavior explicit, but requires planning when services need different announcement methods.
- Dual-stack support: ServiceGroups can contain IPv4 and IPv6 pools, including dual-stack deployments.
- BGP included: The default installation includes a k8gobgp sidecar for remote-address announcements. You can disable BGP during installation if it is not part of your network design.
- Operational visibility: The Allocator and LBNodeAgent publish Prometheus metrics on port 7472 at /metrics. The optional kubectl-purelb plugin reports pool utilization, service status, election state, BGP sessions, data-plane health and configuration validation.
- NetBox caveat: PureLB can request addresses from NetBox, but the integration is described as unsupported, untested with recent NetBox versions and potentially unreliable. Treat it as an experiment, not a production dependency.
- Security split: The Allocator runs non-root with a read-only filesystem and no capabilities. LBNodeAgent must run as root with NET_ADMIN and NET_RAW on the host network, a necessary privilege boundary for its Linux networking work.
Pricing
PureLB is free and open source under the Apache License 2.0. There are no paid tiers, seat charges or subscription renewals. The trade-off is operational responsibility: you provide the Kubernetes cluster, Linux nodes, networking and support process. Help is offered through the Kubernetes Slack #purelb-users channel and GitHub Issues.
Platforms
PureLB runs on Linux and is designed for self-hosted Kubernetes. The cluster must have an operational CNI, and the nodes must be Linux because PureLB uses the Linux netlink API. macOS appears as a supported platform in the directory, but the product’s stated runtime requirements center on Linux Kubernetes nodes, so macOS is not a substitute for that deployment environment.
Who it's for
Choose PureLB when you operate bare-metal Kubernetes and need LoadBalancer services backed by address pools you control. It is particularly suitable for teams with routed infrastructure that can consume BGP and ECMP, or for smaller installations that prefer lease-based local announcements. Dual-stack operators also get a native fit.
Look elsewhere if you want a managed endpoint, cloud-native provisioning, or a controller that avoids host-level networking privileges. NetBox-dependent designs should wait until that integration is dependable in their environment.
Pros and cons
Pros
- Free Apache-licensed software removes licensing and per-service costs.
- Local and BGP-based remote announcements cover both simpler Layer 2 setups and routed data centers.
- IPv4, IPv6 and dual-stack pools support mixed network estates.
- Prometheus metrics and the kubectl-purelb plugin expose practical capacity and health signals.
Cons
- Linux nodes and a functioning CNI are mandatory, limiting portability.
- LBNodeAgent requires root, NET_ADMIN, NET_RAW and host networking.
- Each ServiceGroup accepts only one pool type, so mixed announcement strategies need separate groups.
- NetBox integration is unsupported and may fail with recent releases.
Alternatives
MetalLB is the closest Kubernetes-focused alternative when you want an open-source load-balancing project without relying on PureLB’s NetBox integration. HAProxy Community Edition fits Linux operators who need a free TCP and HTTP proxy rather than Kubernetes address allocation. Linux Virtual Server is a GPL-licensed Linux option for conventional virtual-server routing.
Pick AWS Elastic Load Balancing when a web or API-managed AWS service is preferable to operating bare-metal networking; its free tier includes 750 shared Classic/Application Load Balancer hours and 15 GB of processing for new AWS customers. VMware Workstation Pro is a free choice for running virtual machines on Windows or Linux hosts, not a direct Kubernetes LoadBalancer replacement. Array APV is a paid alternative across API, Linux, self-hosted and web environments. F5 BIG-IP APM is a paid platform with a free trial and broad platform coverage when enterprise access-management infrastructure is the priority. kube-vip is another free, Linux self-hosted Kubernetes option.
For more choices, browse the Load Balancing Software list.
Verdict
PureLB is a strong fit for Kubernetes operators who want free, self-hosted Layer 4 service exposure with explicit local or BGP-based control, especially in bare-metal Linux and dual-stack networks. Choose it for that network-level flexibility and its useful monitoring hooks. Look elsewhere if you need managed provisioning, non-Linux nodes, minimal host privileges or reliable NetBox automation.
Verdict
PureLB provides address allocation and announcement for bare-metal Kubernetes, with local and BGP-based options. Note the Linux and CNI requirements, and treat Netbox support as limited.
Questions
Is PureLB free?
Yes. PureLB is free and open source under the Apache License, Version 2.0.
What platforms does PureLB support?
PureLB runs on Linux in a self-hosted Kubernetes cluster with an operational CNI.
Does PureLB support IPv6?
Yes. ServiceGroups can include IPv4 and IPv6 pools for dual-stack deployments.
Can PureLB use Netbox address pools?
It can request IP addresses from Netbox, but the integration is documented as unsupported and may not work with recent Netbox versions.
How can PureLB be installed?
It can be installed with kubectl manifests or Helm. The documentation recommends Helm for production deployments.
Where can users get support?
The project lists the Kubernetes Slack #purelb-users channel and GitHub Issues as support options.
Facts from PureLB's own pages
- Address pools
- PureLB supports local, remote, and Netbox address pools, with each ServiceGroup configured for exactly one type. · purelb.io, 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, 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, 11 Oct 2026
- Configuration
- PureLB uses Kubernetes Custom Resource Definitions with schema validation to configure address pools, node agents, and BGP peering. · purelb.io, 11 Oct 2026
- Installation
- PureLB can be installed using kubectl manifests or Helm, and its documentation recommends Helm for production installations. · purelb.io, 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, 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, 11 Oct 2026
- IP support
- PureLB supports IPv4, IPv6, and dual-stack deployments. · purelb.io, 11 Oct 2026
- IPv4 and IPv6
- ServiceGroups can include both IPv4 and IPv6 pools, and PureLB supports dual-stack deployments. · purelb.io, 4 Oct 2026
- License
- PureLB is licensed under the Apache License, Version 2.0. · purelb.io, 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, 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, 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, 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, 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, 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, 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, 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, 11 Oct 2026
- Support
- The project lists its Kubernetes Slack #purelb-users channel and GitHub Issues as ways to get help. · purelb.io, 4 Oct 2026
Where PureLB stands on Freedom251
- Load Balancing Software#6 of 32
