Skip to content
KEP Brain

KEP-6089keps/sig-scheduling/6089-was-controller-apis

Workload Aware Scheduling Controller APIs

implementablebetasig-schedulinglatest v1.38
This KEP proposes a standardized set of reusable API building blocks (scheduling.k8s.io), integration guidelines, and shared libraries to simplify how workload controllers (e.g., JobSet, TrainJob, RayJob, LWS, SparkApplication, as well as core workloads like Job, Deployment, and StatefulSet) integrate with Workload-aware Scheduling (WAS). In v1.37, this KEP… Full summary

This KEP proposes a standardized set of reusable API building blocks (scheduling.k8s.io), integration guidelines, and shared libraries to simplify how workload controllers (e.g., JobSet, TrainJob, RayJob, LWS, SparkApplication, as well as core workloads like Job, Deployment, and StatefulSet) integrate with Workload-aware Scheduling (WAS). In v1.37, this KEP and the reusable building blocks entered Alpha alongside the core Job integration ([KEP-5547]). For v1.38, this KEP is promoted to Beta. To support embedding into GA v1 workload APIs (batch/v1, apps/v1), the reusable building block structs graduate directly into scheduling.k8s.io/v1 (with Go type aliases maintained in scheduling.k8s.io/v1alpha3 for backward compatibility), formalizing stable primitives for the entire Kubernetes ecosystem. By providing common API primitives (such as topology constraints and disruption policies) and a shared library (workloadbuilder) to handle boilerplate resource generation, we enable controller developers to easily expose WAS features natively within their APIs without reinventing the wheel, while ensuring a consistent user experience across the Kubernetes ecosystem.

Facts

PRR approvers
@wojtek-talpha@wojtek-tbeta
Tracking issue
#6089(opens GitHub in a new tab) openmilestone v1.38sig/appssig/schedulingstage/betatracked/yeslead-opted-inwg/workload-aware-scheduling
Milestones
alpha v1.37beta v1.38stable v1.39
Participating SIGs
sig-apps
Feature gates
WorkloadWithJob
Created / last updated
2026-05-18 / 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.