Node load distribution module (shturval-descheduler)
Раздел «Cluster administrator»: быстрый переход по подразделам
About the service
| Parameter | Description |
|---|---|
| GUI name | Node Load Sharing Module |
| System name (identifier) | shturval-descheduler |
| Cluster Assignment | Redistribute pods between nodes to more evenly load and enforce policies (for example, removing pods from overloaded or underutilized nodes). |
| Critical | No |
| Public repository | Descheduler |
| Dependencies | shturval-networking |
| Namespace | kube-system |
Purpose
shturval-descheduler is a node load balancing module based on Kubernetes Descheduler. Analyzes the cluster and determines pods that should be moved to other nodes for better utilization of resources and compliance with scheduling rules; evicts and redevelops pods. If you need to redefine chart parameters, apply the changes via ShturvalServicePatch.
Where to configure
Services and Repositories → Installed Services → find Node Load Balancing Module (shturval-descheduler) → Manage. If the module is not displayed - Available charts → chart shturval-descheduler → Install.
Configuration parameters (customvalues)
| Parameter | Description | Example |
|---|---|---|
resources.requests.cpu / resources.requests.memory | Requested Resources | 500m/256Mi |
resources.limits.cpu / resources.limits.memory | Resource Limits | 100m/128Mi |
deschedulingInterval | Interval between descheduler runs | 5m |
Strategies (deschedulerPolicy.strategies)
| Strategy | Description |
|---|---|
RemoveDuplicates.enabled | Removing duplicate pods (placing them on different nodes) |
RemovePodsHavingTooManyRestarts.enabled | Removing pods with frequent restarts (the threshold is set in the parameters) |
RemovePodsViolatingNodeTaints.enabled | Removing pods that violate taints of nodes |
RemovePodsViolatingNodeAffinity.enabled | Removing pods that violate node affinity |
RemovePodsViolatingInterPodAntiAffinity.enabled | Removing pods that violate inter-pod anti-affinity |
RemovePodsViolatingTopologySpreadConstraint.enabled | Removing pods that violate topology spread |
LowNodeUtilization.enabled | Evacuation of pods from nodes with low utilization (CPU/memory/pods thresholds are configurable) |
More details: Kubernetes Scheduler, Descheduler.
How to deploy this service - How to deploy a new service.