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.

Table of Contents#

  1. Under the hood
  2. The scheduling framework
  3. The scheduler-plugins project
  4. Community schedulers in the ecosystem
  5. (You’re here) Future trends
  %%{
    init: {
      'logLevel': 'debug', 'theme': 'default',
       'themeVariables': {
              'git0': '#ff0000',
              'git1': '#00ff00',
      }
      'gitGraph': {'showBranches': true, 'showCommitLabel': true, 'mainBranchName': 'scheduling_series'}
    }
  }%%

gitGraph:
	checkout main
	commit
	branch scheduling_series
	checkout scheduling_series
	commit
	checkout main
    commit
	merge scheduling_series tag:"under the hood"
	commit
	checkout scheduling_series
	commit
	commit
	checkout main
	commit
	merge scheduling_series tag:"scheduling framework"
	checkout scheduling_series
	commit
	commit
	checkout main
	merge scheduling_series tag:"scheduler-plugins"
	commit
	commit
	checkout main
	merge scheduling_series tag:"community schedulers"
	checkout scheduling_series
	commit
	commit
	checkout main
	merge scheduling_series tag:"future trends" type: HIGHLIGHT
	commit
    

Looking ahead, several exciting trends and research areas are poised to shape the future of Kubernetes scheduling:

AI-Driven Scheduling: One of the hottest topics is applying machine learning or AI to scheduling decisions1. The idea is that instead of static heuristics (if node has X free, score Y), an AI model could learn from historical data to predict the best placement for a workload. For example, a neural network could be trained to predict the performance of a web service if placed on a given node (based on that node’s current load, hardware, etc.)2, and the scheduler could use that to choose a node that minimizes start-up latency or maximizes the app’s throughput. Researchers have already prototyped custom schedulers that use reinforcement learning (RL) or decision tree models to schedule pods. Early results3 show it’s possible to have an ML model make scheduling decisions that improve resource utilization and lower latency compared to the default scheduler. For instance, one approach trains a model to predict which node will result in the fastest pod initialization for a given application, effectively optimizing away cold-start delays.

AI-driven scheduling could also mean dynamic adaptation4: the scheduler might adjust its strategy based on current cluster conditions (learned patterns). A reinforcement learning scheduler could continuously fine-tune its node scoring function by observing reward signals (like pods running successfully, or overall cluster efficiency). This is still an emerging field – challenges include the complexity of model training, the need for simulation (you can’t trial-and-error on a production cluster easily), and ensuring the model’s decisions are safe and explainable. However, as clusters grow and scheduling scenarios get more complex (think mixed workloads, edge, and cloud), AI might help juggle those factors better than static algorithms. We might even see integration of AI at the periphery: for example, using predictive analytics to proactively scale out nodes and schedule pods before a known traffic spike (predictive autoscaling combined with scheduling). Some projects and papers like Octopus3 or others in academic conferences are exploring these ideas. In the next 5 years, it’s reasonable to expect at least optional AI guidance in Kubernetes scheduling – perhaps as a “hint” mechanism where an external service suggests placements to the scheduler based on learned data.

Multi-Cluster and Federated Scheduling: As enterprises move to hybrid cloud and multi-region deployments, the concept of scheduling across multiple clusters is gaining attention. Federated scheduling (a.k.a. scheduling in Kubernetes Federation or via systems like Karmada) means deciding not just which node but which cluster a pod should run in. Projects like KubeFed (Kubernetes Federation v2) and Karmada aim to make multiple clusters act in concert. Karmada5, for example, provides “multi-policy, multi-cluster scheduling” – you can define a policy for an application that says how to distribute its replicas across datacenters or clouds. The scheduler (Karmada’s scheduler component) will then place some replicas in cluster A, some in cluster B, according to rules (like spread 50/50 for high availability, or choose the cluster in a certain region for latency). It also supports failover: if one cluster goes down, it can reschedule those pods to another cluster.

We expect multi-cluster scheduling to become more prevalent, possibly with integration into the core Kubernetes API in the future. For example, a user might submit a workload to a global scheduler, and it decides the best cluster (based on capacity, cost, or policy) to run it. This involves solving a higher-level scheduling problem – not just nodes, but clusters as the targets. Federation v1 struggled with this, but newer systems are more promising. We might see standardized APIs for expressing multi-cluster affinity (“run 3 copies in US-West, 2 copies in EU-Central”) and global schedulers honoring them. Multi-cluster schedulers will also likely incorporate network awareness (so that an app and its database might get scheduled to the same cluster to minimize WAN traffic) and data locality (preferring the cluster where needed data is present). Multi-cluster scheduling is crucial for federated machine learning, disaster recovery (DR), and geo-distributed apps. Projects like Open Cluster Management (OCM) and others in CNCF are addressing parts of this puzzle too. Overall, expect Kubernetes to more seamlessly handle scheduling in a multi-cluster world.

Energy-Aware and Sustainable Scheduling: With growing focus on sustainability, there’s interest in making schedulers minimize energy consumption and carbon footprint. Kubernetes itself is being used in data centers with renewable energy and in edge environments where power is limited. An energy-aware scheduler might take into account the power efficiency of nodes or the current carbon intensity of the grid powering each node. For example, if one availability zone is currently drawing cleaner power (more renewable mix) than another, a carbon-aware scheduler could prefer scheduling new workloads in that zone to reduce emissions. Similarly, it might consolidate workloads on fewer nodes during off-peak hours so that other nodes can be turned off (saving energy), then spread them out during peak to meet performance needs. A recent FOSDEM talk discussed using the Kepler6 project (Kubernetes Efficient Power Level Exporter) to get per-container energy metrics and then scheduling based on those.

One concrete concept is carbon-aware scheduling: delay or advance certain jobs based on when electricity is greenest. For instance, a batch job like ML model training could wait until nighttime when wind power is abundant and then run, thereby using low-carbon energy7. If a cluster spans multiple regions, the scheduler could choose a region that currently has the lowest carbon intensity to run a job. This requires integrating external data (carbon intensity feeds, e.g., via APIs like WattTime or ElectricityMap). Some early experiments and tools are emerging for this (even outside K8s, e.g., Nomad has plugins for it). We expect Kubernetes to hop on – perhaps via a scheduling plugin that periodically tags nodes with an “eco-score” and then a custom score plugin that prefers higher scores (greener nodes) for certain workloads.

Energy-aware scheduling also includes power capping strategies: if a data center is running hot, a scheduler might spread workloads to avoid high power draw in any one rack (preventing overheating). Or in edge, if a site is on battery, the scheduler might avoid placing heavy workloads there until power is stable. All of these require a tight loop between telemetry (like what Kepler provides) and decision-making. The Kubernetes community is very much aware of this trend – we can expect future KEPs (enhancement proposals) focusing on sustainability. In a broader sense, scheduling for sustainability might become as important as scheduling for performance is today.

Scheduler Extensibility and Profiles: On a meta level, we will likely see the scheduler become even more extensible. The Scheduling Framework was a big step (allowing out-of-tree plugins). Future improvements might include making it easier to run multiple scheduling profiles in one cluster. This could be expanded so that, say, batch pods automatically use a profile with different plugins (perhaps via a scheduler annotation or class). The community might also work on making scheduler customization more dynamic – loading plugins at runtime or via configuration, rather than requiring a custom binary. This would let cluster admins and researchers experiment with new scheduling behaviors on the fly.

Chaos and Resilience: As scheduling becomes more complex, there’s also interest in making the scheduler itself more resilient. We might see work on schedular high-availability (today only one scheduler leads at a time) or even decentralized scheduling (multiple schedulers coordinating, which was the idea behind Omega). There’s research on eliminating the single bottleneck by having many schedulers work in parallel on disjoint sets of pods, then reconciling – this could come back in some form, especially for huge clusters or federated scenarios and with the rise of Kubernetes as the de-fact standard platform for AI-workloads.

The future of Kubernetes scheduling is headed toward smarter, more global, and more principled decisions: using AI to learn from the past, coordinating across clusters, and meeting objectives like cost and energy efficiency. It’s an active area of development in both industry and academia. Kubernetes, evolving from the lessons of Borg and Omega, continues to incorporate these advancements. For Kubernetes engineers and researchers, it’s an exciting domain – the scheduler is becoming a pluggable platform for innovation. We recommend keeping an eye on KEPs in SIG Scheduling and upcoming papers from KubeCon + research conferences to stay ahead in this space. The quest for the “optimal” scheduler is ongoing, and Kubernetes is at the forefront of bringing these theoretical ideas into practical, running code.

References#


  1. Zeineb Rejiba and Javad Chamanara. 2022. Custom Scheduling in Kubernetes: A Survey on Common Problems and Solution Approaches. ACM Comput. Surv. 55, 7, Article 151 (July 2023), 37 pages. https://doi.org/10.1145/3544788 ↩︎

  2. Dakić V, Đambić G, Slovinac J, Redžepagić J. Optimizing Kubernetes Scheduling for Web Applications Using Machine Learning. Electronics. 2025; 14(5):863. https://doi.org/10.3390/electronics14050863 ↩︎

  3. Mahapatra, Rohan, et al. “Exploring efficient ml-based scheduler for microservices in heterogenous clusters.” Machine Learning for Computer Architecture and Systems 2022. 2022 ↩︎ ↩︎

  4. J. Jeon, S. Park, B. Jeong and Y. -S. Jeong, “Efficient Container Scheduling With Hybrid Deep Learning Model for Improved Service Reliability in Cloud Computing,” in IEEE Access, vol. 12, pp. 65166-65177, 2024, doi: 10.1109/ACCESS.2024.3396652 ↩︎

  5. Karmada ↩︎

  6. FOSDEM 2023 - Carbon Intensity Aware Scheduling in Kubernetes ↩︎

  7. Carbon Aware Scheduling on Nomad and Kubernetes - Green Web Foundation ↩︎