-
Notifications
You must be signed in to change notification settings - Fork 15.1k
v1.33 release blog post for KEP 4960 (Container Stop Signals) and KEP 4818 (Allow zero for pod lifecycle sleep action) #49967
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
v1.33 release blog post for KEP 4960 (Container Stop Signals) and KEP 4818 (Allow zero for pod lifecycle sleep action) #49967
Conversation
✅ Pull request preview available for checkingBuilt without sensitive environment variables
To edit notification comments on pull requests, go to your Netlify site configuration. |
|
/retitle [WIP] Placeholder blog post for KEP 4960: Container Stop Signals |
|
/sig node |
|
Hi @sreeram-venkitesh 👋 Just a friendly reminder that we are approaching the feature blog "ready for review" deadline: Monday, 7th April, 2025. We ask you to have the blog in non-draft state, and all write-up to be complete, so that we can start the blog review from SIG Docs Blog team. If you have any questions or need help, please don't hesitate to reach out to me or any of the Communications Team members. We are here to help you! |
|
I might miss the deadline for this since the docs PR for KEP 4960 is still pending. I'm okay with getting this published later on, not as part of the release blogs, and merging KEP 4818 and KEP 4960 into a single blog post about "changes to Pod Lifecycle in Kubernetes v1.33". That said, I'll still work on getting this as soon as possible as soon as the docs work is completed. |
|
We already have many PRs ready for review, and will be quite tied up with other blog reviews. As you provided earlier notice during KubeCon how you may need more time, and given the current review load, we can wait until the EOD Wednesday (PST) if you are okay with having this blog post published towards the end of the release blog series. Please let us know if you can make it by then, and if there is anything we can help! |
|
@rytswd I've pushed the blog content so that it is in a ready to review state now. Please let me know what you think! Thanks! |
|
Thanks @sreeram-venkitesh , given the tight timeline around KubeCon and prior notice given before the deadline week, we are accepting this as an exception for the Feature Blogs. We will be looking to have this published later than others who have made the deadline, but we should still be able to handle this as release blogs. |
|
@sunnylovestiramisu you're the (PR) author of #49542 Although time is tight, I'd like you to be a buddy for @sreeram-venkitesh on this PR.
|
rytswd
left a comment
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.
Just did a quick scan on typos, I'll do more review later. I just wanted to make sure the draft state is handled, so that, once the write-up + review is fully complete, you can leave the rest of publication handling to the Release Comms team 👍
|
there are a couple of nits outstanding but LGTM technically from SIG node |
mikebrow
left a comment
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 just a minor nit
|
Thanks for the reviews everyone! I've pushed all the fixes. |
lmktfy
left a comment
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
Nits, but nothing to block publication.
We prefer wrapping the source Markdown at something between 80 to 150 characters per line.
| Sreeram Venkitesh (DigitalOcean) | ||
| --- | ||
|
|
||
| Kubernetes v1.33 introduces a few updates to the Container Lifecycle. The Sleep Action for container Lifecycle now supports a zero sleep duration by default. We are also introducing StopSignal to the container lifecycle for customizing the stop signal sent to kill containers. |
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.
| Kubernetes v1.33 introduces a few updates to the Container Lifecycle. The Sleep Action for container Lifecycle now supports a zero sleep duration by default. We are also introducing StopSignal to the container lifecycle for customizing the stop signal sent to kill containers. | |
| Kubernetes v1.33 introduces a few updates to the lifecycle of containers. | |
| The Sleep action for container `preStop` hooks now supports a zero sleep duration (feature enabled by default). | |
| There is also alpha support for customizing the stop signal sent to containers when they are being terminated. |
|
|
||
| Kubernetes v1.33 introduces a few updates to the Container Lifecycle. The Sleep Action for container Lifecycle now supports a zero sleep duration by default. We are also introducing StopSignal to the container lifecycle for customizing the stop signal sent to kill containers. | ||
|
|
||
| This blog post goes into the details of these new features to the Container Lifecycle and how you can use them. |
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.
| This blog post goes into the details of these new features to the Container Lifecycle and how you can use them. | |
| This blog post goes into the details of these new aspects of the container lifecycle, | |
| and how you can use them. |
|
|
||
| The sleep action when it was added initially didn't have support for a sleep duration of zero seconds. The `time.Sleep` which the Sleep action uses under the hood supports a duration of zero seconds. Using a negative or a zero value for the sleep returns immediately, resulting in a no-op. We wanted the same behaviour with the sleep action. This support for the zero duration was later added in v1.32, with the `PodLifecycleSleepActionAllowZero` feature gate. | ||
|
|
||
| `PodLifecycleSleepActionAllowZero` is now graduating to beta in v1.33 and is enabled by default. The original Sleep action feature, enabled with the `PodLifecycleSleepAction` feature gate has been in beta and has been enabled by default from Kubernetes v1.30. From v1.33, users should be able to set a zero duration for their sleep lifecycle hooks by default. |
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.
How about:
| `PodLifecycleSleepActionAllowZero` is now graduating to beta in v1.33 and is enabled by default. The original Sleep action feature, enabled with the `PodLifecycleSleepAction` feature gate has been in beta and has been enabled by default from Kubernetes v1.30. From v1.33, users should be able to set a zero duration for their sleep lifecycle hooks by default. | |
| The `PodLifecycleSleepActionAllowZero` feature gate has graduated to beta in v1.33, and is now enabled by default. | |
| The original Sleep action for `preStop` and `postStart` hooks is been enabled by default, starting from Kubernetes v1.30. | |
| With a cluster running Kubernetes v1.33, you are able to set a | |
| zero duration for sleep lifecycle hooks. For a cluster with default configuration, you don't need | |
| to enable any feature gate to make that possible. |
|
|
||
| `PodLifecycleSleepActionAllowZero` is now graduating to beta in v1.33 and is enabled by default. The original Sleep action feature, enabled with the `PodLifecycleSleepAction` feature gate has been in beta and has been enabled by default from Kubernetes v1.30. From v1.33, users should be able to set a zero duration for their sleep lifecycle hooks by default. | ||
|
|
||
| ## Container Stop Signals |
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.
| ## Container Stop Signals | |
| Container stop signals |
|
|
||
| ## Container Stop Signals | ||
|
|
||
| Container runtimes like containerd and CRI-O let you specify a STOPSIGNAL instruction in the container image definition. This can be used to specify a custom stop signal which will be used to kill your containers. Until now, the only way to override the stop signal for containers running in Kubernetes was by rebuilding your container image with the new custom stop signal. Stop signal was not part of the Pod/Container API in Kubernetes. |
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'd write:
| Container runtimes like containerd and CRI-O let you specify a STOPSIGNAL instruction in the container image definition. This can be used to specify a custom stop signal which will be used to kill your containers. Until now, the only way to override the stop signal for containers running in Kubernetes was by rebuilding your container image with the new custom stop signal. Stop signal was not part of the Pod/Container API in Kubernetes. | |
| Container runtimes such as containerd and CRI-O honor a `StopSignal` instruction in the container image definition. This can be used to specify a custom stop signal | |
| that the runtime will used to terminate containers based on that image. | |
| Stop signal configuration was not originally part of the Pod API in Kubernetes. | |
| Until Kubernetes v1.33, the only way to override the stop signal for containers was by rebuilding your container image with the new custom stop signal | |
| (for example, specifying `STOPSIGNAL` in a `Containerfile` or `Dockerfile`). |
|
LGTM label has been added. Git tree hash: 726b3927b2e4338333267674327e207db922fa83
|
|
I've pushed all the review comments. Please take a look! |
|
/lgtm |
|
LGTM label has been added. Git tree hash: fad5caf1de978739ad60a3ba9c76ebcf1e900066
|
lmktfy
left a comment
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.
- OK to merge as a draft
/lgtm
/approve
| @@ -0,0 +1,78 @@ | |||
| --- | |||
| layout: blog | |||
| title: "Updates to Container Lifecycle in Kubernetes v1.33" | |||
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.
We're likely to amend the title to fit in with the series
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: lmktfy, mikebrow 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 |
|
This is now scheduled for publication on Thursday, 15th May, 2025. (We may need to bump this up if other blogs are delayed for any reason. If we do see such updates, we will make sure to update you here!) |
|
FYI, with #50890, this blog is now scheduled to be published on Wednesday, 14th May, 2025 instead. |
Description
This PR is a placeholder for the blog post announcing kubernetes/enhancements#4960, container stop signals.
Issue
Blog post for kubernetes/enhancements#4960