MetalLB

Zweck

MetalLB stellt Kubernetes LoadBalancer Services in Bare-Metal-Umgebungen bereit.

Aktuell werden die Funktionen größtenteils über Cilium L2 Announcements realisiert.

Komponenten

  • Controller

  • Speaker

Architektur

Speaker announcen LoadBalancer IP-Adressen im lokalen Netzwerk.

LoadBalancer Service
        |
      Speaker
        |
      Netzwerk

Besonderheiten

Werden Speaker auf Control-Plane Nodes betrieben, muss folgende Option gesetzt werden:

speaker:
  ignoreExcludeLB: true

Beispiel

apiVersion: v1
kind: Service
metadata:
  name: example
spec:
  type: LoadBalancer

Troubleshooting

Speaker prüfen

kubectl get pods -n metallb-system

Logs

kubectl logs -n metallb-system \
  deployment/controller