Hi there, according to https://www.digitalocean.com/docs/kubernetes/

Under known issues, it states that “The DigitalOcean autoscaler does not support a min_node size of 0, therefore the mininum node size for an autoscaling group is 1.”

One of my use cases is to run large machine learning workloads which require very large droplets for a short period of time (hours).

On GKE, I create such a node pool with a size of 0 and set a default taint to each node. Then the pods that ran the algorithm would have a toleration for that taint so it would ONLY schedule on these special nodes.

It worked great, everytime the algorithm decides to run the pod starts off being unschedulable. The algorithm node pool notices this, and scales the pool size up, the pod runs till completion. After sometime, the node pool auto scaler kills the node and brings it back to 0.

This is huge for cost savings since I don’t want to run an expensive node all the time.

Two questions

  1. Will DO support having auto scaling node sizes of 0 in the future?

  2. Any suggestions on implementing something similar to the above? the best I can think of is to create a pod with the doctl tool, which runs every minute that will handle creating and destroying the node pool if an algorithm pod turns up.

Submit an answer

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!