Enhancement Description
Cordons and taints express scheduling or eviction policy, but they do not reliably report whether a Node is being drained or whether the selected drain criteria have been met. Users and controllers must infer progress from Pods and other indirect signals, and that inference varies among drain implementations.
Enhance kubectl drain to publish its progress through the well-known Node lifecycle conditions. When a drain starts, kubectl drain will set
DrainInProgress=True. When the command's selected drain criteria have been met, it will set Drained=True. The administrator remains responsible for clearing the lifecycle state.
The KEP will define condition transitions and behavior for interrupted, failed, and repeated drain operations so observers receive a consistent signal without changing the drain criteria selected by the user.
- One-line enhancement description (can be used as a release note): Expose
kubectl drain progress through Node conditions.
- 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 cli
/sig node
/wg node-lifecycle
Enhancement Description
Cordons and taints express scheduling or eviction policy, but they do not reliably report whether a Node is being drained or whether the selected drain criteria have been met. Users and controllers must infer progress from Pods and other indirect signals, and that inference varies among drain implementations.
Enhance
kubectl drainto publish its progress through the well-known Node lifecycle conditions. When a drain starts,kubectl drainwill setDrainInProgress=True. When the command's selected drain criteria have been met, it will setDrained=True. The administrator remains responsible for clearing the lifecycle state.The KEP will define condition transitions and behavior for interrupted, failed, and repeated drain operations so observers receive a consistent signal without changing the drain criteria selected by the user.
kubectl drainprogress through Node conditions.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 cli
/sig node
/wg node-lifecycle