Description
Enhancement Description
Currently, when the scheduler allocates a ResourceClaim for a given Pod, it adds that Pod to the ResourceClaimStatus.ReservedFor list. A claim shared among multiple pods will have multiple entries in this list. This allows the ResourceClaimController to know when to de-allocate the claim; it does so once this list is empty.
The length of this list is limited to 256 pods. However, some workloads are much larger and may share a resource claim across many more pods, even in the thousands. Simply increasing the pod list to thousands is not a good long term solution.
Instead, this proposal is to allow us to reserve it for a workload. For example, rather than listing individual pods, you could list the Job or ReplicaSet or StatefulSet that is sharing the ResourceClaim. This avoids race conditions as pods come and go, without requiring listing every pod.
cc @pohly @klueska @thebinaryone1
- One-line enhancement description (can be used as a release note): Enable resource claims to be reserved for workloads, not just individual pods
- Kubernetes Enhancement Proposal: TBD
- Discussion Link: https://kubernetes.slack.com/archives/C0409NGC1TK/p1741647231531399
- Primary contact (assignee): @johnbelamaric
- Responsible SIGs: sig-scheduling
- Enhancement target (which target equals to which milestone):
- Alpha release target (x.y): 1.34
- Beta release target (x.y): 1.35
- Stable release target (x.y): 1.36
- Alpha
- KEP (
k/enhancements
) update PR(s): - Code (
k/k
) update PR(s): - Docs (
k/website
) update PR(s):
- KEP (
Please keep this description up to date. This will help the Enhancement Team to track the evolution of the enhancement efficiently.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
📋 Backlog
Status
Needs Triage
Status
No status