coreos / tectonic-forum

Apache License 2.0
30 stars 9 forks source link

Autoscalers on Baremetal #54

Open andyjac opened 7 years ago

andyjac commented 7 years ago

Feature Request

Tectonic Version

1.5.2

Environment

CoreOS on Baremetal

Desired Feature

Support for autoscalers in Baremetal Tectonic environments.

Other Information

These docs explain how to use Tectonic autoscalers on AWS. Would be really neat to have something similar for Baremetal environments.

ghost commented 7 years ago

First needs some work to allow Tectonic to automatically power on machines. Thus this task depends on #36.

I'm not sure what the benefit of this would be, though. If the intention is to save power, it seems to be easier to join the nodes into the cluster and then send them into hybernation until they are needed. Otherwise (booting and installing them from zero, if the cluster load rises) the latency from "demand detected" to "demand satisfied" would be in the order of many minutes.

InAnimaTe commented 7 years ago

If I'm running bare-metal nodes with ssds in packet on a 10g network backplane, I guarantee you boxes will install and get added to the cluster within minutes (probably less), which is about the same as waiting for an AWS instance to actually be good and ready anyways. Even in my basement cluster right now I can provision a worker node in under 10 minutes.

Additionally, "demand detected" should have some intelligence and not just trigger on some static assumption i.e. ">90% for 10 seconds" but something more like ">75% for prolonged period of 5 minutes" (obv. configurable) in which case we register a more legitimate need that (might) actually triggers before things get really bad.

I think dropping/draining nodes is tricky, but ideally, if I fully drain a node, I'd like to be able to re-purpose it for other things, not have a presumption it's always tied to that cluster. Depending on the use-case, nodes should be considered ephemeral when possible. This should be really configurable so if I want a couple nodes as hot standby's, they do just sit in hibernation (or off) until I need them).

This is a great idea and I'd love to see more effort in this area!