CKA — Scheduling
Chapter Overview
The Workloads & Scheduling domain accounts for 15% of the CKA exam. At the heart of this domain is the Kubernetes Scheduler — the component that decides which node runs each Pod.
By default, the scheduler spreads Pods intelligently across your cluster based on resource requests, constraints, and policies. But in the real world (and on the exam), you’ll need to influence those decisions — pin workloads to specific hardware, keep Pods apart for high availability, or reserve nodes for critical services.
This chapter covers every scheduling primitive you’ll encounter on the CKA exam.
What You’ll Learn
| # | Topic | What It Covers |
|---|---|---|
| 1 | nodeSelector | Labeling nodes, using nodeSelector |
| 2 | Node Affinity | Required/preferred scheduling, operators |
| 3 | Taints & Tolerations | NoSchedule, PreferNoSchedule, NoExecute |
| 4 | Pod Priority & Preemption | PriorityClasses, preemption |
| 5 | DaemonSets & Static Pods | DaemonSet use cases, static Pod management |
| 6 | Hands-On Lab | Apply scheduling constraints end-to-end |
CKA Exam Relevance
| Domain | Weight |
|---|---|
| Workloads & Scheduling | 15% |
Expect questions that ask you to:
- Schedule a Pod on a specific node using labels and selectors.
- Taint a node and create a toleration so only certain Pods land there.
- Configure node affinity rules — both hard and soft.
- Create and use PriorityClasses.
- Deploy DaemonSets and manage static Pods.
Time pressure is real — practice these tasks until you can do them from memory.
Prerequisites
Before starting this chapter, make sure you’re comfortable with:
- Creating Pods and Deployments with
kubectland YAML manifests. - Viewing node and Pod status (
kubectl get nodes,kubectl describe pod). - Basic label and selector concepts from earlier chapters.