Enable the descheduler

When the descheduler is enabled, MKE reconciles two resources in the kube-system namespace:

  • A deployment named ucp-descheduler that uses the Mirantis image ucp-descheduler version that matches the MKE release.

  • A ConfigMap named ucp-descheduler-policy that contains a policy.yaml key with a DeschedulerPolicy document.

To enable the descheduler in MKE, update the cluster configuration and apply the changes.

  1. Download the MKE configuration file:

    curl --silent --insecure -H "Authorization: Bearer $AUTHTOKEN" \
      "https://${MKE_HOST}/api/ucp/config-toml" > mke-config.toml
    
  2. Locate the cluster_config.descheduler option:

    [cluster_config.descheduler]
      enabled = false
      replicas = 2
      extra_flags = []
    

    For detailed information on the cluster_config.descheduler configuration parameter, refer to the configuration options detail.

  3. Set the enabled parameter to true.

  4. Optional. Set the replicas parameter to 1 to run a single replica, which will result in reduced availability during updates. If replicas is not set or is set to 0, MKE will use the default value of 2.

  5. Upload the updated MKE configuration file:

    curl --silent --insecure -X PUT -H "accept: application/toml" \
      -H "Authorization: Bearer $AUTHTOKEN" \
      --upload-file mke-config.toml \
      "https://${MKE_HOST}/api/ucp/config-toml"
    
  6. Wait for cluster reconciliation and Verify the descheduler deployment.