Post

MetalLB

MetalLB

MetalLB

Bare-metal LoadBalancer implementation for the cluster — without it, Services of type LoadBalancer would sit in Pending forever since there’s no cloud provider to hand out external IPs. Runs in metallb-system: a controller Deployment (1 replica) plus a speaker DaemonSet (one pod per node, 3 total).

Unlike most other components in this cluster, MetalLB doesn’t have a manifest directory under /home/bjones/Kubernetes — it was applied directly (manifest or Helm) rather than tracked in this repo, so the configuration below is read from the live cluster only.

IP pool

A single IPAddressPool named first-pool hands out addresses from 192.168.1.30–192.168.1.40, with autoAssign: true so any LoadBalancer Service gets the next free address automatically. A default L2Advertisement advertises that pool over Layer 2 (ARP) — no BGP peering configured.

Version

v0.14.8, both controller and speaker.

This post is licensed under CC BY 4.0 by the author.