MetalLB
If you have not already done so, make sure your cluster meets the package prerequisites. Be sure to refer to the troubleshooting guide in the event of a problem.
Important
- Starting at eksctl anywhereversionv0.12.0, packages on workload clusters are remotely managed by the management cluster.
- While following this guide to install packages on a workload cluster, please make sure the kubeconfigis pointing to the management cluster that was used to create the workload cluster. The only exception is thekubectl create namespacecommand below, which should be run withkubeconfigpointing to the workload cluster.
Install
- 
Generate the package configuration eksctl anywhere generate package metallb --cluster <cluster-name> > metallb.yaml
- 
Add the desired configuration to metallb.yamlPlease see complete configuration options for all configuration options and their default values. Example package file with bgp configuration: apiVersion: packages.eks.amazonaws.com/v1alpha1 kind: Package metadata: name: mylb namespace: eksa-packages-<cluster-name> spec: packageName: metallb config: | IPAddressPools: - name: default addresses: - 10.220.0.93/32 - 10.220.0.97-10.220.0.120 BGPAdvertisements: - ipAddressPools: - default BGPPeers: - peerAddress: 10.220.0.2 peerASN: 65000 myASN: 65002Example package file with ARP configuration: apiVersion: packages.eks.amazonaws.com/v1alpha1 kind: Package metadata: name: mylb namespace: eksa-packages spec: packageName: metallb config: | IPAddressPools: - name: default addresses: - 10.220.0.93/32 - 10.220.0.97-10.220.0.120 L2Advertisements: - ipAddressPools: - default
- 
Create the namespace (If overriding targetNamespace, changemetallb-systemto the value oftargetNamespace)kubectl create namespace metallb-system
- 
Install MetalLB eksctl anywhere create packages -f metallb.yaml
- 
Validate the installation eksctl anywhere get packages --cluster <cluster-name>Example command output NAME PACKAGE AGE STATE CURRENTVERSION TARGETVERSION DETAIL mylb metallb 22h installed 0.13.5-ce5b5de19014202cebd4ab4c091830a3b6dfea06 0.13.5-ce5b5de19014202cebd4ab4c091830a3b6dfea06 (latest)
Update
To update package configuration, update metallb.yaml file, and run the following command:
eksctl anywhere apply package -f metallb.yaml
Upgrade
MetalLB will automatically be upgraded when a new bundle is activated.
Uninstall
To uninstall MetalLB, simply delete the package
eksctl anywhere delete package --cluster <cluster-name> mylb