You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When the scheduler allocates resources reserved by a Reservation to a Pod, it is possible to jointly allocate resources from multiple Reservations. For example, Reservation A reserves 4000m of CPU, and Reservation B reserves 8Gi of memory. Both A and B can be used by Pod 1, so Pod 1 will use the resources of Reservation A and B at the same time during scheduling. Although the scheduler can ensure that the overall resources of the node will not be oversold, it will still be confusing from the perspective of Reservation, and although this scenario is rare, it has not considered abolishing support for this scenario.
321
+
But at the same time, taking into account the resource boundaries between Reservations, the `AllocatePolicy` field is newly added to support `Aligned` and `Restricted` policies.
322
+
323
+
-`Aligned` indicates that the Pod allocates resources from the Reservation first. If the remaining resources of the Reservation are insufficient, it can be allocated from the node, but it is required to strictly follow the resource specifications of the Pod. This can be used to avoid the problem that a Pod uses multiple Reservations at the same time.
324
+
325
+
-`Restricted` means that the resources requested by the Pod overlap with the resources reserved by the Reservation, then these intersection resources can only be allocated from the Reservation, but other resources can be allocated from the node. Restricted includes the semantics of ReservationAllocatePolicyAligned.
326
+
327
+
If a node has multiple Reservations with Aligned or Restricted policies, and these Reservations cannot satisfy the pod’s request at all during filtering, the node will be filtered out.
328
+
329
+
The default policy (currently is none) cannot coexist with the policies Aligned and Restricted.
330
+
296
331
### Implementation Details
297
332
298
333
#### Schedule Reservations
@@ -452,6 +487,7 @@ Reserving resources with [`pause` pods with very low assigned priority](https://
452
487
-[X] 08/08/2022: Update allocateOnce API
453
488
-[X] 25/03/2023: Update the API and E2E Tests
454
489
-[X] 09/05/2023: Add Reservation Affinity API
490
+
-[X] 18/05/2023: Add Reservation Allocate Policy API
0 commit comments