Improve shutdown logic: Wait until no requests are made#12397
Improve shutdown logic: Wait until no requests are made#12397motoki317 wants to merge 7 commits intokubernetes:mainfrom
Conversation
|
Welcome @motoki317! |
|
Hi @motoki317. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
✅ Deploy Preview for kubernetes-ingress-nginx canceled.
|
668e84e to
60f8c04
Compare
|
/ok-to-test |
Gacko
left a comment
There was a problem hiding this comment.
Please do not change the manifests in deploy/static/. This is part of the release process.
1b67a34 to
c60b984
Compare
|
@Gacko I see, I've reverted the changes there. |
Pods in Kubernetes endpoints are expected to shut-down 'gracefully' after receiving SIGTERM - we should keep accepting new connections for a while. This is because Kubernetes updates Service endpoints and sends SIGTERM to pods *in parallel*. See kubernetes/kubernetes#106476 for more detail.
Note that post-shutdown-grace-period doesn't seem to contribute to graceful shutdown, see kubernetes#8095 for discussion.
/wait-shutdown preStop script's only job is to send SIGTERM to nginx-ingress-controller, which is PID 1, so it's the same with or without in Kubernetes environments. See kubernetes#6287 for discussion.
c60b984 to
ae42b6a
Compare
|
Hi, I'm wondering what's the status of this PR. |
|
Reviewed. But too much going on so please wait. Thank you.
…On Fri, 29 Nov, 2024, 06:44 motoki317, ***@***.***> wrote:
Hi, I'm wondering what's the status of this PR.
Is this being discussed or reviewed,
or should I be a bit more patient and wait?
—
Reply to this email directly, view it on GitHub
<#12397 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABGZVWRZK3OK5BIUMXQRSHL2C65YHAVCNFSM6AAAAABSG6HKRWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMBWHEYTCMZYG4>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
|
/kind feature I have added this to the 1.13 release milestone. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: motoki317, strongjz The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/uncc |
|
@dcw329 I believe you can set longer @Gacko Hello, any updates with the hold status? (I know the team is busy, but I don't think a friendly reminder would hurt.) :) |
|
@motoki317 I see two things that are concerning in this PR.
In addition, I'm not sure how this polling loop improves anything. The problem we've seen in AWS is that it can take up to three minutes for the pod to stop receiving new connections from the NLB once it starts draining. In other words, polling for "no new requests" in a 5 second window does not mean anything if the NLB can still route new connections to the pod. That is why we need |
|
PR needs rebase. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |

What this PR does / why we need it:
Hello!
This PR mainly introduces 3 changes:
/nginx_status(stub_status) page, and see if the requests handled number goes up.grace-shutdown-periodin chart values to a more reasonable default.wait-shutdownbinary and preStop hook.Types of changes
Which issue/s this PR fixes
fixes #6928
fixes #6287
How Has This Been Tested?
Checklist: