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
Stop timeout isn't respected at shutdown/reboot #77873
Comments
while this impacts all pods, it is particularly an issue with static pods or daemon set backed pods which typically are not drained before a maintenance action. /milestone v1.15 |
@derekwaynecarr IIUC, this is a feature request, since kubernetes has never supported this. Is there a reason why this is marked milestone 1.15 when we are already past enhancement freeze and almost reaching code freeze? |
I'm not sure whether we want the user configured grace period to block node reboot. Do people only reboot node after draining pods? If not, say I have a 10min grace period pod, will it block the node from reboot for 10min? Is it fair to the other pods which have 10s grace period? It seems that they may have a 10min downtime or rescheduled to other nodes unnecessarily? |
We can restrict it similar to how privileged is restricted. This is useful for daemon sets and static pods that are system owned.
… On May 29, 2019, at 5:32 PM, Lantao Liu ***@***.***> wrote:
I'm not sure whether we want the user configured grace period to block node reboot.
If I specify a 10min grace period, will it block the node from reboot for 10min? Is it fair to the other pods?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
If that is the case, it seems that we need to define Kubernetes api for that. Kubelet doesn't know whether a pod belongs to a daemonset or not. BTW, maybe it makes sense to block node reboot for that long, I'm not sure, either. Just thinking out loud. |
/sig node |
Is this issue release blocking or can we move it to 1.16? |
If this is not a regression in 1.15, I'd expect it can be moved |
/milestone v1.16 |
Hi all, code freeze for v1.16 is coming up on Aug. 29 (in just 6 days). This issue is set for milestone v1.16, will it be solved by then? It will need to have a PR merged beforehand. If not, we will remove the v1.16 milestone. |
I'm not aware of any activity on this issue targeting 1.16 |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
@mrunalp We run static pod with Docker container. Also we have kubelet and containerd on VM. The problem: I want to make graceful shutdown with 60s duration for container. But currently, we have only 10 seconds. That's because Docker receives Can I help with finishing this PR? What job needs to be done? Thanks a lot for supporting Kubernetes and containerd! |
Stale issues rot after 30d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Rotten issues close after 30d of inactivity. Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
@fejta-bot: Closing this issue. 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. |
Can this be reopened? I am opening a PR to address this. |
/reopen |
@dims: Reopened this issue. 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. |
@dims Thanks :) |
Enable passing of sandbox's termination grace period down to OCI runtime, as an annotation for systemd. This is a glue between * kubernetes/kubernetes#88495 and * opencontainers/runc#2224 (or containers/crun#266) that is a part of the fix for * kubernetes/kubernetes#77873 Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Enable passing of kubernetes termination grace period down to OCI runtime, as an annotation for systemd. This builds on top of * opencontainers/runc#2224 (or containers/crun#266) and is part of the fix for * kubernetes/kubernetes#77873 Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Enable passing of kubernetes termination grace period down to OCI runtime, as an annotation for systemd. This builds on top of * opencontainers/runc#2224 (or containers/crun#266) and is part of the fix for * kubernetes/kubernetes#77873 (cherry picked from commit 1f85692) Conflicts: a minor conflict in server/container_create_linux.go Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Enable passing of kubernetes termination grace period down to OCI runtime, as an annotation for systemd. This builds on top of * opencontainers/runc#2224 (or containers/crun#266) and is part of the fix for * kubernetes/kubernetes#77873 (cherry picked from commit 1f85692) Conflicts: a minor conflict in server/container_create_linux.go Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Rotten issues close after 30d of inactivity. Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
@fejta-bot: Closing this issue. 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. |
Enable passing of kubernetes termination grace period down to OCI runtime, as an annotation for systemd. This builds on top of * opencontainers/runc#2224 (or containers/crun#266) and is part of the fix for * kubernetes/kubernetes#77873 (cherry picked from commit 1f85692) Conflicts: a minor conflict in server/container_create_linux.go Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Enable passing of kubernetes termination grace period down to OCI runtime, as an annotation for systemd. This builds on top of * opencontainers/runc#2224 (or containers/crun#266) and is part of the fix for * kubernetes/kubernetes#77873 (cherry picked from commit 1f85692) Conflicts: a minor conflict in server/container_create_linux.go Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Enable passing of kubernetes termination grace period down to OCI runtime, as an annotation for systemd. This builds on top of * opencontainers/runc#2224 (or containers/crun#266) and is part of the fix for * kubernetes/kubernetes#77873 (cherry picked from commit 1f85692) Conflicts: a minor conflict in server/container_create_linux.go Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
What happened:
Containers are getting terminated by systemd without respecting the
terminationGracePeriodSeconds
set in the pod yaml on reboot or shutdown of a node.What you expected to happen:
terminationGracePeriodSeconds
is respected by systemd when using systemd as the cgroup manager.How to reproduce it (as minimally and precisely as possible):
terminationGracePeriodSeconds
set to120
seconds.Anything else we need to know?:
This can be fixed by passing the stop timeout to the containers as part of the CreateContainer CRI API. This will allow the container runtimes to set the systemd property for the scope to override the default stop timeout to the value set through
terminationGracePeriodSeconds
.This needs changes across the stack as runc doesn't currently provide a way to set the TimeoutStopUSec for the systemd scope created for a container.
The behavior with
cgroupfs
cgroup manager will need further investigation.Environment:
kubectl version
): All versions.The text was updated successfully, but these errors were encountered: