EVERYTHING XIAOMI
Get listed

MetalLB

MetalLB provides network load balancing for Kubernetes clusters that are not running on a cloud provider.

Place
#8 of 32
Score
5.8
MetalLB's website

What MetalLB is

MetalLB provides network load balancing for Kubernetes clusters that are not running on a cloud provider. It assigns service IP addresses from operator-configured pools and announces them using ARP, NDP, or BGP, depending on the selected mode. In layer 2 mode, one cluster machine announces an address using ARP for IPv4 or NDP for IPv6. BGP mode peers cluster machines with nearby routers and can distribute traffic across multiple nodes. The recommended FRR-K8s mode supports BFD, IPv6, and merging additional FRR configuration. MetalLB is free and open source, with no paid plans listed. It can be installed using Kubernetes manifests, Kustomize, or Helm, and an Operator is available on OperatorHub. Installation leaves it inactive until configured with resources such as an IPAddressPool in its deployment namespace. Listed requirements include Kubernetes 1.13.0 or later, a compatible cluster network, and IPv4 addresses. The project describes itself as beta, and its configuration format may change incompatibly. Its compatibility information lists AWS, Azure, DigitalOcean, and Google Cloud as unsupported.

Good

  • Free and open source.
  • Offers ARP, NDP, and BGP announcement modes.
  • BGP mode can distribute traffic across nodes.
  • Install options include Helm and Kustomize.

Watch out

  • Must be configured before it becomes active.
  • AWS, Azure, DigitalOcean, and Google Cloud are unsupported.
  • The project is beta and its configuration may change incompatibly.
  • A compatible cluster network and IPv4 addresses are required.

Who it suits

MetalLB suits operators managing Kubernetes clusters outside cloud-provider environments who need service IP allocation and announcement. It is not presented as a fit for the listed unsupported cloud providers.

Verdict

MetalLB provides IP allocation and network announcement options for Kubernetes clusters, with both layer 2 and BGP modes. Its beta status, configuration requirement, and cloud compatibility limits warrant review before adoption.

Plans and prices

From MetalLB's own pricing page, checked 4 Oct 2026.

All about pricing
PlanPriceWhat it gives you
MetalLBFreeNo paid plans listed; open source project for Kubernetes load balancing

The facts

Each one read from MetalLB's own pages, with the date it was checked.

What it does

Address allocation
It assigns and unassigns service IPs from address pools configured by the operator.checked 4 Oct 2026
Announcement modes
It announces service addresses using ARP, NDP, or BGP, depending on the selected mode.checked 4 Oct 2026
BGP
BGP mode peers cluster machines with nearby routers and can distribute traffic across multiple nodes.checked 4 Oct 2026
BGP backend
The recommended FRR-K8s mode supports BFD, IPv6, and merging additional FRR configuration.checked 4 Oct 2026
Cloud compatibility
MetalLB is generally incompatible with cloud providers; its compatibility page lists AWS, Azure, DigitalOcean, and Google Cloud as unsupported.checked 4 Oct 2026
Community and support
The project provides a users mailing list and Slack channel, and ongoing development and maintenance are led by project maintainers.checked 4 Oct 2026
Configuration
MetalLB remains idle until configured with resources such as IPAddressPool in its deployment namespace.checked 4 Oct 2026
Install options
MetalLB can be installed using Kubernetes manifests, Kustomize, or Helm; an Operator is also available on OperatorHub.checked 4 Oct 2026
Layer 2
In layer 2 mode, one cluster machine announces a service IP using ARP for IPv4 or NDP for IPv6.checked 4 Oct 2026
Maturity
MetalLB describes itself as a beta project and says its configuration format may change incompatibly as the project develops.checked 4 Oct 2026
Purpose
MetalLB provides a network load balancer for Kubernetes clusters that do not run on a cloud provider.checked 4 Oct 2026
Requirements
The project lists Kubernetes 1.13.0 or later, a compatible cluster network, and IPv4 addresses as requirements.checked 4 Oct 2026
Runtime privileges
The speaker pod requires elevated permissions for its network functions.checked 4 Oct 2026
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.checked 4 Oct 2026
The full review of MetalLB

MetalLB is a free, open-source network load balancer for Kubernetes clusters that run outside cloud-provider infrastructure. It suits operators of compatible, self-hosted Linux clusters who can manage network addressing and routing themselves.

Overview

MetalLB allocates service IP addresses from pools that the cluster operator defines, then announces those addresses on the local network. Deployment by itself does not make services reachable: MetalLB remains idle until resources such as an IPAddressPool are configured in its deployment namespace. That requirement gives experienced Kubernetes administrators precise control, but it makes address planning and configuration part of the operational workload.

The project supports two announcement models. Layer 2 mode has one cluster machine advertise a service IP, using ARP for IPv4 or NDP for IPv6. BGP mode establishes peering between cluster machines and nearby routers and can spread traffic across multiple nodes. Layer 2 is the more straightforward choice for a network where a single announcing node is acceptable; BGP is more compelling when routing control and distribution across nodes are priorities.

Key features

  • Address-pool allocation: Service IPs are assigned and released from operator-managed pools. This is useful when you own the address space and want predictable allocation, but it requires maintaining valid pools as services change.
  • Layer 2 announcements: ARP and NDP cover IPv4 and IPv6 networks without requiring router peering. Because one machine announces a service address, this mode favors simpler topologies over multi-node traffic distribution.
  • BGP routing: Peering with nearby routers lets traffic reach multiple cluster nodes. It is the stronger option for networks already designed around BGP, though it brings routing configuration and coordination outside Kubernetes.
  • FRR-K8s backend: The recommended BGP backend supports BFD, IPv6, and merging additional FRR configuration. Those capabilities matter to operators who need faster failure detection, IPv6 routing, or integration with existing FRR settings.
  • Several installation paths: Kubernetes manifests, Kustomize, Helm, and an OperatorHub operator are supported. Teams can use the deployment workflow that best matches their existing cluster tooling.
  • Layer 4 routing: MetalLB addresses network-level service exposure rather than acting as a broad application platform. Its value is concentrated on making Kubernetes services reachable through allocated external addresses.

Pricing

MetalLB: free (open-source project for Kubernetes load balancing). There is no paid plan, subscription, or free-trial period, and no managed service is offered. The free model is a good fit for teams prepared to operate the controller and its networking themselves; it does not include a hosted control plane or outsourced support.

Platforms

MetalLB runs on Linux and is self-hosted. Its requirements include Kubernetes 1.13.0 or later, a compatible cluster network, and IPv4 addresses. The speaker pod needs elevated permissions for its network functions, so deployment must fit your cluster's security policy. It is generally incompatible with cloud providers; AWS, Azure, DigitalOcean, and Google Cloud are listed as unsupported environments.

Who it's for

Choose MetalLB when you operate Kubernetes on your own Linux infrastructure, control the surrounding network, and need external service addresses without depending on a cloud load-balancer integration. Layer 2 suits smaller or simpler networks, while BGP is aimed at teams with router-peering expertise and a need to distribute traffic across nodes. It is not a sensible default for a cluster hosted on an unsupported public cloud, for teams wanting a managed load-balancing service, or for organizations that cannot accept configuration changes as the project evolves.

Pros and cons

Pros

  • No licensing cost: The project is free and open source, so infrastructure operators can add Kubernetes load balancing without a software subscription.
  • Choice of network models: ARP/NDP Layer 2 announcements cover direct local-network setups, while BGP supports router-integrated distribution across nodes.
  • Flexible deployment: Manifests, Kustomize, Helm, and OperatorHub support common Kubernetes installation practices.
  • Capable BGP backend: FRR-K8s adds BFD, IPv6, and merged FRR configuration for more demanding routed networks.

Cons

  • Configuration is mandatory: Installation remains inactive until address pools and related resources are supplied and maintained.
  • Cloud limitations: Unsupported status for AWS, Azure, DigitalOcean, and Google Cloud rules it out for many hosted clusters.
  • Beta maturity: The project warns that configuration formats may change incompatibly, which raises migration risk for long-lived deployments.
  • Elevated privileges: The speaker pod requires additional network permissions, a concern for tightly restricted clusters.

Alternatives

HAProxy Community Edition is a free Linux, self-hosted load balancer for TCP and HTTP proxying; choose it when proxying is the primary requirement rather than Kubernetes service-IP advertisement.

Linux Virtual Server is free, GPL-licensed Linux software and is a better direction when you need a general Linux virtual-server implementation outside MetalLB's Kubernetes-focused workflow.

PureLB is another free option for Linux, macOS, and self-hosted environments.

AWS Elastic Load Balancing is a paid cloud service with a free tier, suited to AWS-hosted applications rather than unsupported self-managed MetalLB deployments.

F5 BIG-IP APM targets paid, enterprise environments across multiple platforms and is the alternative to consider when broader commercial infrastructure capabilities are needed.

VMware Workstation Pro is free virtualization software for Linux and Windows hosts, not a direct Kubernetes load-balancer substitute.

Array APV is a paid appliance-oriented option for API, Linux, self-hosted, and web deployments.

Vultr Block Storage is paid storage rather than a load-balancing product.

Verdict

MetalLB is a strong choice for technically capable teams running self-hosted Linux Kubernetes clusters that need operator-controlled service IPs and can integrate Layer 2 or BGP announcements into their network. Its free, focused implementation is the reason to choose it. Look elsewhere if you need supported public-cloud integration, a managed service, or a more settled configuration contract than a beta project provides.

Alternatives to MetalLB

All alternatives
  1. 1

    HAProxy Community Edition

    Free planOpen sourceAPILinuxmacOSSelf-hosted
    7.4Free plan
  2. 2AWS Elastic Load Balancing logo

    AWS Elastic Load Balancing

    Free planWebAPILinuxmacOS
    7.2Free plan
  3. 3Loadbalancer.org Enterprise logo

    Loadbalancer.org Enterprise

    WebAPILinuxSelf-hosted
    7.0From $150 a month
  4. 4

    A10 Thunder ADC

    APILinuxSelf-hosted
    6.2
  5. 5Oracle Cloud Infrastructure DNS logo
    6.1
  6. 6

    Progress Kemp LoadMaster

    WebAPILinuxSelf-hosted
    6.0