Expected behavior: When managing a service object of type LoadBalancer and externalTrafficPolicy: Local, the associated load balancer only forwards its UDP traffic to nodes with healthy pods allocated to them matching the selector.
Actual behavior: The load balancer round-robin assigns UDP traffic to all nodes, independent of whether or not they have matching healthy pod assigned to them.
Steps to reproduce
Cluster-side:
- 4 nodes
- 1 deployment, with replicas=1
- running netcat on UDP port 22333 (
nc -lkvu 22333)
- 1 svc
type: LoadBalancer
ExternalTrafficPolicy: Local
- ports: [udp:22333]
Client-side:
- Open a netcat connection to the IP that was allocated to the service object, and UDP port 22333
- Repeat a couple times, and you should see on the server side, that only every 4th connection attempt succeeds
Expected behavior: When managing a service object of type
LoadBalancerandexternalTrafficPolicy: Local, the associated load balancer only forwards its UDP traffic to nodes with healthy pods allocated to them matching the selector.Actual behavior: The load balancer round-robin assigns UDP traffic to all nodes, independent of whether or not they have matching healthy pod assigned to them.
Steps to reproduce
Cluster-side:
nc -lkvu 22333)type: LoadBalancerExternalTrafficPolicy: LocalClient-side:
nc -vu $IP 22333