Back to all scenarios
Scenario #413
Scaling & Load
Kubernetes v1.26, AKS

StatefulSet Didn't Scale Due to PodDisruptionBudget

StatefulSet couldn’t scale-in during node pressure due to a restrictive PDB.

Find this helpful?
What Happened

Nodes under memory pressure tried to evict pods, but eviction was blocked.

Diagnosis Steps
  • 1Checked kubectl describe pdb and kubectl get evictions.
  • 2Events showed "Cannot evict pod as it would violate PDB".
Root Cause

PDB defined minAvailable: 100%, preventing any disruption.

Fix/Workaround
• Adjusted PDB to tolerate one pod disruption.
Lessons Learned

Aggressive PDBs block both scaling and upgrades.

How to Avoid
  • 1Use realistic minAvailable or maxUnavailable settings.
  • 2Review PDB behavior in test scaling operations.