Company
Date Published
Author
Vadim Gusev
Word count
2014
Language
English
Hacker News points
None

Summary

Codefresh has developed a custom Kubernetes scheduler to optimize the performance and cost-efficiency of running Continuous Integration (CI) pipelines on their platform, as the default Kubernetes scheduler is not suited for ephemeral workloads typical of CI/CD processes. The solution involves creating "ballast" pods with low priority that get evicted to make room for actual build pods, enabling immediate start times and minimizing user frustration. Additionally, Codefresh designed a scheduler to tightly pack job-like workloads on nodes, allowing for efficient resource utilization and reducing cloud costs by preventing nodes from running half-empty. This custom approach, utilizing Kubernetes' inherent scheduling mechanisms, has significantly enhanced the speed and cost-effectiveness of Codefresh builds, providing a superior user experience.