Skip to content

Conversation

@sreeram-venkitesh
Copy link
Member

Description

This PR is a placeholder for the blog post announcing kubernetes/enhancements#4960, container stop signals.

Issue

Blog post for kubernetes/enhancements#4960

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Mar 1, 2025
@k8s-ci-robot k8s-ci-robot added area/blog Issues or PRs related to the Kubernetes Blog subproject language/en Issues or PRs related to English language size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Mar 1, 2025
@netlify
Copy link

netlify bot commented Mar 1, 2025

Pull request preview available for checking

Built without sensitive environment variables

Name Link
🔨 Latest commit 4745c4b
🔍 Latest deploy log https://app.netlify.com/sites/kubernetes-io-main-staging/deploys/680a1989ba859800088412c8
😎 Deploy Preview https://deploy-preview-49967--kubernetes-io-main-staging.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@dipesh-rawat
Copy link
Member

/retitle [WIP] Placeholder blog post for KEP 4960: Container Stop Signals

@k8s-ci-robot k8s-ci-robot changed the title 1.33 Placeholder blog post for KEP 4960: Container Stop Signals [WIP] Placeholder blog post for KEP 4960: Container Stop Signals Mar 1, 2025
@k8s-ci-robot k8s-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Mar 1, 2025
@dipesh-rawat
Copy link
Member

/sig node

@k8s-ci-robot k8s-ci-robot added the sig/node Categorizes an issue or PR as relevant to SIG Node. label Mar 1, 2025
@bart0sh bart0sh moved this from Triage to Work in progress in SIG Node: code and documentation PRs Mar 2, 2025
@rytswd
Copy link
Member

rytswd commented Apr 3, 2025

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!

@sreeram-venkitesh
Copy link
Member Author

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.

@rytswd
Copy link
Member

rytswd commented Apr 8, 2025

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!

@k8s-ci-robot k8s-ci-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Apr 9, 2025
@sreeram-venkitesh
Copy link
Member Author

@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!

@sreeram-venkitesh sreeram-venkitesh changed the title [WIP] Placeholder blog post for KEP 4960: Container Stop Signals v1.33 release blog post for KEP 4960 (Container Stop Signals) and KEP 4818 (Allow zero for pod lifecycle sleep action) Apr 9, 2025
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Apr 9, 2025
@rytswd
Copy link
Member

rytswd commented Apr 9, 2025

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.

@lmktfy
Copy link
Member

lmktfy commented Apr 15, 2025

@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.
Please:

  • review this PR, paying attention to the (recently merged) guidelines and review hints
  • update your own PR based on any good practice that you realize you ought to be following
  • be compassionate to your fellow article author, who is probably quite busy

Copy link
Member

@rytswd rytswd left a 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 👍

@haircommander
Copy link
Contributor

there are a couple of nits outstanding but LGTM technically from SIG node

Copy link
Member

@mikebrow mikebrow left a 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

@sreeram-venkitesh
Copy link
Member Author

Thanks for the reviews everyone! I've pushed all the fixes.

Copy link
Member

@lmktfy lmktfy left a 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.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about:

Suggested change
`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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## 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.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd write:

Suggested change
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`).

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 21, 2025
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

Git tree hash: 726b3927b2e4338333267674327e207db922fa83

@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 24, 2025
@k8s-ci-robot k8s-ci-robot requested a review from lmktfy April 24, 2025 10:59
@sreeram-venkitesh
Copy link
Member Author

I've pushed all the review comments. Please take a look!

@mikebrow
Copy link
Member

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 24, 2025
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

Git tree hash: fad5caf1de978739ad60a3ba9c76ebcf1e900066

Copy link
Member

@lmktfy lmktfy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. OK to merge as a draft

/lgtm
/approve

@@ -0,0 +1,78 @@
---
layout: blog
title: "Updates to Container Lifecycle in Kubernetes v1.33"
Copy link
Member

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

@k8s-ci-robot
Copy link
Contributor

[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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 27, 2025
@k8s-ci-robot k8s-ci-robot merged commit 6ec9eac into kubernetes:main Apr 27, 2025
6 checks passed
@github-project-automation github-project-automation bot moved this from Work in progress to Done in SIG Node: code and documentation PRs Apr 27, 2025
@rytswd
Copy link
Member

rytswd commented May 2, 2025

This is now scheduled for publication on Thursday, 15th May, 2025.
#50764

(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!)

@rytswd
Copy link
Member

rytswd commented May 13, 2025

FYI, with #50890, this blog is now scheduled to be published on Wednesday, 14th May, 2025 instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. area/blog Issues or PRs related to the Kubernetes Blog subproject cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. language/en Issues or PRs related to English language lgtm "Looks good to me", indicates that a PR is ready to be merged. sig/node Categorizes an issue or PR as relevant to SIG Node. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

Development

Successfully merging this pull request may close these issues.

8 participants