The Kubernetes scheduler is the brain of the cluster, deciding which node runs each Pod. This is the final post in a series where I explore advanced scheduling mechanisms in Kubernetes. In this one, I look ahead at emerging trends and research directions that could shape the future of Kubernetes scheduling. I discuss how new heuristics and processing architectures, AI and machine learning could drive smarter placement decisions, how multi-cluster and federated schedulers might support global workloads, and how energy-aware scheduling could make Kubernetes more sustainable. I also explore upcoming ideas like dynamic scheduler profiles, carbon-aware policies, and new architectures for resilience and scalability. From smarter algorithms to environmental impact, Kubernetes scheduling is evolving into a platform for innovation—and the road ahead looks promising.
Kubernetes Scheduling: community schedulers in the ecosystem
The Kubernetes scheduler is the brain of the cluster, deciding which node runs each Pod. This is the fourth post in a series where I explore advanced scheduling mechanisms in Kubernetes. In this one, I give a broad overview of community-driven and vendor-supported custom schedulers built on top of Kubernetes. I focus on how these schedulers and plugins target specific goals like cost savings, SLA optimization, and performance tuning. I cover batch and ML-focused schedulers like Volcano, YuniKorn, and Koordinator, as well as research-driven systems like Poseidon/Firmament. I also look at cost-optimization strategies using bin-packing, spot instances, and descheduling, along with SLA-driven and topology-aware scheduling techniques. Finally, I reflect on the balance between community projects and vendor platforms, and how Kubernetes’s extensibility allows users to tailor scheduling to their workload and infrastructure needs.
Download O’Reilly Media EPUB books with SSO Login
Download O’Reilly Media EPUB books with a single sign-on (SSO) login, for offline reading on your e-reader or mobile device.
Kubernetes Scheduling: the scheduler-plugins project
The Kubernetes scheduler is the brain of the cluster, deciding which node runs each Pod. This is the third post in a series where I explore advanced scheduling mechanisms in Kubernetes. In this one, I focus on the scheduler-plugins project by SIG Scheduling. I explain how this project extends the Kubernetes Scheduling Framework with a collection of out-of-tree plugins that enable advanced behaviors like gang scheduling, NUMA-aware placement, load-aware scoring, and more. I walk through key plugins such as Capacity Scheduling, Coscheduling, Trimaran, and Network-Aware Scheduling, and show how they solve real-world scheduling problems. I also cover how to integrate these plugins into your cluster using a custom scheduler or as a secondary scheduler, and discuss the tradeoffs of each approach.
Kubernetes Scheduling: the scheduling framework
The Kubernetes scheduler is the brain of the cluster, deciding which node runs each Pod. This is the second post in a series where I explore advanced scheduling mechanisms in Kubernetes. In this one, I give an overview of the current state of the Kubernetes scheduling framework. I explain how Kubernetes scheduling works as a batch-oriented process that handles one Pod at a time. I walk through the evolution from the older predicates and priorities model to the modern Scheduling Framework, where each step in the scheduling cycle is an extension point for plugins. I also cover extenders, PreEnqueue plugins, and SchedulingGates, which enable more flexible and complex scheduling workflows. Finally, I highlight projects like Kueue and the Multiarch Tuning Operator that build on these features to support AI, HPC, and multi-architecture workloads.