CertGrid CertGrid
Hands-on Lab·Certified Kubernetes Administrator

PriorityClasses and Preemption

Fill a node with low-priority Pods, then schedule a high-priority one and watch the scheduler delete a running Pod to make room. The evicted Pod's replacement then cannot schedule anywhere, which is the part that surprises people.

Scheduling and Placement Guide 43 of 103 Advanced

Written against the versions above. Preemption deletes running Pods. Everything here is done in a scratch namespace on one pinned node.

Everything is pinned to CKA1001-NODE01 so the node can be filled deliberately.
Server NameIP AddressOSRolesCPURAMHDD
CKA1001192.168.0.175Ubuntu 26.04 LTSControl Plane Node2 Core4 GB50 GB
CKA1001-NODE01192.168.0.176Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB
CKA1001-NODE02192.168.0.177Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB
CKA1001-NODE03192.168.0.178Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB

Before you start

  1. Two classes, and the two that already exist

  2. Fill one node with low-priority work

  3. A high-priority Pod takes the space

Official sources