Overview of MetalLB and Ingress
Despite its widespread adoption, Kubernetes does not offer a load balancer implementation. If your Kubernetes cluster is running on a cloud platform such as Azure, Amazon Web Services (AWS), or Google Cloud Platform (GCP), the cluster can use the underlying cloud platform's load balancer implementation through the cloud-controller-manager API. However, not all Kubernetes clusters are hosted in the cloud. Kubernetes may be installed on bare-metal machines as well, which is most common in the edge computing world. When load balancers are created in this situation, they will remain in a Pending
status indefinitely.
The NodePort
and externalIPs
Services are the only options for bringing user traffic into bare-metal clusters. Both strategies have considerable drawbacks when it comes to output. MetalLB solves this problem by providing an implementation of a network load balancer that connects with conventional network equipment, allowing external Services...