Skip to content

Kubernetes Scheduler Deep Dive: Internals, Customization & Advanced Tuning

Photo of Khaja Moinuddin Mohammed
Hosted By
Khaja Moinuddin M.
Kubernetes Scheduler Deep Dive: Internals, Customization & Advanced Tuning

Details

This session gives you an exhaustive walkthrough of the Kubernetes Scheduler, the heart of the cluster orchestration, starting from the fundamentals and building mastery as we traverse source code, architecture, integrations, tuning and advanced real-world scenarios. By the end, you will have a foundation strong enough to teach and extend the scheduler, create your own custom scheduler and fine-tune it for demanding workloads.

Agenda and Coverage

  1. Scheduler Fundaments
  • Introduction to scheduler's role in Kubernetes.
  • Placement lifecycle: Pods, Resources and the scheduling API
  • Control loop principles & relation to controller-manager and kube-apiserver
  1. Components Walkthrough
  • Overview of major scheduler sub components: Queue, Scheduling cycle, binding, extenders
  • Plugin Mechanism (Score, Filter, Preemption etc.,) extending core logic of Scheduler
  • Data flows and event handling (Pod flow from creation to scheduling)
  1. Source Code Internals
  • Guided exploration of key packages: pkg/scheduler, queueing, framework/plugin code
  • Deep dive into the scheduling algorithm involving predicates, priorities and scoring.
  • Debugging tips: How to instrument and step through scheduler logic (Delve, logs and metrics)
  1. Parameters and Tuning
  • Configuration via Policy files and YAML, default vs advanced options
  • Key tunable parameters: leader election, parallelism, extenders, plugin ordering
  • Flags and settings impacting scheduling latency and throughput
  1. Integration with Kubernetes Components
  • Scheduler’s communication with kube-apiserver, etcd, controller-manager
  • How it observes, updates, and binds pod objects
  • Interaction patterns with resource object changes (Node, Pod, PVC, ResourceClass)
  1. Writing Your Own Scheduler
  • Building a custom scheduler from scratch (Go implementation, API patterns)
  • Coexistence with the default scheduler i.e., how to target pods via spec.schedulerName in manifests
  • Live demo: Example schedulerName YAML, deploying both schedulers in one cluster
  1. Performance Optimization
  • Profiling scheduler performance (metrics, Prometheus, pprof)
  • Best practices for large clusters: bin-packing, cache efficiency, plugin composition
  • Real-world issues: debugging scheduling latency, tuning scoring & preemption, handling bottlenecks
  1. Advanced Use Cases and Scenarios
  • Dynamic resource allocation (DRA) integration with scheduler
  • Custom Score plugins i.e., building, loading, and using WASM or Go plugins
  • Scheduler operations with node affinity/anti-affinity, taints/tolerations, prioritization scenarios
  • Troubleshooting: Real cluster failures, diagnosis and recovery strategies
  1. Source & Reference Links
  • Key GitHub repositories, RFCs, enhancement proposals
  • Further reading: blogs, books, talks on Kubernetes scheduling

Who Should Attend:

  • Kubernetes practitioners, architects, SREs, system developers
  • Anyone seeking to master scheduler internals, customization, and performance

Take-home Knowledge:

  • Full understanding of the scheduler’s architecture and operational flow
  • Skills to read, debug, and extend the core code
  • Ability to tune, troubleshoot, and scale scheduler in production environments
  • Steps and examples to create and run custom schedulers in real clusters
  • Advanced integration for dynamic resource allocation and plugins
Photo of Kubernetes Over Koffee ☕ group
Kubernetes Over Koffee ☕
See more events
Full Stack Academy
2nd Floor, Muthoot Finance Building, Tolichowki Rd, Toli Chowki, Hyderabad, Telangana 500008, Full stack academy · Hyderabad
Google map of the user's next upcoming event's location
FREE
50 spots left