Skip to main content
This lesson dives into Kubernetes scheduling: how the scheduler decides which node runs a Pod and the options you have to influence that decision. We’ll move beyond basic scheduler installation and configuration to explore hands-on techniques for controlling Pod placement across a cluster. You will practice common scheduling patterns and configuration points that production clusters use to guarantee reliability, performance, and operational clarity. Topics covered (in sequence)
  • Manual scheduling — assign a Pod to a specific node using spec.nodeName or nodeSelector.
  • DaemonSets — ensure one Pod runs on each node (or a subset) for cluster-wide services.
  • Labels and selectors — how controllers and Pods use labels to influence placement.
  • Resource requests and limits — how CPU and memory requests affect scheduling decisions and bin-packing.
  • Multiple schedulers — run and configure more than one scheduler and assign Pods to alternate schedulers.
  • Scheduler events — view and interpret events emitted when scheduling succeeds or fails.
Below is a concise overview of each topic and why it matters.
Before you start the exercises, make sure you have a working kubeconfig and cluster access. Familiarity with Pod manifests, kubectl basics, and labels/selectors will help you move through the tasks faster.Recommended reading:
We’ll proceed through hands-on tasks that reinforce each concept with example manifests and kubectl commands. Follow the sequence above so each exercise builds on prior topics. Let’s get started — enjoy the exercises.
A presentation slide titled "Scheduling" with a dark blue left panel and two teal markers on the white area listing "05 Multiple Schedulers" and "06 Scheduler Events." The slide also shows a small "© Copyright KodeKloud" at the bottom left.

Watch Video