Enhancement Description
StatefulSet rollouts can be blocked when a Pod in the set is unavailable because its Node is shutting down, unreachable, or undergoing maintenance. StatefulSets preserve stable Pod identity and ordered rollout
semantics. The controller cannot create a replacement Pod with the same identity while the old Pod still exists.
This means a single Pod stuck on a Node affected by lifecycle activity can halt rollout progress. Users and rollout tooling may only see that the StatefulSet is waiting for Pods to become ready, without knowing whether the blocker is caused by the new revision, storage attachment, scheduling, or intentional Node maintenance.
Node lifecycle conditions give the StatefulSet controller and users shared context for this blocked state. The condition MaintenanceInProgress can explain when a specific StatefulSet Pod is unavailable because the Node is being lifecycled.
The KEP will define how StatefulSet status reports Pods affected by Node lifecycle context.
- One-line enhancement description (can be used as a release note): Make StatefulSet rollout status aware of Node lifecycle state.
- Kubernetes Enhancement Proposal: TBD
- Discussion Link:
- PRs by stage and milestone:
Please keep this description up to date. This will help the Enhancement Team to track the evolution of the enhancement efficiently.
/sig apps
/sig node
/wg node-lifecycle
Enhancement Description
StatefulSet rollouts can be blocked when a Pod in the set is unavailable because its Node is shutting down, unreachable, or undergoing maintenance. StatefulSets preserve stable Pod identity and ordered rollout
semantics. The controller cannot create a replacement Pod with the same identity while the old Pod still exists.
This means a single Pod stuck on a Node affected by lifecycle activity can halt rollout progress. Users and rollout tooling may only see that the StatefulSet is waiting for Pods to become ready, without knowing whether the blocker is caused by the new revision, storage attachment, scheduling, or intentional Node maintenance.
Node lifecycle conditions give the StatefulSet controller and users shared context for this blocked state. The condition
MaintenanceInProgresscan explain when a specific StatefulSet Pod is unavailable because the Node is being lifecycled.The KEP will define how StatefulSet status reports Pods affected by Node lifecycle context.
k/enhancements) update PR(s):k/k) update PR(s):k/website) update PR(s):Please keep this description up to date. This will help the Enhancement Team to track the evolution of the enhancement efficiently.
/sig apps
/sig node
/wg node-lifecycle