Building a Kubernetes Autoscaler w/ Spring Boot and Groovy

Thursday, 08 June 2017 15.00 @ Room 1

When preparing for a different talk, Ray couldn’t find any existing autoscaler for Kubernetes implementation to automatically scale up/down the number of pods using custom metrics. Ray had never written an autoscaler before – but it sounded like a lot of fun! Join this talk to learn about Kubernetes, and Ray’s journey in writing a custom metrics collector and an autoscaler using Spring Boot, Groovy, containerized it, and deployed Kubernetes.

This session will take a deeper look into the Kubernetes API beyond the command lines, including basic API access, authentication and security, as well as receiving streaming updates via the watch API. The custom metrics collector and the autoscaler themselves were microservices written with Spring Boot and Groovy. Finally, the custom metrics themselves were collected by JMXTrans, translating JMX metrics into actionable metrics for the autoscaler.