CertGrid CertGrid
Troubleshooting·Certified Kubernetes Administrator

PodDisruptionBudgets and Node Drain

ALLOWED DISRUPTIONS 0 and a drain that retries every five seconds forever: Cannot evict pod as it would violate the pod's disruption budget. minAvailable 3 with 3 replicas permits nothing, and the arithmetic is the whole guide.

Scheduling and Placement Guide 45 of 103 Advanced

Four nodes, three of them schedulable, so three replicas land one per node. cka2001 also has three nodes and is the wrong choice - see the note in step 1.
Server NameIP AddressOSRolesCPURAMHDD
CKA1001192.168.0.175Ubuntu 26.04 LTSControl Plane Node2 Core4 GB50 GB
CKA1001-NODE01192.168.0.176Ubuntu 26.04 LTSWorker Node (the one being drained)2 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

This guide includes

Use this when a drain hangs forever repeating Cannot evict pod. This matters because the PodDisruptionBudget is doing exactly its job - protecting availability - so the fix is a deliberate decision about acceptable disruption rather than a --force.

Before you start

  1. Three replicas, one per node

  2. A budget that permits nothing

  3. The drain that cannot finish

  4. Loosen it by one

Official sources