Enhancement Description
During a DaemonSet rollout, a broken Node or a Node undergoing maintenance can remain unavailable for reasons unrelated to the new DaemonSet revision. That Node can consume the rollout's availability budget indefinitely, preventing or slowing the controller from progressing the rollout on healthy Nodes.
DaemonSet status reports aggregate availability but does not explain when Pods are unavailable because their Nodes are shutting down or undergoing maintenance. Users and rollout tooling therefore cannot distinguish a broken rollout from intentional Node lifecycle activity, which can produce misleading alerts and availability reporting.
The DaemonSet controller will use Node lifecycle conditions as context for rollout behavior and status. MaintenanceInProgress will inform rollout
progress and placement, while GracefulNodeShutdownInProgress and MaintenanceInProgress will provide lifecycle attribution in DaemonSet status. The KEP will describe rollout ordering and address availability accounting when nodes are affected by lifecycle states.
This KEP assumes that MaintenanceInProgress will be set externally.
- One-line enhancement description (can be used as a release note): Make DaemonSet rollouts and 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
During a DaemonSet rollout, a broken Node or a Node undergoing maintenance can remain unavailable for reasons unrelated to the new DaemonSet revision. That Node can consume the rollout's availability budget indefinitely, preventing or slowing the controller from progressing the rollout on healthy Nodes.
DaemonSet status reports aggregate availability but does not explain when Pods are unavailable because their Nodes are shutting down or undergoing maintenance. Users and rollout tooling therefore cannot distinguish a broken rollout from intentional Node lifecycle activity, which can produce misleading alerts and availability reporting.
The DaemonSet controller will use Node lifecycle conditions as context for rollout behavior and status.
MaintenanceInProgresswill inform rolloutprogress and placement, while
GracefulNodeShutdownInProgressandMaintenanceInProgresswill provide lifecycle attribution in DaemonSet status. The KEP will describe rollout ordering and address availability accounting when nodes are affected by lifecycle states.This KEP assumes that
MaintenanceInProgresswill be set externally.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