Skip to content

Commit 8bf5edc

Browse files
committed
updates to descheduler spec
1 parent 14d53cb commit 8bf5edc

File tree

2 files changed

+17
-12
lines changed

2 files changed

+17
-12
lines changed

modules/nodes-descheduler-configuring-profiles.adoc

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -35,32 +35,35 @@ spec:
3535
logLevel: Normal
3636
managementState: Managed
3737
operatorLogLevel: Normal
38+
mode: Predictive <1>
3839
profileCustomizations:
39-
namespaces: <1>
40+
namespaces: <2>
4041
excluded:
4142
- my-namespace
42-
podLifetime: 48h <2>
43-
thresholdPriorityClassName: my-priority-class-name <3>
44-
profiles: <4>
43+
podLifetime: 48h <3>
44+
thresholdPriorityClassName: my-priority-class-name <4>
45+
profiles: <5>
4546
- AffinityAndTaints
46-
- TopologyAndDuplicates <5>
47+
- TopologyAndDuplicates <6>
4748
- LifecycleAndUtilization
4849
- EvictPodsWithLocalStorage
4950
- EvictPodsWithPVC
5051
----
52+
+
5153
--
52-
<1> Optional: Set a list of user-created namespaces to include or exclude from descheduler operations. Use `excluded` to set a list of namespaces to exclude or use `included` to set a list of namespaces to include. Note that protected namespaces (`openshift-*`, `kube-system`, `hypershift`) are excluded by default.
54+
<1> Optional: By default, the descheduler does not evict pods. To evict pods, set `mode` to `Automatic`.
55+
<2> Optional: Set a list of user-created namespaces to include or exclude from descheduler operations. Use `excluded` to set a list of namespaces to exclude or use `included` to set a list of namespaces to include. Note that protected namespaces (`openshift-*`, `kube-system`, `hypershift`) are excluded by default.
5356
+
5457
[IMPORTANT]
5558
====
5659
The `LowNodeUtilization` strategy does not support namespace exclusion. If the `LifecycleAndUtilization` profile is set, which enables the `LowNodeUtilization` strategy, then no namespaces are excluded, even the protected namespaces. To avoid evictions from the protected namespaces while the `LowNodeUtilization` strategy is enabled, set the priority class name to `system-cluster-critical` or `system-node-critical`.
5760
====
58-
<2> Optional: Enable a custom pod lifetime value for the `LifecycleAndUtilization` profile. Valid units are `s`, `m`, or `h`. The default pod lifetime is 24 hours.
59-
<3> Optional: Specify a priority threshold to consider pods for eviction only if their priority is lower than the specified level. Use the `thresholdPriority` field to set a numerical priority threshold (for example, `10000`) or use the `thresholdPriorityClassName` field to specify a certain priority class name (for example, `my-priority-class-name`). If you specify a priority class name, it must already exist or the descheduler will throw an error. Do not set both `thresholdPriority` and `thresholdPriorityClassName`.
60-
<4> Add one or more profiles to enable. Available profiles: `AffinityAndTaints`, `TopologyAndDuplicates`, `LifecycleAndUtilization`, `SoftTopologyAndDuplicates`, `EvictPodsWithLocalStorage`, and `EvictPodsWithPVC`.
61-
<5> Do not enable both `TopologyAndDuplicates` and `SoftTopologyAndDuplicates`. Enabling both results in a conflict.
62-
+
61+
<3> Optional: Enable a custom pod lifetime value for the `LifecycleAndUtilization` profile. Valid units are `s`, `m`, or `h`. The default pod lifetime is 24 hours.
62+
<4> Optional: Specify a priority threshold to consider pods for eviction only if their priority is lower than the specified level. Use the `thresholdPriority` field to set a numerical priority threshold (for example, `10000`) or use the `thresholdPriorityClassName` field to specify a certain priority class name (for example, `my-priority-class-name`). If you specify a priority class name, it must already exist or the descheduler will throw an error. Do not set both `thresholdPriority` and `thresholdPriorityClassName`.
63+
<5> Add one or more profiles to enable. Available profiles: `AffinityAndTaints`, `TopologyAndDuplicates`, `LifecycleAndUtilization`, `SoftTopologyAndDuplicates`, `EvictPodsWithLocalStorage`, and `EvictPodsWithPVC`.
64+
<6> Do not enable both `TopologyAndDuplicates` and `SoftTopologyAndDuplicates`. Enabling both results in a conflict.
65+
6366
You can enable multiple profiles; the order that the profiles are specified in is not important.
6467
--
65-
68+
+
6669
. Save the file to apply the changes.

modules/virt-enabling-descheduler-evictions.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ spec:
4141
deschedulingIntervalSeconds: 3600
4242
profiles:
4343
- DevPreviewLongLifecycle
44+
mode: Predictive <1>
4445
----
46+
<1> By default, the descheduler does not evict pods. To evict pods, set `mode` to `Automatic`.
4547

4648
The descheduler is now enabled on the VM.

0 commit comments

Comments
 (0)