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
18 lines
702 B
Markdown
18 lines
702 B
Markdown
# 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`).
|
|
|
|
```bash
|
|
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.
|