Skip to content
KEP Brain

KEP-5440keps/sig-apps/5440-mutable-job-pod-resource-updates

Mutable Pod Resources for Suspended Jobs

implementablestablesig-appslatest v1.38
In #2232 we added a new flag to allow suspending jobs to control when the Pods of a Job get created by controller-manager. This was proposed as a primitive to allow a higher-level queue controller to implement job queuing: the queue controller unsuspends the job when resources become available. To complement the above capability, a secondary controller may… Full summary

In #2232 we added a new flag to allow suspending jobs to control when the Pods of a Job get created by controller-manager. This was proposed as a primitive to allow a higher-level queue controller to implement job queuing: the queue controller unsuspends the job when resources become available. To complement the above capability, a secondary controller may also want to control the resource requirements of a job based on current cluster capacity or resource availability. For example, it may want to adjust CPU, memory, and GPU requests/limits based on available node capacity, allocate specific extended resources like TPUs or FPGAs, optimize resource allocation for better cluster utilization, or modify resource requirements based on queue priority and cluster load. This is a proposal to relax update validation on suspended jobs to allow mutating resource specifications in the job's pod template, specifically CPU, memory, GPU, other extended resource requests and limits, and container references to resource claims. This enables a higher-level controller to optimize resource allocation before un-suspending a job based on current cluster conditions and resource availability.

Facts

Authors
@kannon92
Approvers
@soltysh
Reviewers
@tenzen-y
PRR approvers
@jpbetzalpha@jpbetzbeta@jpbetzstable
Tracking issue
#5440(opens GitHub in a new tab) openmilestone v1.38sig/appsstage/stabletracked/yeslead-opted-in
Milestones
alpha v1.35beta v1.36stable v1.38
Participating SIGs
sig-node
Feature gates
MutableSchedulingDirectivesForSuspendedJobs, MutablePodResourcesForSuspendedJobs
Created / last updated
2025-06-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.