-
Notifications
You must be signed in to change notification settings - Fork 669
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
Sorting pods before evicting may be helpful #294
Comments
/kind enhancement |
@seanmalloy: The label(s) In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/kind feature |
Strategies like On the other hand, you don't always want to iterate through all the nodes and then start evicting. E.g. going through 5000 nodes will take longer with the constraint enforced in case there's many pods to be bound to obedience before the maximum number of evictions get reached. Introducing new configuration option will do the trick. With that we might also introduce another configuration saying how many nodes the descheduler should iterate through. Scheduler has concept of nextStartNodeIndex which we might exercise. |
Thanks @ingvagabund ! My initial thought was sorting pods only in |
@lixiang233 can we close this issue since #322 has been merged? Looking at the discussion I don't think we want to implement this for |
@seanmalloy Yes, I'm not sure if we really need this in |
@lixiang233 thanks! /close |
@seanmalloy: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
In README, the
Pod Evictions
chapter writesBest efforts pods are evicted before burstable and guaranteed pods
. But I notice that onlyLowNodeUtilization
implements it. I guess that's probably because sorting pods does not affect whether pods are evicted in other strategies. I think sorting pods before evicting may be helpful because we can evict high priority pods first to give them higher possibility of being perfertly scheduled.Here I devide all these 7 strategies into two types:
single-pod-related-strategies
andmulti-pods-related-strategies
. Insingle-pod-related-strategies
, pods will always be evicted if they violate the policies, so we should evict high priority pods first to give them higher possibility of being perfertly scheduled. But inmulti-pods-related-strategies
, pods may not need to be evicted if some other pods on the same node have been evicted, so here we should evict low priority pods first to try to avoid evicting high priority pods.single-pod-related-strategies
includes:RemoveDuplicates
RemovePodsViolatingNodeAffinity
RemovePodsViolatingNodeTaints
RemovePodsHavingTooManyRestarts
PodLifeTime
multi-pods-related-strategies
includes:LowNodeUtilization
RemovePodsViolatingInterPodAntiAffinity
.Sorting pods in
single-pod-related-strategies
may be optional, but I think at least inmulti-pods-related-strategies
we should sort them by their priority before eviction starts.The text was updated successfully, but these errors were encountered: