Metal LB
This section is to get metallb setup and working for a bare metal setup.
Let create the namespace
kubectl create namespace metallb-system
kubectl label namespace metallb-system pod-security.kubernetes.io/enforce=privileged
We will use helm for ease of upgrades and the initial install. First, we need to add the repo.
helm repo add metallb https://metallb.github.io/metallb
Now, install metallb with helm.
helm install metallb metallb/metallb -n metallb-system
We need to choose a pool of IP addresses that metal lb can hand out for the type LoadBalancer. In my case, I really just want this for nginx ingress. We need to create the following yaml file to apply to the API.
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: main-pool
namespace: metallb-system
spec:
addresses:
- 192.168.249.10-192.168.249.11
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: l2-lb
namespace: metallb-system
Lets verify everything is up and running.
kubectl get pods -n metallb-system