-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow keepalives on status port #12817
base: main
Are you sure you want to change the base?
Conversation
A few years ago, kubernetes#3684 changed the status port to use Unix sockets rather than TCP. As part of that change, `keepalive_timeout 0` was added. Sometime later, kubernetes#4487 changed the status port back to TCP. However, keepalive was never re-enabled. In practice we're seeing behavior where nginx stops accepting GET or POST to the status port during graceful shutdown since new connections aren't allowed.
The committers listed above are authorized under a signed CLA. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: rohansingh The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
This issue is currently awaiting triage. If Ingress contributors determines this is a relevant issue, they will accept it by applying the The Instructions 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. |
Welcome @rohansingh! |
Hi @rohansingh. 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. Instructions 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.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for your contribution!
There is some history here. I haven't read it all yet. But I want to confirm whether you have verified this behavior or the effects of this modification? If possible, can we construct an e2e test case to cover it?
@tao12345666333 We've had this running in a production environment for a couple weeks now, and verified that connections are kept alive now between the controller process and nginx. It should be possible to add an e2e test. Not sure when I will have the bandwidth for that unfortunately. Is it a requirement to merge this? |
@rohansingh thank you for the update. If possible I would like to have e2e to cover its behavior |
I will run exist tests first. /hold |
What this PR does / why we need it:
A few years ago, #3684 changed the status port to use Unix sockets rather than TCP. As part of that change,
keepalive_timeout 0
was added.Sometime later, #4487 changed the status port back to TCP. However, keepalive was never re-enabled.
In practice we're seeing behavior where nginx stops accepting GET or POST to the status port during graceful shutdown since new connections aren't allowed.
Types of changes
How Has This Been Tested?
Checklist: