-
Notifications
You must be signed in to change notification settings - Fork 14k
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
Graceful node shutdown (alpha 1.20 feature) docs [KEP: 2000] #24918
Graceful node shutdown (alpha 1.20 feature) docs [KEP: 2000] #24918
Conversation
Deploy preview for kubernetes-io-vnext-staging processing. Building with commit 13cc09f https://app.netlify.com/sites/kubernetes-io-vnext-staging/deploys/5fb76dfab93ea200079433d1 |
/sig node |
@bobbypage: You must be a member of the kubernetes/website-milestone-maintainers GitHub team to set the milestone. If you believe you should be able to issue the /milestone command, please contact your Website milestone maintainers and have them propose you as an additional delegate for this responsibility. In response to this:
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/test-infra repository. |
/milestone 1.20 |
Hi @bobbypage Friendly reminder that docs ready for review deadline is coming up on Nov 23rd, right after Kubecon NA. We would appreciate it if you could provide most of the doc content for this feature early so that it can be reviewed by Sig Docs before Kubecon and other events happening in November. When it's ready to be reviewed, please don't forget to remove the word placeholder from the title. thank you! |
/hold cancel |
@bobbypage LGTM I think this one good to go after you address Anna’s feedback |
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.
/lgtm
The feature gate also needs a description. /lgtm cancel |
2472506
to
2e89a4d
Compare
I have updated with a description of the feature gate, PTAL again. |
Please update PR description to confirm this is ready for review. |
content/en/docs/reference/command-line-tools-reference/feature-gates.md
Outdated
Show resolved
Hide resolved
2e89a4d
to
ace5ef1
Compare
ace5ef1
to
9727caa
Compare
9727caa
to
13cc09f
Compare
Done, updated, PTAL again. |
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.
Aside: I might blog about this, mentioning the sample output of systemd-inhibit
during node shutdown.
Markdown LGTM. I think this is OK without tech review from a SIG Node member, too.
/lgtm
If you have enabled the `GracefulNodeShutdown` [feature gate](/docs/reference/command-line-tools-reference/feature-gates/), then the kubelet attempts to detect the node system shutdown and terminates pods running on the node. | ||
Kubelet ensures that pods follow the normal [pod termination process](/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination) during the node shutdown. | ||
|
||
When the `GracefulNodeShutdown` feature gate is enabled, kubelet uses [systemd inhibitor locks](https://www.freedesktop.org/wiki/Software/systemd/inhibit/) to delay the node shutdown with a given duration. During a shutdown kubelet terminates pods in two phases: |
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.
Does this rely on the node running systemd?
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.
Yes, since this is using the systemd inhibitor locks. Do you think it makes sense to call out that this depends explicitly on node running systemd or is it implied with the sentence regarding systemd inhibitor locks
?
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.
I added issue #25171 to track adding more documentation about graceful node shutdown.
There are style conventions for how to explain prerequisites, so the place to explain in detail what's required is there.
LGTM label has been added. Git tree hash: 4866b10d5abc214d627c2e10c1f3e898371fc7fa
|
Thanks for taking a look @sftim. Would be happy to work with you on a blog if you're interested, feel free to ping me. Also one more question -- do you think this is the best place for this content? I added it under |
There might be a better place for this content; however with KubeCon still running and the release burn down imminent, I am wary of recommending a reorganization. Let's get this merged and then reflect on alternative homes for these details. |
Sounds good, this should be good go, let's merge it and then will reevaluate after as you mentioned. |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: irvifa The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
If you have enabled the `GracefulNodeShutdown` [feature gate](/docs/reference/command-line-tools-reference/feature-gates/), then the kubelet attempts to detect the node system shutdown and terminates pods running on the node. | ||
Kubelet ensures that pods follow the normal [pod termination process](/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination) during the node shutdown. | ||
|
||
When the `GracefulNodeShutdown` feature gate is enabled, kubelet uses [systemd inhibitor locks](https://www.freedesktop.org/wiki/Software/systemd/inhibit/) to delay the node shutdown with a given duration. During a shutdown kubelet terminates pods in two phases: |
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.
I added issue #25171 to track adding more documentation about graceful node shutdown.
There are style conventions for how to explain prerequisites, so the place to explain in detail what's required is there.
|
||
{{< feature-state state="alpha" for_k8s_version="v1.20" >}} | ||
|
||
If you have enabled the `GracefulNodeShutdown` [feature gate](/docs/reference/command-line-tools-reference/feature-gates/), then the kubelet attempts to detect the node system shutdown and terminates pods running on the node. |
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.
Is this better:
If you have enabled the `GracefulNodeShutdown` [feature gate](/docs/reference/command-line-tools-reference/feature-gates/), then the kubelet attempts to detect the node system shutdown and terminates pods running on the node. | |
If you have enabled the `GracefulNodeShutdown` [feature gate](/docs/reference/command-line-tools-reference/feature-gates/), and the node is using [systemd](https://www.freedesktop.org/wiki/Software/systemd/) as its init process, then the kubelet attempts to detect the node system shutdown. Once node shutdown is detected the kubelet terminates local pods and informs the cluster's API server. |
?
Add docs for graceful node shutdown alpha 1.20 feature.
PRs:
kubernetes/kubernetes#96129
KEP:
KEP 2000 (Graceful Node Shutdown).
Issues:
Enhancement issue: kubernetes/enhancements#2000