Pod Disruption Budget eviction order appears non‑deterministic during node drain
0 reputation · 23 Jun 2025, 07:36 UTC
When draining a node, the Kubernetes control plane evicts pods to honor Pod Disruption Budgets (PDBs). The goal is to verify whether the eviction sequence across multiple overlapping PDBs is deterministic enough to never temporarily violate a PDB’s minimum‑available count.
Current documentation notes that the kube‑controller‑manager may evict pods from different PDBs in an unpredictable order, which can lead to a brief window where the allowed number of disruptions is exceeded. It remains unclear whether this non‑determinism is an intentional design choice, a limitation of the current implementation, or a configurable aspect that could be tuned via feature gates or controller‑manager flags.
What factors influence the eviction ordering during a node drain? Is there a way to enforce a deterministic order that guarantees PDB compliance throughout the drain process? Does the behavior vary between Kubernetes releases or depend on specific controller‑manager settings?