Introducing Drone Autoscale

Today I’m excited to announce the launch of Drone Autoscale. Drone Autoscale is a standalone daemon that continuously polls your build queue and provisions or terminates instances based on volume. The goal is to increase your capacity when you need it, while lowering your monthly server bills.

This code was originally built for the Drone Cloud service (circa 2015) and was used to automatically scale our infrastructure on Digital Ocean. Over the past year I’ve cleaned up and modernized the code, and recently published to Github.

Check out the blog post to learn more.

11 Likes

Is there an agent auto-scale for Kubernetes? E.g. My server and agents are running in GKE, it would be nice if a daemon automatically scaled out / in agents depending on queue size.

1 Like

The autoscaler creates server instances. We therefore recommend running the drone autoscaler and drone server as pods in your kubernetes cluster, with agents spawned outside of your cluster. The autoscaler will fully manage your agent instances, so you should not need kubernetes management capabilities for the agents.

But its a lot faster to create new container agents in Kubernetes than to create a whole server. Its also more economical in some cases.

There are no immediate plans to integrate Kubernetes, but that could change if we experience high commercial demand for the capability.

Hello, is there any update on the roadmap and integration of Kubernetes?

The autoscaler is for Docker pipelines only. If you want to run Drone on kubernetes you can use the kubernetes runner [1], which executes pipelines as native kubernetes Pods, and can therefore use kubernetes built-in autoscaling to provision nodes.

[1] https://docs.drone.io/runner/kubernetes/overview/