Skip to content

Commit 1b50e4f

Browse files
committed
PR feedback
1 parent ea7c223 commit 1b50e4f

File tree

1 file changed

+14
-1
lines changed
  • keps/sig-node/1287-in-place-update-pod-resources

1 file changed

+14
-1
lines changed

keps/sig-node/1287-in-place-update-pod-resources/README.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
- [Risks and Mitigations](#risks-and-mitigations)
2020
- [Design Details](#design-details)
2121
- [Resource States](#resource-states)
22+
- [Priority of Resize Requests](#priority-of-resize-requests)
2223
- [Kubelet and API Server Interaction](#kubelet-and-api-server-interaction)
2324
- [Kubelet Restart Tolerance](#kubelet-restart-tolerance)
2425
- [Scheduler and API Server Interaction](#scheduler-and-api-server-interaction)
@@ -441,15 +442,27 @@ requests will be attempted according to the following priority:
441442
prioritized first. These resizes are expected to always succeed and would not be marked as
442443
pending.
443444
2. *PriorityClass*: Pods with a higher PriorityClass.
444-
3. *QoS Class*: Pods with a higher QoS class, where Guaranteed > Burstable > Best Effort.
445+
3. *QoS Class*: Pods with a higher QoS class, where Guaranteed > Burstable. Best effort pods
446+
do not have CPU or memory resources, so are excluded from the discussion here.
445447
4. *Time since resize request*: If all else is the same, resizes that have been pending
446448
longer will be retried first (leveraging LastTransitionTime on the PodResizePending condition).
447449

450+
These priorities are *only* used to indicate which resize requests will be attempted first.
451+
Scheduler preemption/eviction to make room for pending resizes is not in scope.
452+
448453
A higher priority resize being marked as pending should not block the remaining pending resizes
449454
from being attempted, i.e. we will try all remaining resizes in the queue even if one is unsuccessful.
450455
Resizes that are deferred will be added back to the queue to be re-attempted later. Resizes that are
451456
infeasible may never be retried.
452457

458+
Allocation will be attempted on the pods in the queue:
459+
- At the end of `HandlePodUpdates`, `HandlePodRemoves`, and `HandlePodCleanups` when a change to the queue is detected.
460+
- Upon completion of another resize request.
461+
- Periodically, to catch any cases that we may have missed.
462+
463+
A successful allocation will trigger a pod sync, which will actuate the allocated resize and update the
464+
pod status accordingly.
465+
453466
### Kubelet and API Server Interaction
454467

455468
When a new Pod is created, Scheduler is responsible for selecting a suitable

0 commit comments

Comments
 (0)