Jan is a Software Engineer at Red Hat. One of the approvers and developers in the Descheduler project. Jan has been involved in the Kubernetes project for many years. Mainly focusing on the scheduling area. Excited about computer science and code analysis.
Kubernetes clusters, managed or self hosted, are increasingly dynamic, with their properties changing to accommodate more/less compute power, or to just adhere to new generic requirements. The Kubernetes Scheduler evolved to give more granular options of scheduling decisions to users with specific requirements, however, after a pod is placed, those properties or requirements can change at scale.
Descheduler is a complementary sig-scheduling sponsored component. It provides the ability to evict pods which are no longer satisfying original scheduling decisions, allowing your Kube-Scheduler to reposition them in a more suitable place.
In this talk we are going to give an introduction to this project. What are the current strategies/plugins available for you to customize its behavior and how you can keep the pods in your clusters in the right place all the time, even with dynamic changes to it. In the second half of the talk we are going to show you a demo of it in action and provide you with the means of creating your own descheduling/balancing strategies, tailored to your own needs.