The Descheduler is used for redistributing workloads among the nodes of a Kubernetes cluster by evicting Pods. The Descheduler periodically checks the placement of Pods in the Kubernetes cluster and evicts them to less loaded nodes using a set of pre-configured strategies. For Descheduler to operate, a minimum of three nodes in the Kubernetes cluster is required.
начало внимание
For a Kubernetes clusters deployed on the Deckhouse platform, the installation of Descheduler is not required. In this case, use the built-in module.
конец внимание
The installation consists of three steps:
- Download the Helm chart and the configuration file.
- Fill out the configuration file.
- Install the Descheduler chart using helm in the Kubernetes cluster.
Step 1: Download the Helm chart and the configuration file
To install via the internet, obtain the configuration file values-descheduler.yaml by executing the command:
helm repo add elma365 https://charts.elma365.tech
helm repo update
helm show values elma365/descheduler > values-descheduler.yaml
Obtaining the configuration file for installation in a closed loop without internet access
helm repo add elma365 https://charts.elma365.tech For more details, see Download BRIX images.
tar -xf descheduler-X.Y.Z.tgz |
Step 2: Fill out the configuration file
Fill out the configuration file values-descheduler.yaml for the Descheduler installation.
For this purpose, configure the frequency of the Descheduler by setting the desired interval in minutes for the parameter descheduler.deschedulingInterval. The default interval is set to 2 minutes. The Descheduler is installed in namespace kube-system. This namespace is set by default.
# Descheduler settings (at least 3 nodes in the cluster are required)
descheduler:
# override service name
fullnameOverride: descheduler
# run as a CronJob or Deployment
kind: Deployment
# namespace for descheduler (must be created before installation with kubectl create ns kube-system)
namespace: kube-system
# sets the time between consecutive executions of descheduler
deschedulingInterval: 2m
# selectors to run on specific nodes
nodeSelector: {}
...
# Descheduler settings (at least 3 nodes in the cluster are required) Where the repository format is as follows:
|
Step 3: Install the Descheduler chart using helm in the Kubernetes cluster
Install the Descheduler chart in namespace kube-system.
For online installation:
helm upgrade --install descheduler elma365/descheduler -f values-descheduler.yaml -n kube-system
For offline installation without internet access, navigate to the directory with the downloaded chart and execute the command:
helm upgrade --install descheduler ./descheduler -f values-descheduler.yaml -n kube-system
Delete the Descheduler chart using helm in the Kubernetes cluster
To delete the Descheduler chart in namespace kube-system, execute the command:
helm uninstall descheduler -n kube-system
Found a typo? Select it and press Ctrl+Enter to send us feedback