Skip to content
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

Add ability to optimise for Zonal Distribution #368

Closed
Stono opened this issue Aug 8, 2020 · 4 comments
Closed

Add ability to optimise for Zonal Distribution #368

Stono opened this issue Aug 8, 2020 · 4 comments
Labels
kind/feature Categorizes issue or PR as related to a new feature. triage/duplicate Indicates an issue is a duplicate of other open issue.

Comments

@Stono
Copy link

Stono commented Aug 8, 2020

Describe the solution you'd like
We like to ensure that there is a loosely even distribution of pods across all zones within our cluster. Whilst our scheduler is configured to do best endeavours spread, we need something to continually monitor the situation and nudge pods accordingly when the imbalance is less than suitable.

Describe alternatives you've considered
At the moment we alert on the situation, and then use some automated handling of that alert to "deschedule" a pod, see: https://twitter.com/karlstoney/status/1292158531005829128.

It feels like the perfect fit for this project however.

Also we are aware in 1.18 brings beta PodTopologicalConstraints, but that's a way away for us using it in Production.

@Stono Stono added the kind/feature Categorizes issue or PR as related to a new feature. label Aug 8, 2020
@seanmalloy
Copy link
Member

@Stono thanks for opening this issue. This looks like a duplicate of #146. I suggest we close out this issue and move any further discussions to #146.

The proposed API for implementing this in the descheduler is in this comment. Unfortunately, the proposed descheduler implementation will rely on the TopologySpreadConstraint k8s feature. So this would require running a version of k8s with the TopologySpreadConstraint feature enabled.

Also, note that the TopologySpreadConstraint kube-scheduler feature will be promoted to GA in k8s 1.19.

/label triage/duplicate

@damemi @ingvagabund @lixiang233 please feel free to add any additional thoughts you might have.

@k8s-ci-robot
Copy link
Contributor

@seanmalloy: The label(s) `/label triage/duplicate

cannot be applied. These labels are supported:api-review, community/discussion, community/maintenance, community/question, cuj/build-train-deploy, cuj/multi-user, platform/aws, platform/azure, platform/gcp, platform/minikube, platform/other, tide/merge-method-merge, tide/merge-method-rebase, tide/merge-method-squash`

In response to this:

@Stono thanks for opening this issue. This looks like a duplicate of #146. I suggest we close out this issue and move any further discussions to #146.

The proposed API for implementing this in the descheduler is in this comment. Unfortunately, the proposed descheduler implementation will rely on the TopologySpreadConstraint k8s feature. So this would require running a version of k8s with the TopologySpreadConstraint feature enabled.

Also, note that the TopologySpreadConstraint kube-scheduler feature will be promoted to GA in k8s 1.19.

/label triage/duplicate

@damemi @ingvagabund @lixiang233 please feel free to add any additional thoughts you might have.

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.

@seanmalloy
Copy link
Member

/triage duplicate

@k8s-ci-robot k8s-ci-robot added the triage/duplicate Indicates an issue is a duplicate of other open issue. label Aug 11, 2020
@Stono
Copy link
Author

Stono commented Aug 11, 2020

That sounds reasonable to me :) I was hunting something pre-topological constraints but admit that's a tall ask.
Thanks for the response!

@Stono Stono closed this as completed Aug 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. triage/duplicate Indicates an issue is a duplicate of other open issue.
Projects
None yet
Development

No branches or pull requests

3 participants