Descheduler policy configuration¶
The descheduler policy governs plugin selection and behavior. You configure it by editing a ConfigMap in the kube-system namespace. MKE automatically detects any updates and restarts the descheduler Pods to apply them.
Locate the descheduler policy¶
The policy.yaml key is located in the
kube-system/ucp-descheduler-policy
ConfigMap. The document must use the DeschedulerPolicy API version supported by
the bundled ucp-descheduler image — for example, apiVersion:
descheduler/v1alpha2 and kind: DeschedulerPolicy.
On a fresh enable, or after a clean install, profiles may be
empty. The descheduler process runs but performs no plugin work until
you add at least one profile.
Update the descheduler policy¶
To update the descheduler policy, edit the policy.yaml key, and either
apply a manifest that sets data.policy.yaml or run the following command:
kubectl edit configmap ucp-descheduler-policy -n kube-system
After you save the valid policy.yaml key, MKE automatically restarts the
descheduler Pods using a hash-based rollout to pick up the changes.
Each profile you enable must match the pluginConfig requirements of your
descheduler version. Refer to the Kubernetes descheduler documentation for plugin-specific
configuration — for example,``RemovePodsViolatingNodeTaints``.
Important
Descheduler evicts Pods, so make sure to test policy changes in
non-production clusters before applying them to production. Take nodeFit
and cluster size into consideration, as if too few suitable nodes are
available, evicted workloads may remain in a Pending state.