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
Copy file name to clipboardExpand all lines: README.md
+6-1Lines changed: 6 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -162,6 +162,7 @@ The Default Evictor Plugin is used by default for filtering pods before processi
162
162
|`minReplicas`|`uint`|`0`| ignore eviction of pods where owner (e.g. `ReplicaSet`) replicas is below this threshold |
163
163
|`minPodAge`|`metav1.Duration`|`0`| ignore eviction of pods with a creation time within this threshold |
164
164
|`ignorePodsWithoutPDB`|`bool`|`false`| set whether pods without PodDisruptionBudget should be evicted or ignored |
165
+
|`noEvictionPolicy`|`enum`|``| sets whether a `descheduler.alpha.kubernetes.io/prefer-no-eviction` pod annotation is considered preferred or mandatory. Accepted values: "", "Preferred", "Mandatory". Defaults to "Preferred". |
165
166
166
167
### Example policy
167
168
@@ -1013,12 +1014,16 @@ never evicted because these pods won't be recreated. (Standalone pods in failed
1013
1014
* Pods with PVCs are evicted (unless `ignorePvcPods: true` is set).
1014
1015
* In `LowNodeUtilization` and `RemovePodsViolatingInterPodAntiAffinity`, pods are evicted by their priority from low to high, and if they have same priority,
1015
1016
best effort pods are evicted before burstable and guaranteed pods.
1016
-
* All types of pods with the annotation `descheduler.alpha.kubernetes.io/evict` are eligible for eviction. This
1017
+
* All types of pods with the `descheduler.alpha.kubernetes.io/evict` annotation are eligible for eviction. This
1017
1018
annotation is used to override checks which prevent eviction and users can select which pod is evicted.
1018
1019
Users should know how and if the pod will be recreated.
1019
1020
The annotation only affects internal descheduler checks.
1020
1021
The anti-disruption protection provided by the [/eviction](https://kubernetes.io/docs/concepts/scheduling-eviction/api-eviction/)
1021
1022
subresource is still respected.
1023
+
* Pods with the `descheduler.alpha.kubernetes.io/prefer-no-eviction` annotation voice their preference not to be evicted.
1024
+
Each plugin decides whether the annotation gets respected or not. When the `DefaultEvictor` plugin sets `noEvictionPolicy`
1025
+
to `Mandatory` all such pods are excluded from eviction. Needs to be used with caution as some plugins may enfore
1026
+
various policies that are expected to be always met.
1022
1027
* Pods with a non-nil DeletionTimestamp are not evicted by default.
1023
1028
1024
1029
Setting `--v=4` or greater on the Descheduler will log all reasons why any pod is not evictable.
0 commit comments