Until recently, Kubernetes did not have the native support for load balancing for the bare metal clusters. [MetalLB](https://github.com/google/metallb) is the new solution, currently in alpha version, aiming to close that gap.  As of now, Kubernetes comes with Network LB solution, which is actually a glue code calling for various IaaS cloud platforms (AWS, Azure, GCP, etc.). However, deploying Kubernetes on anything but the supported platforms (like a private cloud or a bare metal cluster) resulted in service objects with spec.type=LoadBalancer to remain in Pending status forever. Thus said, going for bare metal clusters left Kubernetes administrators with the choice between Nodeport and ExternalIPs, none of which was a perfect solution. MetalLB, a new load balancer offers a Network LB implementation that works on top of standard network equipment. ### MetalLB prerequisites and requirements The prerequisites for MetalLB stable operation include: * A clean [Kubernetes](https://kubernetes.io/) cluster version 1.8.0 or above, without any other load balancing solution installed * One or several [BGP](https://en.wikipedia.org/wiki/Border_Gateway_Protocol) routers working with 4-byte AS numbers ([RFC 6793](https://tools.ietf.org/html/rfc6793)) * A bundle of IPv4 addresses for the routers to assign Here are more details of the [requirements](https://metallb.universe.tf/installation/#requirements). As MetalLB project will surely evolve, please refer to the [maturity page](https://metallb.universe.tf/maturity/) for explanations. You can test the self-contained minikube MetalLB functionality by following this [tutorial](https://metallb.universe.tf/tutorial/). To deploy this tool to a production cluster, please head to the [installation](https://metallb.universe.tf/installation/) and [usage](https://metallb.universe.tf/usage/) guides. This detailed [design document](https://metallb.universe.tf/design/) will help you get the tool up and running in no time. In case you wish to take part in the project evolution — please follow this [hacking guide](https://metallb.universe.tf/hacking/) for technical info. Any [usage feedback and suggestions](https://github.com/google/metallb/issues/5) will make the MetalLB developers very happy, so feel free to share your thoughts and ideas! Previously I’ve posted this article in my company’s blog: [https://itsvit.com/blog/metallb-load-balancer-bare-metal-kubernetes-clusters/](https://itsvit.com/blog/metallb-load-balancer-bare-metal-kubernetes-clusters/)