Description
Hi there! Author of MetalLB here. I've been receiving a bunch of reports of MetalLB not working correctly on MetalK8s. AFAICT, MetalLB is working correctly in these cases, the problem is that kube-proxy on the nodes is either misconfigured, or otherwise outright broken, and isn't correctly handling traffic for type=LoadBalancer services.
The symptom is simply that when packets destined for a LoadBalancer service IP arrive at the node, they're not getting routed correctly to the target pod(s). From the user's perspective, the service IP just doesn't respond at all.
Unfortunately I don't have time to debug in more detail right now, but I figured I'd get this filed to get it on the radar. What I would suggest as a next step is to compare your kube-proxy configuration with the one kubeadm
generates, and adjust any discrepancies. You can also try installing MetalLB and using its L2 mode, to get a quick demonstration of the breakage.