---
title: Charmhub | Deploy MetalLB using Charmhub - The Open Operator Collection
description: 'Deploy the latest version of MetalLB on any cloud. This charm deploys
  MetalLB in a Kubernetes model, which provides a software

  defined load balancer.'
url: https://charmhub.io/metallb
---

# MetalLB

[Canonical Kubernetes](https://charmhub.io/publisher/containers "View all packages from Canonical Kubernetes")

* [Canonical Kubernetes](https://charmhub.io/publisher/containers "View all packages from Canonical Kubernetes")

Platform:

22.04

stable ddac181

```
juju deploy metallb
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

---

#### Relevant links

* [Homepage](https://metallb.universe.tf/)

---

#### Contacts

* [Submit a bug](https://bugs.launchpad.net/operator-metallb)

---

Share your thoughts on this charm with the community on discourse.

[Join the discussion](https://discourse.charmhub.io/)

The Charmed MetalLB Operator delivers automated operations management from day 0 to day 2
on the [MetalLB Load Balancer Implementation for Bare Metal Kubernetes](https://metallb.universe.tf/).
It is an open source, production-ready charm on top of [Juju](https://juju.is/)

MetalLB is a load-balancer implementation for bare metal Kubernetes clusters, using standard routing protocols.

The Charmed MetalLB Operator provides Layer 2 (with ARP [Address Resolution Protocol](https://en.wikipedia.org/wiki/Address_Resolution_Protocol)) or BGP([Border Gateway Protocol](https://en.wikipedia.org/wiki/Border_Gateway_Protocol)) to expose services.

MetalLB has support for local traffic, meaning that the machine that receives the data will be the machine that services the request. It is not suggested to use a virtual IP with high traffic workloads because only one machine will receive the traffic for a service - the other machines are solely used for failover.

BGP does not have this limitation but does see nodes as the atomic unit. This means if the service is running on two of five nodes then only those two nodes will receive traffic, but they will each receive 50% of the traffic even if one of the nodes has three pods and the other only has one pod running on it. It is recommended to use node anti-affinity to prevent Kubernetes pods from stacking on a single node.

Note:

For more information on configuring MetalLB with Calico in BGP mode, please see this [explanation of the required configuration](https://metallb.universe.tf/configuration/calico/) from the [MetalLB website](https://metallb.universe.tf/)

## [In this documentation](https://charmhub.io/metallb#p-26951-in-this-documentation)

|  |  |
| --- | --- |
| [Tutorials](https://charmhub.io/metallb/docs/t-overview?channel=1.28/stable)  Get started - a hands-on introduction to using Charmed Metallb operator for new users | [How-to guides](https://charmhub.io/metallb/docs/h-manage-units?channel=1.28/stable)   Step-by-step guides covering key operations and common tasks |
| [Reference](https://charmhub.io/metallb/actions?channel=1.28/stable)   Technical information - specifications, APIs, architecture | [Explanation](https://charmhub.io/t/charmed-metallb-explanation/####?channel=1.28/stable)   Concepts - discussion and clarification of key topics |

---

[Help improve this document in the forum](https://discourse.charmhub.io/t/charmed-metallb-documentation/11357) ([guidelines](https://discourse.charmhub.io/t/how-to-write-docs-our-documentation-guidelines-for-contributors/1245)). Last updated 2 years ago.
