I built a small Go tool and ran 25 controlled pod-termination trials. One result is worth flagging for anyone running media servers on Kubernetes: UDP flows were silently re-homed to the replacement pod 2.4 seconds after the delete. In contrast, the original pod was still healthy and had ~23 seconds left in its grace period. TCP connections on the same pod, same Service, same delete were served through the full drain window and closed cleanly.
The graceful-shutdown handler drained the control plane and abandoned the data plane. There’s also a median 221 ms window where the Service still advertised an endpoint whose process had already reset every connection it held.
Write-up: https://hackernoon.com/your-pods-are-not-draining-i-checked
Tool and raw trial records: https://github.com/jaynirmal15/drainwatch
If anyone has measured this against a cloud LB (NLB/ALB) rather than kind, I’d like to compare — that’s the next thing I’m instrumenting.