How to write a custom Kubernetes scheduler using your monitoring metrics
Blog post from Sysdig
The blog post discusses the process of creating a custom Kubernetes scheduler using monitoring metrics from tools like Sysdig, which automatically tags metrics with Kubernetes metadata for advanced scheduling capabilities. The article highlights the limitations of the default Kubernetes scheduler and introduces the flexibility of custom schedulers available since Kubernetes 1.6. It provides an example of using Python to write a scheduler that places web server pods on nodes with optimal HTTP response times, leveraging metrics without requiring code instrumentation. The post explains the steps to configure and implement this scheduler, including using Sysdig API metrics for decision-making, and suggests deploying the scheduler as a containerized pod for better orchestration. Additionally, it mentions a more advanced Golang version of the scheduler presented at KubeCon EU 2018, which includes features like metrics caching, failover recovery, and asynchronous scheduling, while encouraging readers to explore further use cases and enhancements for production-level schedulers.