MetalLB
metallb.io
What it is
MetalLB provides network load balancing for Kubernetes clusters that do not run on a cloud provider. It assigns service IP addresses from operator-configured pools and announces them through ARP, NDP, or BGP, depending on the chosen mode. In layer 2 mode, one cluster machine announces an address using ARP for IPv4 or NDP for IPv6. In BGP mode, cluster machines peer with nearby routers, which can distribute traffic across multiple nodes. The recommended FRR-K8s mode supports BFD, IPv6, and merging additional FRR configuration. MetalLB is open source, with no paid plans listed. Installation options include Kubernetes manifests, Kustomize, Helm, and an Operator on OperatorHub. After installation it remains idle until configured with resources such as an IPAddressPool in its deployment namespace. Requirements include Kubernetes 1.13.0 or later, a compatible cluster network, and IPv4 addresses. The project lists AWS, Azure, DigitalOcean, and Google Cloud as unsupported and says it is generally incompatible with cloud providers. MetalLB describes itself as a beta project and cautions that its configuration format may change incompatibly as development continues.
Spec sheet
- Purpose
- MetalLB provides a network load balancer for Kubernetes clusters that do not run on a cloud provider.Read 4 Oct 2026 · metallb.io
- Address allocation
- It assigns and unassigns service IPs from address pools configured by the operator.Read 4 Oct 2026 · metallb.io
- Announcement modes
- It announces service addresses using ARP, NDP, or BGP, depending on the selected mode.Read 4 Oct 2026 · metallb.io
- BGP
- BGP mode peers cluster machines with nearby routers and can distribute traffic across multiple nodes.Read 4 Oct 2026 · metallb.io
- BGP backend
- The recommended FRR-K8s mode supports BFD, IPv6, and merging additional FRR configuration.Read 4 Oct 2026 · metallb.io
- Cloud compatibility
- MetalLB is generally incompatible with cloud providers; its compatibility page lists AWS, Azure, DigitalOcean, and Google Cloud as unsupported.Read 4 Oct 2026 · metallb.io
- Community and support
- The project provides a users mailing list and Slack channel, and ongoing development and maintenance are led by project maintainers.Read 4 Oct 2026 · metallb.io
- Configuration
- MetalLB remains idle until configured with resources such as IPAddressPool in its deployment namespace.Read 4 Oct 2026 · metallb.io
- Install options
- MetalLB can be installed using Kubernetes manifests, Kustomize, or Helm; an Operator is also available on OperatorHub.Read 4 Oct 2026 · metallb.io
- Layer 2
- In layer 2 mode, one cluster machine announces a service IP using ARP for IPv4 or NDP for IPv6.Read 4 Oct 2026 · metallb.io
- Maturity
- MetalLB describes itself as a beta project and says its configuration format may change incompatibly as the project develops.Read 4 Oct 2026 · metallb.io
- Requirements
- The project lists Kubernetes 1.13.0 or later, a compatible cluster network, and IPv4 addresses as requirements.Read 4 Oct 2026 · metallb.io
- Runtime privileges
- The speaker pod requires elevated permissions for its network functions.Read 4 Oct 2026 · metallb.io
- Security changes
- Release notes report read-only root filesystems and disabled privilege escalation for containers that lacked those settings, and a fix for CVE-2025-22874.Read 4 Oct 2026 · metallb.io
Plans and prices
Strong points and limits
Strong points
- Supports ARP, NDP, and BGP announcement modes.
- BGP mode can distribute traffic across multiple nodes.
- Install options include manifests, Kustomize, Helm, and OperatorHub.
- The recommended FRR-K8s mode supports BFD and IPv6.
Limits
- It is generally incompatible with cloud providers.
- It remains idle until configured with resources such as IPAddressPool.
- The project says its configuration format may change incompatibly.
- The speaker pod requires elevated network permissions.
Who it suits
MetalLB is intended for operators of Kubernetes clusters that do not run on cloud providers and need service IP allocation and announcement. It suits teams able to configure cluster networking and address pools.
Verdict
MetalLB provides address allocation and announcement for non-cloud Kubernetes clusters, with layer 2 and BGP modes. Its requirements, cloud incompatibilities, and beta status are important deployment considerations.
Where Specifiction places it
- Load Balancing Software#7 of 327.5