Hey there,
I'm currently trying to make some public IPs available via LBs on an otherwise "private" kubernetes cluster.
For this I added an isolated transfer network/vlan with the kubernetes nodes and our edgerouter in it and set up BGP peering over that. This is generally working for the incoming traffic, however the responses don't get to the client.
After setting the test-service to externalTrafficPolicy: Local it becomes apparent that I misunderstood metallb BGP routing, because the responses are getting routed to the default gateway in the internal network.
Now my question is, is this possible to make this scenario work at all? One idea was to somehow rewrite the gateway for traffic coming from LB IPs, but I have no idea how to achieve that in a kubernetes setting.... or is it somehow possible to route the traffic back through metallb?