-
Notifications
You must be signed in to change notification settings - Fork 501
Add option to require ready admission checks when selecting worker cluster in MultiKueue #8465
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
base: main
Are you sure you want to change the base?
Add option to require ready admission checks when selecting worker cluster in MultiKueue #8465
Conversation
…efore considering quota reservations in multi kueue
|
✅ Deploy Preview for kubernetes-sigs-kueue ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Welcome @fg91! |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: fg91 The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Hi @fg91. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions 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-sigs/prow repository. |
|
/ok-to-test About the API I have two hesitations:
wdyt? |
|
Thank you for the quick reply!
Will open the KEP PR and I'm happy to change the api after we discussed how best to expose this. |
|
sgtm, it is perfectly reasonable (and encouraged) to start prototyping / implementing along with the design. My comment was just to inform that the KEP update will be required to get merged before merging the actual implementation. |
|
@fg91: The following tests failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. DetailsInstructions 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-sigs/prow repository. I understand the commands that are listed here. |
What type of PR is this?
/kind feature
What this PR does / why we need it:
Multi-kueue currently only considers quota reservations but not admission checks when selecting a worker cluster.
When using Kueue with the
kueue.x-k8s.io/provisioning-requestadmission check, one typically sets very high quotas as only the provisioning request determines whether a workload can be scheduled, see e.g. here:When using such a
ClusterQueuewith "infinite" resource quota but with an admission check in the worker clusters of MultiKueue, the current behaviour is that all worker clusters immediately grant a quota reservation and the first one to do so is picked as the one running the workload. The provisioning request is immediately deleted in all other worker clusters.This behaviour can be undesirable because the picked cluster might not be the one that would have granted the provisioning request first.
In this PR I'm introducing a new MultiKueue config flag that enables exactly this behaviour:
By default, the new feature is disabled, hence fully backwards compatible. If enabled, not only the quota reservation but also the admission checks are evaluated when picking a worker cluster. This way, with the
AllAtOncestrategy, the provisioning request is kept in all worker clusters until one of them provisions the provisioning request.Special notes for your reviewer:
Does this PR introduce a user-facing change?
Yes, there is a new feature flag
multiKueue.requireAllAdmissionChecksReadyusers can enable. By default, there is no change in behaviour.-->