MetalLB Application Load Balancer Addon

Introduction

MetalLB is an open-source Load balancer implementation based on standard routing protocols for bare-metal Kubernetes. It specifically handles the ServiceType: Loadbalancer settings, which provides users with a more granular ability to control how IP addresses are assigned.

Description

In our latest UI, users can modify the configuration for the IP Range at any stage of the cluster lifecycle. It provides:

  • Address Allocation – MetalLB assigns and unassigning individual addresses to services as required, but only from IPs that are part of its defined pool.
  • External Announcement – After MetalLB has assigned an external IP address to a service, it ensures the external network outside the cluster is aware that the IP resides within the cluster. MetalLB uses the typical routing protocols like ARP, NDP, or BGP to achieve this..

Settings

MetalLB is enabled by default on BareOS clusters. To access and modify the settings, go to the Infrastructure page, check the radio button next to the cluster you wish to modify, then click edit.

This will open a new page where the addon can be enabled.

Once enabled, you need to also specify the IP address pool(s) that MetalLB can use to allocate IP addresses to services that are created with type LoadBalancer. PMK will then deploy MetalLB as a Kubernetes application within the cluster, under the metallb-system namespace. A configmap is created under this namespace that configures MetalLB with the appropriate protocol, and the address pool(s) you have specified as part of cluster creation.

Scroll down the page past the Cluster Add-ons area to the MetalLB Configuration section.

You can now add multiple IP ranges by clicking the + Add Address Pool Range link.

MetalLB is currently inoperative when used in BGP mode for IPv6. This is a limitation with MetalLB itself but is under active development. Additionally, In order for MetalLB to function correctly, privileged mode must be enabled for running containers on the cluster.

YAML Specifications

YAML
Copy

The base64EncMetallbConfig field can be added to any configuration that MetalLB supports. For example, if two address pools are required, then the following configuration can be applied.

YAML
Copy

Data can also be encoded as base64 and used as an override parameter, if needed.

YAML
Copy

Conclusion

Addons are updated along with the pf9-kube version and can be referenced in the Support Matrix article. For additional assistance, contact our support team. For additional assistance with this addon, contact our support team.

Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard
  Last updated