Skip to content

Commit d7ff1c7

Browse files
Merge pull request #112623 from danielclowers/worktree-OSDOCS-17325
OSDOCS-17325: Update descheduler profile default to PrometheusCPUMemoryCombinedProfile
2 parents 41a917e + 650e1bc commit d7ff1c7

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

modules/nodes-descheduler-profiles.adoc

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,15 @@ The `KubeVirtRelieveAndMigrate` profile evicts pods from high-cost nodes to redu
111111
* **Node maintenance**: A higher number of containers on a node increases resource consumption and maintenance costs.
112112
--
113113
+
114-
The profile enables the `LowNodeUtilization` strategy with the `EvictionsInBackground` alpha feature. The profile also exposes the following customization fields:
114+
The profile enables the `LowNodeUtilization` strategy with the alpha-level `EvictionsInBackground` feature. By default, the profile uses the `PrometheusCPUMemoryCombinedProfile` utilization metric. This metric combines CPU and memory utilization with pressure stall information (PSI) for both dimensions for comprehensive node load balancing.
115+
+
116+
The profile also exposes the following customization fields:
115117
+
116118
--
117-
* `devActualUtilizationProfile`: Enables load-aware descheduling.
119+
* `devActualUtilizationProfile`: Enables load-aware descheduling. You can configure the following utilization profiles:
120+
+
121+
** `PrometheusCPUMemoryCombinedProfile` (default): Balances nodes based on CPU utilization, CPU PSI pressure, memory utilization, and memory PSI pressure. This profile is ideal for environments with memory overcommit enabled, as it spreads the load and prevents resource contention.
122+
** `PrometheusCPUCombined`: Balances nodes based on CPU utilization and CPU PSI pressure only. Use this profile in environments without memory overcommit, where memory allocations are strictly guaranteed and CPU pressure is the primary driver for workload distribution.
118123
* `devLowNodeUtilizationThresholds`: Sets experimental thresholds for the `LowNodeUtilization` strategy. Do not use this field with `devDeviationThresholds`.
119124
* `devDeviationThresholds`: Treats nodes with below-average resource usage as underutilized to help redistribute workloads from overutilized nodes. Do not use this field with `devLowNodeUtilizationThresholds`. Supported values are: `Low` (10%:10%), `Medium` (20%:20%), `High` (30%:30%), `AsymmetricLow` (0%:10%), `AsymmetricMedium` (0%:20%), `AsymmetricHigh` (0%:30%).
120125
* `devEnableSoftTainter`: Enables the soft-tainting component to dynamically apply or remove soft taints as scheduling hints.
@@ -137,7 +142,7 @@ spec:
137142
profileCustomizations:
138143
devEnableSoftTainter: true
139144
devDeviationThresholds: AsymmetricLow
140-
devActualUtilizationProfile: PrometheusCPUCombined
145+
devActualUtilizationProfile: PrometheusCPUMemoryCombinedProfile
141146
----
142147
+
143148
The `KubeVirtRelieveAndMigrate` profile requires PSI metrics to be enabled on all worker nodes. You can enable this by applying the following `MachineConfig` custom resource (CR):

0 commit comments

Comments
 (0)