-
Notifications
You must be signed in to change notification settings - Fork 724
Can't use descheduler.alpha.kubernetes.io/evict=false to disable evicton #1659
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
Comments
Hello @kreeuwijk. Thank you for opening this issue. Historically,
There are three possible cases for the annotation if extended that way:
Which is not compatible with your use cases.
Would you please elaborate more on this? There are other ways to tell the descheduler to focus on particular pods. E.g. specifying a label selector or a list of included/excluded namespace. Have you explored this option? |
Here's an example of a VM preference:
When you then create a VM, you can link to this VM preference by setting:
in the There is however one issue, that is when the VM preference is used, but the user wants to override the descheduler option and prevent the descheduler from managing this VM. There is no way to remove an annotation coming from a VM preference, but you can override the value of an annotation. |
What's the motivation for using the |
I tried omitting it, but when the annotation doesn't exist on a |
Is there a specific log line that rejects eviction of the VM object? If you run the descheduler with a log level 4 you should see log lines starting with Pod fails the following checks. |
From https://kubevirt.io/user-guide/compute/node_assignment/#node-balancing-with-descheduler:
This is why the annotation is necessary to get the descheduler to process VMs at all. |
Is your feature request related to a problem? Please describe.
We use VirtualMachine preferences in Kubevirt to default the use of the descheduler for any VMs using the those presets, by setting the
descheduler.alpha.kubernetes.io/evict: 'true'
annotation. But this makes it difficult to turn off the descheduler for specific VMs, as the descheduler actually accepts any value for the annotation. Overriding the annotation from the preset through the VM YAML is only possible if you specify an alternate value.Describe the solution you'd like
I would like to be able to set the annotation
and have the descheduler treat that pod as if no annotation was set on it.
Describe alternatives you've considered
The only other options that worked were:
What version of descheduler are you using?
descheduler version: 0.32.2
Additional context
N/A
The text was updated successfully, but these errors were encountered: