Skip to content

Commit 4882241

Browse files
authored
Merge pull request #46888 from bergerhoffer/OSDOCS-3678
OSDOCS-3678: Adding docs for specifying a threshold priority for the …
2 parents ae1f79a + 2aae5c3 commit 4882241

File tree

2 files changed

+37
-7
lines changed

2 files changed

+37
-7
lines changed

modules/nodes-descheduler-configuring-profiles.adoc

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,17 +36,23 @@ spec:
3636
managementState: Managed
3737
operatorLogLevel: Normal
3838
profileCustomizations:
39-
podLifetime: 48h <1>
40-
profiles: <2>
39+
namespaces: <1>
40+
excluded:
41+
- my-namespace
42+
podLifetime: 48h <2>
43+
thresholdPriorityClassName: my-priority-class-name <3>
44+
profiles: <4>
4145
- AffinityAndTaints
42-
- TopologyAndDuplicates <3>
46+
- TopologyAndDuplicates <5>
4347
- LifecycleAndUtilization
4448
- EvictPodsWithLocalStorage
4549
- EvictPodsWithPVC
4650
----
47-
<1> 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.
48-
<2> Add one or more profiles to enable. Available profiles: `AffinityAndTaints`, `TopologyAndDuplicates`, `LifecycleAndUtilization`, `SoftTopologyAndDuplicates`, `EvictPodsWithLocalStorage`, and `EvictPodsWithPVC`.
49-
<3> Do not enable both `TopologyAndDuplicates` and `SoftTopologyAndDuplicates`. Enabling both results in a conflict.
51+
<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 always excluded.
52+
<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.
53+
<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`.
54+
<4> Add one or more profiles to enable. Available profiles: `AffinityAndTaints`, `TopologyAndDuplicates`, `LifecycleAndUtilization`, `SoftTopologyAndDuplicates`, `EvictPodsWithLocalStorage`, and `EvictPodsWithPVC`.
55+
<5> Do not enable both `TopologyAndDuplicates` and `SoftTopologyAndDuplicates`. Enabling both results in a conflict.
5056
+
5157
You can enable multiple profiles; the order that the profiles are specified in is not important.
5258

modules/nodes-descheduler-installing.adoc

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,31 @@ ifdef::nodes[]
6464
====
6565
Do not enable both `TopologyAndDuplicates` and `SoftTopologyAndDuplicates`. Enabling both results in a conflict.
6666
====
67-
... Optional: Expand the *Profile Customizations* section to set a custom pod lifetime value for the `LifecycleAndUtilization` profile. Valid units are `s`, `m`, or `h`. The default pod lifetime is 24 hours.
67+
... Optional: Expand the *Profile Customizations* section to set optional configurations for the descheduler.
68+
**** Set a custom pod lifetime value for the `LifecycleAndUtilization` profile. Use the *podLifetime* field to set a numerical value and a valid unit (`s`, `m`, or `h`). The default pod lifetime is 24 hours (`24h`).
69+
70+
**** Set a custom priority threshold to consider pods for eviction only if their priority is lower than a specified priority level. Use the *thresholdPriority* field to set a numerical priority threshold or use the *thresholdPriorityClassName* field to specify a certain priority class name.
71+
+
72+
[NOTE]
73+
====
74+
Do not specify both *thresholdPriority* and *thresholdPriorityClassName* for the descheduler.
75+
====
76+
77+
**** Set specific namespaces to exclude or include from descheduler operations. Expand the *namespaces* field and add namespaces to the *excluded* or *included* list. You can only either set a list of namespaces to exclude or a list of namespaces to include.
78+
79+
**** Experimental: Set thresholds for underutilization and overutilization for the `LowNodeUtilization` strategy. Use the *devLowNodeUtilizationThresholds* field to set one of the following values:
80+
+
81+
--
82+
***** `Low`: 10% underutilized and 30% overutilized
83+
***** `Medium`: 20% underutilized and 50% overutilized (Default)
84+
***** `High`: 40% underutilized and 70% overutilized
85+
--
86+
+
87+
[NOTE]
88+
====
89+
This setting is experimental and should not be used in a production environment.
90+
====
91+
6892
... Optional: Use the *Descheduling Interval Seconds* field to change the number of seconds between descheduler runs. The default is `3600` seconds.
6993
.. Click *Create*.
7094

0 commit comments

Comments
 (0)