kubernetes-sigs / descheduler

Descheduler for Kubernetes
https://sigs.k8s.io/descheduler
Apache License 2.0
4.36k stars 662 forks source link

TopologySpreadConstraint calculations do not fully respect node selectors, node affinity policy, and/or node taints policy #1204

Closed MarcPow closed 12 months ago

MarcPow commented 1 year ago

descheduler version: 0.27.1 k8s version: v1.26.3 policy: RemovePodsViolatingTopologySpreadConstraint

Simple example: When running in a cluster with both Windows and Linux nodes, if a pod has a single-os node selector, but topologyBalanceNodeFit is false, the introduction of nodes of the other OS will throw off balance computations and introduce additional churn.

a7i commented 12 months ago

Addressed in #1218