Closed andyr8939 closed 9 months ago
hi, we have nodeSelector feature for it, please check Evictor Plugin configuration
Thanks, I tried that but it still doesn't work. If I put it like this in the helm values
deschedulerPolicy: nodeSelector: "kubernetes.io/os=windows"
Then nothing happens. If however I change that to
deschedulerPolicy: nodeSelector: "kubernetes.io/os=linux"
Then it will happily process all linux workloads the same as if I didn't specify it. So it appears to not process any workloads that are running on a Windows nodepool. For reference I am using Azure Kubernetes Service on 1.25.6 with Windows 2022 as the OS SKU for the nodepool.
OK I done some more digging and I backtrack, it can process them as I created a new workload and it picks it up fine, Its just something with my existing workloads that it seems to not attempting to process them. I'll close this for now.
What version of descheduler are you using?
descheduler version: v0.28.0
Does this issue reproduce with the latest release?
Yes
Which descheduler CLI options are you using?
Deployed with helm.
Please provide a copy of your descheduler policy config file
Using standard helm values but running as deployment and with pod topology spread as the check.
What k8s version are you using (
kubectl version
)?kubectl version
OutputWhat did you do?
Deployed with helm chart and descheduler deploys.
What did you expect to see?
Linux and Windows node workloads getting re-scheduled.
What did you see instead?
Only workloads on the linux nodepools are getting scanned and re-scheduled. Nothing on any windows node is being touched despite them breaking pod topology spread constraints.