Home / Companies / Statsig / Blog / Post Details
Content Deep Dive

Kubernetes PDB: Why we swapped to using maxUnavailable

Blog post from Statsig

Post Details
Company
Date Published
Author
Brent Echols
Word Count
477
Language
English
Hacker News Points
-
Summary

Statsig experienced inefficiencies with their initial Pod Disruption Budget (PDB) setup in Kubernetes, especially for services with fewer than five pods, where the minAvailable setting effectively locked all pods from disruptions, leading to resource waste and blocked updates. This setup was problematic during low traffic periods and time-sensitive updates, such as security patches, because it caused outdated configurations to persist. To address these issues, Statsig switched from using minAvailable to maxUnavailable in their PDB configuration, allowing at least one pod to be disrupted even in smaller deployments. This change improved resource management and deployment velocity by preventing resource waste and facilitating smoother rolling updates. The updated configuration, which specifies maxUnavailable, enables controlled and flexible handling of disruptions and is recommended for teams managing Kubernetes service deployments with variable pod counts.