KEP-5683keps/sig-node/5683-lifecycle-conditions
Node Lifecycle Conditions
Kubernetes has several independent components that need to understand a Node's lifecycle state to contextualize workload availability. Today, that state is inferred from a mix of Node readiness, taints, Pod state, controller status, labels, annotations, and provider-specific APIs. These signals are useful for their individual purposes, but they do not provid… Full summary
Kubernetes has several independent components that need to understand a Node's lifecycle state to contextualize workload availability. Today, that state is inferred from a mix of Node readiness, taints, Pod state, controller status, labels, annotations, and provider-specific APIs. These signals are useful for their individual purposes, but they do not provide a shared Kubernetes-owned place for an admin to publish lifecycle state on the Node. This KEP introduces well-known "lifecycle conditions" to Nodes. These conditions provide an observable lifecycle signal that core controllers and ecosystem tooling can consume without each building its own interpretation of Node, Pod, and controller state. The pattern follows KEP-5394, which introduces well-known Node conditions as an observable signal and then updates core behavior to react to those condition values. The first version is intentionally narrow. It does not define a general node maintenance protocol. It establishes the pattern: a well-known condition consumable on the Node, providing a foundation for future work. The second alpha introduces kubectl drain as the first in-tree writer of DrainInProgress and Drained, establishing how a lifecycle tool publishes these observations without changing drain behavior.
Facts
- Authors
- @rthallisey
- Approvers
- @mrunalp@johnbelamaric
- PRR approvers
- @soltyshalpha
- Tracking issue
- #5683(opens GitHub in a new tab) openmilestone v1.38sig/nodestage/alphatracked/yeslead-opted-inwg/node-lifecycle
- Milestones
- alpha v1.38
- Feature gates
- NodeLifecycleConditions
- Created / last updated
- 2026-06-04 / none