The module does not have any mandatory parameters.
The module is enabled by default in the following bundles: Default
, Managed
.
The module is disabled by default in the Minimal
bundle.
The module is configured using the ModuleConfig custom resource named descheduler
(learn more about setting up Deckhouse…).
Example of the ModuleConfig/descheduler
resource for configuring the module:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: descheduler
spec:
version: 1
enabled: true
settings: # <-- Module parameters from the "Parameters" section below.
Parameters
Schema version: 1
- highNodeUtilizationboolean
This strategy nodes that are under utilized and evicts pods in the hope that these pods will be scheduled compactly into fewer nodes.
Default:
false
- lowNodeUtilizationboolean
The descheduler finds underutilized nodes and evicts pods from overutilized nodes hoping that these pods will be rescheduled on underutilized ones.
Default:
false
- nodeSelectorobject
The same as the
spec.nodeSelector
pod parameter in Kubernetes.If the parameter is omitted or
false
, it will be determined automatically. - podLifeTimeboolean
This strategy ensures that pods that are Pending for more than 24 hours are deleted from nodes.
Default:
false
- removeDuplicatesboolean
This strategy ensures that only one pod associated with ReplicaSet (RS), ReplicationController (RC), StatefulSet, or Job runs on a node.
Default:
false
- removePodsHavingTooManyRestartsboolean
This strategy ensures that pods having over a hundred container restarts (including init-containers) are removed from nodes.
Default:
false
- removePodsViolatingInterPodAntiAffinityboolean
This strategy ensures that all pods violating node affinity rules are removed from the nodes.
Default:
true
- removePodsViolatingNodeAffinityboolean
This strategy ensures that all pods violating anti-affinity rules are removed from the nodes.
Default:
true
- removePodsViolatingNodeTaintsboolean
This strategy ensures that pods violating NoSchedule taints on nodes are evicted.
Default:
false
- removePodsViolatingTopologySpreadConstraintboolean
This strategy ensures that pods violating the Pod Topology Spread Constraints are evicted from nodes.
Default:
false
- tolerationsarray of objects
The same as
spec.tolerations
for the Kubernetes pod.If the parameter is omitted or
false
, it will be determined automatically.- tolerations.effectstring
- tolerations.keystring
- tolerations.operatorstring
- tolerations.tolerationSecondsinteger
- tolerations.valuestring