[{"data":1,"prerenderedAt":25},["ShallowReactive",2],{"blog-tag-en-poddisruptionbudget":3},[4,16],{"path":5,"title":6,"description":7,"date":8,"tags":9},"\u002Fblog\u002Fen\u002Fk3s-topology-spread-constraints-poddisruptionbudget-node-drain-pending","We Drained a Node and a Pod Never Came Back. Why Topology Spread Constraints and PodDisruptionBudget Collide on K3s","Draining a node in production K3s left a Pod stuck Pending. The cause: Topology Spread Constraints' maxSkew colliding with PodDisruptionBudget. We verify how draining itself creates a node shortage, based on official documentation.","2026-10-19",[10,11,12,13,14,15],"k3s","kubernetes","topology-spread-constraints","poddisruptionbudget","scheduling","node-drain",{"path":17,"title":18,"description":19,"date":20,"tags":21},"\u002Fblog\u002Fen\u002Fk3s-vpa-poddisruptionbudget-mass-eviction","A Resource Optimizer Broke K3s: All Replicas Evicted at Once. PodDisruptionBudget as the Last Line of Defense","A real incident where enabling automated resource optimization on K3s caused all replicas to be evicted simultaneously, triggering a full outage. This post explains why pods get evicted en masse and how PodDisruptionBudget's minAvailable setting prevents it.","2026-09-18",[10,11,13,22,23,24],"eviction","vertical-scaling","resource-optimization",1792592713525]