Skip to content
KEP Brain

KEP-6406keps/sig-scheduling/6406-dra-extended-resource-capacity

DRA: Capacity Requests for Extended Resource Mapping

implementablealphasig-schedulinglatest v1.38
KEP-5004 (DRA Extended Resource) lets a DeviceClass declare an extendedResourceName, so that a container's classic resources.requests/resources.limits entry (e.g. nvidia.com/gpu: 1) is satisfied by devices published through a DRA driver. The scheduler synthesizes a ResourceClaim on the pod's behalf, with one DeviceRequest per container per extended resource,… Full summary

KEP-5004 (DRA Extended Resource) lets a DeviceClass declare an extendedResourceName, so that a container's classic resources.requests/resources.limits entry (e.g. nvidia.com/gpu: 1) is satisfied by devices published through a DRA driver. The scheduler synthesizes a ResourceClaim on the pod's behalf, with one DeviceRequest per container per extended resource, requesting Count devices with the default capacity consumption from the matching DeviceClass. KEP-5075 (DRA Consumable Capacity) lets any DeviceRequest carry a Capacity field (a CapacityRequirements map of capacity name to requested quantity), so that a device advertising allowMultipleAllocations: true is only partially consumed by the allocation instead of being handed out with the default capacity consumption. These two features do not currently compose. The DeviceRequest the scheduler synthesizes for an extended resource never sets Capacity, so extended resources can only ever request devices with the default capacity consumption. This KEP adds an optional extendedResourceCapacityRequests field to DeviceClassSpec. When set, the scheduler copies its value onto the Capacity field of every ExactDeviceRequest it synthesizes for that class's ExtendedResourceName, reusing the existing CapacityRequirements type and the existing per-allocation semantics of DeviceRequest.Capacity as-is. No new allocation algorithm, no new API type, and no change to how a pod expresses its request. The extended resource name is what changes behavior, exactly as it already does today for which DeviceClass gets selected. This lets a cluster administrator expose a fixed-size "slice" of a shareable device (for example, a fixed number of GPU time-slicing shares) through the classic extended resource API, enabling drop-in migration of extended-resource-based workloads (no pod spec changes) o

Facts

PRR approvers
@johnbelamaricalpha
Tracking issue
#6406(opens GitHub in a new tab) openmilestone v1.38sig/schedulingstage/alphatracked/yeslead-opted-inwg/device-management
Milestones
alpha v1.38
Participating SIGs
sig-node
Feature gates
DRAExtendedResourceCapacity
Created / last updated
2026-09-21 / none
Loading decisions and status history

Keyboard shortcuts

Everywhere

?
Show or hide this list
/
Focus the question box on Ask, otherwise the page search
Ctrl Kor⌘ K
Focus the KEP search in the top bar
t
Switch the theme (system, light, dark)
Esc
Close a dialog, a search list or a menu

Go to a page

Press g, then the letter

g h
Home
g a
Ask
g e
Explore
g u
Audit
g m
Memory
g b
About

Ask

Enter
Send the question
Shift Enter
New line in the question
Esc
Cancel the running question

Search lists

KEP search and Explore search

↓or↑
Move through the results
HomeorEnd
First or last result (Explore)
Enter
Open the highlighted result, or KEP-n when the query is a number

KEP page

o
Open the KEP on GitHub
y
Open kep.yaml on GitHub
a
Ask about this KEP
←or→
Previous or next tab, when a tab is focused

Findings table

With a finding row focused (Tab into the table or click a row)

jork
Next or previous finding
EnterorSpace
Expand or collapse the finding
o
Open the finding's KEP page
d
Draft the fix as an issue text (nothing is posted)
]or[
Next or previous page of findings

Shortcuts pause while you type in a field. Press ? or Esc to close.