You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use Boolean logic for descheduler.alpha.kubernetes.io/evict annotation
In all the example and tests descheduler.alpha.kubernetes.io/evict
annotation was used with = true value to force a pod to
be considered evictable regardless of all the other checks.
Surprisingly descheduler.alpha.kubernetes.io/evict=false
was also producing the same effect.
Properly implement Boolean logic so that
descheduler.alpha.kubernetes.io/evict=false can be used
to configure a pod to be ignored by the descheduler
regardless of all the other checks.
Signed-off-by: Simone Tiraboschi <[email protected]>
Copy file name to clipboardExpand all lines: README.md
+4-2Lines changed: 4 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1010,10 +1010,12 @@ never evicted because these pods won't be recreated. (Standalone pods in failed
1010
1010
* Pods with PVCs are evicted (unless `ignorePvcPods: true` is set).
1011
1011
* In `LowNodeUtilization` and `RemovePodsViolatingInterPodAntiAffinity`, pods are evicted by their priority from low to high, and if they have same priority,
1012
1012
best effort pods are evicted before burstable and guaranteed pods.
1013
-
* All types of pods with the annotation `descheduler.alpha.kubernetes.io/evict` are eligible for eviction. This
1014
-
annotation is used to override checks which prevent eviction and users can select which pod is evicted.
1013
+
* `descheduler.alpha.kubernetes.io/evict` annotation can be used to force eviction eligibility.
1014
+
All types of pods with the annotation `descheduler.alpha.kubernetes.io/evict=true` are eligible for eviction.
1015
+
This annotation is used to override checks which prevent eviction and users can select which pod is evicted.
1015
1016
Users should know how and if the pod will be recreated.
1016
1017
The annotation only affects internal descheduler checks.
1018
+
`descheduler.alpha.kubernetes.io/evict=false`will force a pod to be considered not eligible for eviction.
1017
1019
The anti-disruption protection provided by the [/eviction](https://kubernetes.io/docs/concepts/scheduling-eviction/api-eviction/)
1018
1020
subresource is still respected.
1019
1021
* Pods with a non-nil DeletionTimestamp are not evicted by default.
description: "Pod is evicted because it is bound to a PV and evictLocalStoragePods = false, but it has scheduler.alpha.kubernetes.io/evict annotation",
485
+
description: "Pod is evicted because it is bound to a PV and evictLocalStoragePods = false, but it has descheduler.alpha.kubernetes.io/evict=true annotation",
description: "Pod is evicted because it has a priority higher than the configured priority threshold, but it has scheduler.alpha.kubernetes.io/evict annotation",
591
+
description: "Pod is evicted because it has a priority higher than the configured priority threshold, but it has descheduler.alpha.kubernetes.io/evict=true annotation",
description: "Pod is evicted because it has system critical priority, but evictSystemCriticalPods = true and it has scheduler.alpha.kubernetes.io/evict annotation",
616
+
description: "Pod is evicted because it has system critical priority, but evictSystemCriticalPods = true and it has descheduler.alpha.kubernetes.io/evict=true annotation",
description: "Pod is evicted because it has a priority higher than the configured priority threshold, but evictSystemCriticalPods = true and it has scheduler.alpha.kubernetes.io/evict annotation",
641
+
description: "Pod is evicted because it has a priority higher than the configured priority threshold, but evictSystemCriticalPods = true and it has descheduler.alpha.kubernetes.io/evict=true annotation",
0 commit comments