TL;DR
externalTrafficPolicy: Local and Cluster is currently not graceful using the managed LB from HCCM. It should be aware of Pod Drains and Node Shutdowns, so requests don't get send to yet to be unhealthy turning targets.
Expected behavior
I expect using externalTrafficPolicy: Local for a Load Balance should make it aware when pods leave the EndpointSlice (condition is ready: false) and when no healthy pods are on the node anymore it gets removed from the Hetzner Load Balancer.
For externalTrafficPolicy: Cluster and GracefulNodeShutdown is should also be catched via EndpointSlice as its also gets turned into ready: false
I could see this feature getting expanded in the future to also handle Abrupt node failures. But having the graceful case handled would be awesome
TL;DR
externalTrafficPolicy: Local and Cluster is currently not graceful using the managed LB from HCCM. It should be aware of Pod Drains and Node Shutdowns, so requests don't get send to yet to be unhealthy turning targets.
Expected behavior
I expect using externalTrafficPolicy: Local for a Load Balance should make it aware when pods leave the EndpointSlice (condition is ready: false) and when no healthy pods are on the node anymore it gets removed from the Hetzner Load Balancer.
For externalTrafficPolicy: Cluster and GracefulNodeShutdown is should also be catched via EndpointSlice as its also gets turned into ready: false
I could see this feature getting expanded in the future to also handle Abrupt node failures. But having the graceful case handled would be awesome