* stable/metallb: rename arpCIDR to arpAddresses. MetalLB now supports ways other than CIDR prefix to specify IP addresses, so make the term more generic. It also has the benefit of being more approachable for people who aren't as familiar with networking terminology. * stable/metallb: update to upstream version 0.5.0.
MetalLB
MetalLB is a load-balancer implementation for bare metal Kubernetes clusters, using standard routing protocols.
TL;DR;
$ helm install --name metallb stable/metallb
Introduction
This chart bootstraps a MetalLB installation on a Kubernetes cluster using the Helm package manager. This chart provides an implementation for LoadBalancer Service objects.
MetalLB is a cluster service, and as such can only be deployed as a cluster singleton. Running multiple installations of MetalLB in a single cluster is not supported.
Prerequisites
- Kubernetes 1.9+
Installing the Chart
The chart can be installed as follows:
$ helm install --name metallb stable/metallb
The command deploys MetalLB on the Kubernetes cluster. This chart does not provide a default configuration, MetalLB will not act on your Kubernetes Services until you provide one. The configuration section lists various ways to provide this configuration.
Uninstalling the Chart
To uninstall/delete the metallb deployment:
$ helm delete metallb
The command removes all the Kubernetes components associated with the chart and deletes the release.
Configuration
See values.yaml for configuration notes. Specify each parameter
using the --set key=value[,key=value] argument to helm install. For example,
$ helm install --name metallb \
--set rbac.create=false \
stable/metallb
The above command disables the use of RBAC rules.
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
$ helm install --name metallb -f values.yaml stable/metallb
By default, this chart does not install a configuration for MetalLB, and simply warns you that you must follow the configuration instructions on MetalLB's website to create an appropriate ConfigMap.
For simple setups that only use
MetalLB's ARP mode,
you can specify a single IP range using the arpAddresses parameter
to have the chart install a working configuration for you:
$ helm install --name metallb \
--set arpAddresses=192.168.16.240/30 \
stable/metallb
If you have a more complex configuration and want Helm to manage it
for you, you can provide it in the config parameter. The
configuration format
is
documented on MetalLB's website.
$ cat values.yaml
config:
peers:
- peer-address: 10.0.0.1
peer-asn: 64512
my-asn: 64512
address-pools:
- name: default
protocol: bgp
cidr:
- 198.51.100.0/24
$ helm install --name metallb -f values.yaml stable/metallb