Skip to content

Commit

Permalink
DRA: handle non graceful node shutdowns
Browse files Browse the repository at this point in the history
Added a section about handling non graceful node shutdowns
(see https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/2268-non-graceful-shutdown
for more details)
  • Loading branch information
bart0sh committed Oct 2, 2023
1 parent a2fb02e commit 4240c3b
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions keps/sig-node/3063-dynamic-resource-allocation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ SIG Architecture for cross-cutting KEPs).
- [Coordinating resource allocation through the scheduler](#coordinating-resource-allocation-through-the-scheduler)
- [Resource allocation and usage flow](#resource-allocation-and-usage-flow)
- [Scheduled pods with unallocated or unreserved claims](#scheduled-pods-with-unallocated-or-unreserved-claims)
- [Handling non graceful node shutdowns](#handling-non-graceful-node-shutdowns)
- [API](#api)
- [resource.k8s.io](#resourcek8sio)
- [core](#core)
Expand Down Expand Up @@ -1162,6 +1163,18 @@ Once all of those steps are complete, kubelet will notice that the claims are
ready and run the pod. Until then it will keep checking periodically, just as
it does for other reasons that prevent a pod from running.

### Handling non graceful node shutdowns

When a node is shut down unexpectedly and is tainted with an `out-of-service`
taint with NoExecute effect as explained in the [Non graceful node shutdown KEP](https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/2268-non-graceful-shutdown),
all running pods on the node will be deleted by the GC controller and the
resources used by the pods will be deallocated. However, they will not be
un-prepared as the node is down and Kubelet is not running on it.

Resource drivers should be able to handle this situation correctly and
should not expect `UnprepareNodeResources` to be always called before
`Deallocate`.

### API

The PodSpec gets extended. To minimize the changes in core/v1, all new types
Expand Down

0 comments on commit 4240c3b

Please sign in to comment.