Node load distribution module (shturval-descheduler)

About the service

ParameterDescription
GUI nameNode Load Sharing Module
System name (identifier)shturval-descheduler
Cluster AssignmentRedistribute pods between nodes to more evenly load and enforce policies (for example, removing pods from overloaded or underutilized nodes).
CriticalNo
Public repositoryDescheduler
Dependenciesshturval-networking
Namespacekube-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)

ParameterDescriptionExample
resources.requests.cpu / resources.requests.memoryRequested Resources500m/256Mi
resources.limits.cpu / resources.limits.memoryResource Limits100m/128Mi
deschedulingIntervalInterval between descheduler runs5m

Strategies (deschedulerPolicy.strategies)

StrategyDescription
RemoveDuplicates.enabledRemoving duplicate pods (placing them on different nodes)
RemovePodsHavingTooManyRestarts.enabledRemoving pods with frequent restarts (the threshold is set in the parameters)
RemovePodsViolatingNodeTaints.enabledRemoving pods that violate taints of nodes
RemovePodsViolatingNodeAffinity.enabledRemoving pods that violate node affinity
RemovePodsViolatingInterPodAntiAffinity.enabledRemoving pods that violate inter-pod anti-affinity
RemovePodsViolatingTopologySpreadConstraint.enabledRemoving pods that violate topology spread
LowNodeUtilization.enabledEvacuation 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.