homelab/MetalLB.md
Alvin Wang 4301877f33 Update docs to match live cluster state
Audited the running cluster and fixed all .md files:
- Node info: Fedora 43, Lima (not OrbStack), worker IP 10.0.1.58
- Networking: fixed public/internal hostname tables, all *.dog internals
- Storage: removed Longhorn refs (not deployed), documented hostPath/local-path
- Services: moved Seerr to media chart, utils is Zerobyte only
- Bootstrap: reordered steps, MetalLB/traefik-internal as manual pre-deploy
- Headlamp.md/MetalLB.md: added context and explanations

Made-with: Cursor
2026-04-22 14:59:34 -07:00

702 B

MetalLB — Manual Setup

MetalLB is not included in bootstrap.sh deploy. It must be installed manually before deploying traefik-internal (which depends on the MetalLB loadBalancerClass).

helm repo add metallb https://metallb.github.io/metallb
helm repo update
helm dependency build charts/metallb
helm upgrade --install metallb charts/metallb -n kube-system --wait

The chart wraps the upstream MetalLB subchart and adds a custom IPAddressPool + L2Advertisement (defined in charts/metallb/templates/pool.yaml). The pool assigns a single IP (10.0.1.250) with autoAssign: false, so only services that explicitly request the internal pool via annotation get that IP.