Member-only story
Upgrading Kubernetes Descheduler to v1alpha2
A guide on upgrading from v1alpha1 to v1alpha2
The Kubernetes Descheduler is about to move to v1alpha2
as its default version. It comes with quite a few changes. If you’ve never used it, now is a good time for a quick crash course.
The Descheduler helps with a few problems that might pop up in Kubernetes. With your pods and nodes scaling up and down, you can sometimes end up in situations where one node is above 90% reserved by resource requests, but another node is below 20% reserved. In this situation, the descheduler can delete a few of the pods on the over-reserved node so those pods get rescheduled on the under-reserved node.
This is a “balance” type strategy where the goal is to distribute your workloads more evenly so pods have access to all the resources they need and are less likely to suffer issues of node pressure or noisy neighbors.
There are other balance strategies, like “RemoveDuplicates”, which will delete pods from the same deployment (more specifically a replica set) that are running on the same node, in the hopes that they will schedule on different nodes, which in turn will increase it’s availability and lower the likelyhood of an outage in case one node goes down.