Route / forwarding Host network to MetallB load balancer

Cluster information:

Kubernetes version: 1.28.12
Cloud being used: bare-metal
Installation method: manual
Host OS: Ubuntu 24.04 (on Windows 2019 VM’s)
CNI and version: calico/cni:v3.28.0 & flannel:v0.25.5
CRI and version: containerd://1.7.19 (?)

So, I am twisting my noodle here and I just get a headache. I’ve bumped my head into the wall for a few hours now, and I can’t seem to figure out how to set up a permanent route in my Kubernetes test-setup for my sample Nginx installation so that I can reach it from the host network.

My network compentence is for the most part limited to setting up VLAN’s, once we start talking about arp -and routing tables, I’m pretty much blank …

My MetalLB -assigned IP to the Nginx test installation is 10.0.80.8 and can be reached from every control plane and worker node. I can also reach it using Port Forward in LENS on my localhost.

I cannot find neither the external (10.0.80.8) or internal (10.108.240.222) IP addresses in any ARP table on any of the nodes. So I’m quite lost in as how to route 10.0.80.8 to the host network (10.0.0.0/24)

Attached; a couple of illustrations to better shed light on my issue.
(probably solved with a one-liner, but… my noodle is cooked trying to figure this one out)

Best regards,

  • RR

Alright, I figured out what it was… a config conflict between an earlier botched installation/configuration of MetalLB that made it look like I had the L2Advertisement config right… but it was not… took a bit of digging, but that particular part of the config was completely missing…

Anyway, thanks for the attention… hope this can help some others who suddenly can’t get the exposed IP to do what it is supposed to do… :slight_smile:

– RR