-
Notifications
You must be signed in to change notification settings - Fork 39.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
kubectl drain does not attempt to wait for any rescheduling #31487
Comments
@mikekap isn't this what Pod Disruption Budget is for? |
/sig cli |
Issues go stale after 90d of inactivity. Prevent issues from auto-closing with an If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or |
Stale issues rot after 30d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Rotten issues close after 30d of inactivity. Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Is this a BUG REPORT or FEATURE REQUEST? (choose one): FEATURE REQUEST
Kubernetes version (use
kubectl version
): 1.3.5Environment:
What happened:
When doing a rolling update of the nodes, I ran into some downtime even though I was carefully draining & restarting machines one at a time. The scenario was:
kubectl drain
didn't notice that the scheduler put an entire replica set on the same node.What you expected to happen:
I believe this is an artifact of resource scarcity - the scheduler normally attempts to distribute replica sets. Fixing this in the scheduler would perhaps be a lot harder since the scheduler would need to relocate the pod when the new node comes online.
Instead it would be nice if
kubectl drain
maintained an invariant like "at least one pod in each replica set that has at least 2 pods needs to be alive at any time".How to reproduce it (as minimally and precisely as possible): Try instructions above with only 2 nodes.
Anything else do we need to know:
The text was updated successfully, but these errors were encountered: