whatisgithub

What is metallb?

protryon/metallb — explained in plain English

Analysis updated 2026-07-18 · repo last pushed 2023-07-09

Audience · ops devopsComplexity · 4/5DormantSetup · hard

In one sentence

MetalLB is a load balancer for bare-metal Kubernetes clusters, giving self-hosted clusters the same easy external IP handling that cloud providers offer built-in.

Mindmap

mindmap
  root((repo))
    What it does
      Load balancer for bare metal
      Announces IPs to network
      Routes traffic into cluster
    Tech stack
      Go
      Kubernetes
    Use cases
      Expose services on-prem
      Self-hosted alternative to cloud LB
      Local dev cloud simulation
    Audience
      Ops and DevOps engineers
      Self-hosted Kubernetes users
    Status
      Beta
      Open source

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Assign a public IP address to a service running on your own Kubernetes hardware without a cloud provider.

USE CASE 2

Replace a cloud load balancer with a self-hosted equivalent for an on-premises data center.

USE CASE 3

Simulate cloud-like load balancing behavior in a local or on-prem development and testing environment.

USE CASE 4

Route incoming external traffic to the correct Kubernetes service on a bare-metal cluster.

What is it built with?

GoKubernetes

How does it compare?

protryon/metallb0verflowme/alarm-clock0verflowme/seclists
LanguageCSS
Last pushed2023-07-092022-10-032020-05-03
MaintenanceDormantDormantDormant
Setup difficultyhardeasyeasy
Complexity4/52/51/5
Audienceops devopsvibe coderops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires an existing bare-metal Kubernetes cluster and network configuration to announce IP addresses via routing protocols.

So what is it?

MetalLB solves a practical problem: when you run Kubernetes on your own hardware (rather than using a cloud provider like AWS or Google Cloud), you don't get the built-in load balancer that those platforms provide. MetalLB fills that gap by acting as a load balancer for bare metal Kubernetes clusters, letting you expose services to your network just as easily as you would in the cloud. At its core, MetalLB does this by taking IP addresses you assign to it and announcing those addresses to your local network using standard routing protocols, the same methods that routers and networking equipment use to find each other. When traffic comes in for one of those IP addresses, MetalLB directs it to the right place inside your cluster. Think of it as a traffic cop that intercepts incoming requests and sends them to the appropriate Kubernetes service. The typical user is someone running Kubernetes on their own servers or data center who needs to serve applications to external clients. For example, if you're hosting a web application or API on your own hardware, MetalLB lets you assign it a public IP address on your network and handle incoming traffic the same way a managed cloud service would. It's particularly useful for organizations that can't or won't use cloud platforms, or for development and testing environments where you want to mimic cloud behavior locally. The project is built in Go and is currently in beta, meaning it's reasonably stable but may still have breaking changes. The maintainers recommend using a released stable version rather than the development branch for production use. It's open source and welcomes contributions, with established security reporting channels if you find any vulnerabilities.

Copy-paste prompts

Prompt 1
Walk me through installing protryon/metallb on my bare-metal Kubernetes cluster.
Prompt 2
Explain how protryon/metallb announces IP addresses to my local network using routing protocols.
Prompt 3
Help me configure protryon/metallb to assign a public IP to a specific Kubernetes service.
Prompt 4
Show me the difference between running the stable release vs the development branch of protryon/metallb.

Frequently asked questions

What is metallb?

MetalLB is a load balancer for bare-metal Kubernetes clusters, giving self-hosted clusters the same easy external IP handling that cloud providers offer built-in.

Is metallb actively maintained?

Dormant — no commits in 2+ years (last push 2023-07-09).

How hard is metallb to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is metallb for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.