When using two services (TCP+UDP) with the Local traffic policy, the same shared IP and the same set of pods (as described in the documentation), MetalLB in Layer 2 mode will sometimes announce the LB IP from two different nodes.
A workaround is settingexternalIPs on one of the services to the shared virtual IP, and using MetalLB on just one of the services.
This was previously reported in #530 (comment).