/ kubernetes Public
[Graceful Shutdown]Pod is removed from endpoints list for service even "preStop" defined and not finished #67592
Categorizes issue or PR as related to a new feature.
Denotes an issue or PR that has aged beyond stale and will be auto-closed.
Categorizes an issue or PR as relevant to SIG Network.
Categorizes an issue or PR as relevant to SIG Node.
Indicates an issue that can not or will not be resolved.
Is this a BUG REPORT or FEATURE REQUEST?:
Pod is removed from endpoints list for service after user sends command to delete Pod
"Termination of Pods"
What you expected to happen:
Pod is removed from endpoints list for service after "preStop" and before send the TERM signal to Pod
hope change to:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
By current terminating process, "preStop" can do limited for graceful shutdown because Pod exit receiving traffic immediately.
I think if we can make such change, the Pod can have more choices to decide exiting behavior by itself.
If Pod did not define "preStop" action, the precess after changed will be same as before.
If Pod define "preStop", the Pod can use "preStop" and "readnessProbe" to decide when Pod stop receiving traffic, when Pod can shutdown gracefully and then kubernetes can send TERM signal to Pod.
This is very useful for developing a strong and graceful application running in a Pod.
Also, current terminating process impact third ingress gateway developing, such as ISTIO.
ISTIO ingress gateway can't check service endpoints list for each request. That will make it distribute some requests to a terminating Pod before ingress gateway got endpoints list update.
That means the traffic will be impacted when we do service "scale in"/"delete Pod" even if we define "preStop" for Pod.
VERSION="16.04.3 LTS (Xenial Xerus)"
PRETTY_NAME="Ubuntu 16.04.3 LTS"
Linux seliius04106 4.4.0-103-generic Suggest people verify they can start a VM on GCE. #126-Ubuntu SMP Mon Dec 4 16:23:28 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
The text was updated successfully, but these errors were encountered: