KEP-5517keps/sig-scheduling/5517-dra-node-allocatable-resources
DRA Node Allocatable Resources
This KEP proposes a solution for managing node allocatable resources via Dynamic Resource Allocation (DRA). Node allocatable resources are resources currently reported in v1.Node status.allocatable that are not extended resources (examples include CPU, Memory, Ephemeral-storage, and Hugepages). Currently, when these node allocatable resources are managed via… Full summary
This KEP proposes a solution for managing node allocatable resources via Dynamic Resource Allocation (DRA). Node allocatable resources are resources currently reported in v1.Node status.allocatable that are not extended resources (examples include CPU, Memory, Ephemeral-storage, and Hugepages). Currently, when these node allocatable resources are managed via DRA, there is a fundamental disconnect across the control plane and the Node. In the scheduler, having two independent accounting systems (one for standard resources, one for DRA) managing the same underlying resource leads to resource overcommitment. On the node, the kubelet is completely unaware of DRA allocations, which may result in incorrect QoS class assignment and has many downstream implications. This forces users into fragile workarounds that are incompatible with all use cases. The proposed solution in this KEP addresses node allocatable resource accounting and enforcement in kube-scheduler and kubelet: 1. Kube-Scheduler Accounting: During filtering and scoring, NodeResourcesFit and DynamicResources account for node allocatable resources allocated via DRA ResourceClaims both for the incoming pod being scheduled and for pods already running on the node preventing node overcommitment. 2. Kubelet Enforcement: kubelet natively incorporates node allocatable resource allocations made through DRA ResourceClaims to configure Linux container and pod cgroups and calculate OOM score.
Facts
- Authors
- @pravk03
- Reviewers
- @dom4ha@macsko@dchen1107@sergeykanzhelev@towca@jackfrancis@tallclair@johnbelamaric@catblade@kad@ffromani
- PRR approvers
- @johnbelamaricalpha@johnbelamaricbeta
- Tracking issue
- #5517(opens GitHub in a new tab) openmilestone v1.38sig/nodesig/schedulingstage/betatracked/yeslead-opted-inwg/device-management
- Milestones
- alpha v1.36beta v1.38stable v1.41
- Participating SIGs
- sig-nodesig-autoscaling
- Feature gates
- DRANodeAllocatableResources
- Created / last updated
- 2025-12-22 / none