Descheduler: Your pods in the right place, all the time
04-16, 17:20–17:50 (Europe/Amsterdam), The Suite

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.


Descheduler is a sig-sponsored project with a growing community and growing relevance, and it is often described as a component that solves something always missing in kubernetes at scale: either by correcting scheduling decisions and enforcing post-scheduling constraints or by helping users to increase security measures by installing custom policies. This talk introduces these concepts to the community bringing awareness and guidelines for implementing continuous re-arrangement of pods based on specific requirements.

Lucas is a Software Engineer at Red Hat and one of the developers involved in the Descheduler Framework effort. Lucas is passionate about Open Source and the community around it and is also involved as the maintainer of some other projects in the Cloud Native space. Lucas is also one of the creators of External Secrets Operator and worked as an Sys Admin and later SRE before getting his foot into OSS contribution.

This speaker also appears in:

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.