In this tutorial I will go over how to install and setup MetalLB for on-premise implementation.
Pre-req
- Kubernetes cluster either K8S or K3S.
Installing MetalLB
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.4/manifests/namespace.yamlkubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.4/manifests/metallb.yamlkubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)"NOTE: The above example was used from here
Validate deployments by executing the below command:
kubectl get pods -n metallb-systemNAME                          READY   STATUS    RESTARTS   AGE
controller-5854d49f77-p6q5w   1/1     Running   0          106s
speaker-tt29h                 1/1     Running   0          106s
speaker-fggsk                 1/1     Running   0          106s
speaker-wb4nl                 1/1     Running   0          106s
speaker-8gjtj                 1/1     Running   0          106sApply network configurations
Create a file called metallb-config.yaml and enter the following values:
apiVersion: v1
kind: ConfigMap
metadata:
    namespace: metallb-system
    name: config
data:
  config: |
    address-pools:
    - name: default
      protocol: layer2
      addresses:
      - 192.168.1.240-192.168.1.250Apply changes:
sudo kubectl apply -f metallb-config.yamlAnd you are done!



