Mixing standard and pre-emptible instances in autoscaling instance groups

I have a group of CPU-bound worker machines that I want to scale, but I'm also cheap. Assuming that the work MUST always be done in a somewhat timely fashion regardless of instance cost, would it make sense to have something like:

  • An instance group of pre-emptible instances with a target CPU of 80%
  • An instance group of regular instances with a target CPU of 90%

In this case I would expect that:

  1. When possible, the pre-emptible instance group will scale up to meet demand while the standard group shrinks to its configured minimum.
  2. When pre-emptible instances cannot meet demand the standard instance group will grow.

Will the GCE instance group scaling work as I expect? Is there another scheduler that I should consider?

For reference, this would be the second iteration of worker infrastructure in GCP. Currently we're using 32x n1-standard-8 instances in a non-autoscaling group, but we're hoping to cut our core count in half.

0
задан 19 April 2018 в 22:54
1 ответ

Мне не удалось найти общедоступную документацию по внутреннему устройству балансировщика нагрузки, но этот технический документ может вас заинтересовать.

Я считаю, что ваш подход к использованию двух групп экземпляров может сработать в вашем случае. Поскольку невозможно предсказать, какая группа будет автоматически масштабироваться первой, игра с целевым процессором должна фактически дать вам способ взвесить, какая группа автоматически масштабируется первой.

Я также вижу одно предостережение, которое определяет максимальное количество узлов в вашей невытесняемой группе. Я имею в виду, что если эта группа достигает максимального количества узлов, а вытесняемая группа не может масштабироваться , ваше приложение может пострадать. В любом случае, если вы используете этот тип виртуальных машин, ваше приложение должно быть отказоустойчивым.

0
ответ дан 5 December 2019 в 06:09

Теги

Похожие вопросы