Practice the vocabulary of guaranteeing scheduling capacity for a cluster's most critical workloads.
0 / 5 completed
1 / 5
At standup, a dev mentions the Kubernetes scheduler evicting a lower-importance pod to make room for a pending pod that's been explicitly marked as more critical. What mechanism supports this?
A PriorityClass assigns an explicit priority value to a pod, enabling the scheduler to preempt, or evict, a lower-priority pod to make room for a pending pod marked as more critical. A ResourceQuota only limits how much a namespace can request in total, with no bearing on which already-running pod gets evicted. This preemption capability is what lets a cluster guarantee capacity for its most important workloads under contention.
2 / 5
During a design review, the team wants a high-priority pod that still shouldn't be allowed to evict other pods to make room for itself. Which capability supports this?
A PriorityClass configured with a PreemptionPolicy of Never gives a pod high scheduling priority for being picked first when capacity is available, without ever letting it evict another already-running pod to make room. A PriorityClass that always preempts regardless of this setting removes the option to have a high-priority pod that's still a considerate, non-disruptive neighbor. This PreemptionPolicy setting is what lets a team separate scheduling priority from eviction behavior.
3 / 5
In a code review, a dev notices pods with no explicit PriorityClass assigned all fall back to the same baseline priority value rather than each receiving an arbitrary, unpredictable one. What does this represent?
The default PriorityClass baseline applied when no PriorityClass is explicitly assigned gives every otherwise-unmarked pod the same predictable priority value, rather than an arbitrary or random one. Assuming each unassigned pod would receive a random value misunderstands how the scheduler falls back to one consistent default. This predictable baseline is what makes it meaningful to then assign a genuinely elevated PriorityClass only to the workloads that actually need preemption priority.
4 / 5
An incident report shows a critical service's pod sat pending for several minutes during a capacity crunch because a large batch of non-critical background jobs had consumed all available capacity and carried no lower PriorityClass to distinguish them. What practice would prevent this?
Assigning a lower PriorityClass to non-critical batch workloads lets the scheduler preempt them when a genuinely critical pod needs capacity, rather than leaving that critical pod stuck pending behind lower-value work. Leaving every workload at the same default priority is exactly what left the critical pod pending in this incident, since the scheduler had no priority signal telling it which pod to evict. This differentiated priority assignment is essential for guaranteeing capacity to a cluster's most important workloads under contention.
5 / 5
During a PR review, a teammate asks why the team assigns an explicit PriorityClass to its critical services instead of relying solely on generous resource requests to guarantee they get scheduled. What is the reasoning?
A generous resource request only reserves capacity if it's actually available at scheduling time, but does nothing to reclaim capacity from an already-running lower-value pod once the cluster is full. A PriorityClass lets the scheduler preempt that lower-priority pod to make room, guaranteeing capacity even under genuine contention. The tradeoff is the disruption caused to whatever lower-priority pod ends up evicted, which needs to be an acceptable cost for the workloads assigned that lower priority.