Распределение виртуальных машин по зонам
Распределение виртуальных машин по зонам зависит от типа масштабирования группы.
В группах с ручным масштабированием
В группах с ручным масштабированием виртуальные машины распределяются между зонами равномерно.
В соответствии с политикой развертывания, в каждую зону последовательно добавляется по одной виртуальной машине. Если список зон подошел к концу, а необходимое количество виртуальных машин еще не создано, то зоны используются повторно.
Совет
Рекомендуем создавать группу таким образом, чтобы ее размер был кратен количеству зон.
В этом случае количество машин в зонах будет одинаковым, и сетевой балансировщик нагрузки (если он есть) будет равномерно распределять нагрузку между виртуальными машинами.
Если размер группы не будет кратен количеству зон, то количество виртуальных машин в одних зонах будет меньше, чем в других, но не более чем на одну машину.
Примеры
Если в YAML вы указали зоны в порядке [ru-central1-d, ru-central1-a]
и размер группы равен 4, то после распределения в каждой зоне будет по 2 виртуальных машины:
Шаг | ru-central1-d | ru-central1-a | Осталось |
---|---|---|---|
1 | 1 | 0 | 3 |
2 | 1 | 1 | 2 |
3 | 2 | 1 | 1 |
4 | 2 | 2 | 0 |
Если в YAML вы указали зоны в порядке [ru-central1-d, ru-central1-a]
и размер группы равен 5, то в зоне ru-central1-d
будет 3 виртуальных машины, а в зоне ru-central1-a
— 2:
Шаг | ru-central1-d | ru-central1-a | Осталось |
---|---|---|---|
1 | 1 | 0 | 4 |
2 | 1 | 1 | 3 |
3 | 2 | 1 | 2 |
4 | 2 | 2 | 1 |
5 | 3 | 2 | 0 |
Если в спецификации перечислены три зоны в порядке [ru-central1-d, ru-central1-a, ru-central1-b]
, и указан фиксированный размер группы 2, который меньше количества зон. Тогда в ru-central1-d
и ru-central1-a
будет создано по одной виртуальной машине, а в ru-central1-b
— ни одной. Такая конфигурация не рекомендуется, но и не запрещена.
В автоматически масштабируемых группах
В отличие от группы фиксированного размера, порядок зон в автоматически масштабируемых группах виртуальных машин не имеет значения.
Количество виртуальных машин в зонах определяется алгоритмом автоматического масштабирования, исходя из значений средней утилизации и средней нагрузки на зону. И оно может изменяться в зависимости от значений ограничений, заданных пользователем:
-
min_zone_size
(минимальный размер зоны) — в зоне не может быть меньше виртуальных машин, чем указано вmin_zone_size
.
Это ограничение позволяет сохранять в зоне резерв виртуальных машин на случай резкого повышения нагрузки.
Допускается указыватьmin_zone_size=0
. В этом случае зона может быть пустой. -
max_size
(максимальный размер всей группы) — в группе не может быть больше виртуальных машин, чем указано вmax_size
(суммарно по всем зонам).
Ограничение количества виртуальных машин в группе при автоматическом масштабировании позволяет контролировать финансовые затраты.
Примеры
При распределении учитывается ограничение min_zone_size
Пусть min_zone_size
равно 2, а алгоритмом автоматического масштабирования рассчитывается, что нужно 0 виртуальных машин в зоне. Тогда в зоне будет 2 виртуальных машины, так как это минимальное допустимое количество машин в зоне.
При распределении учитываются ограничения min_zone_size
и max_size
Пусть min_zone_size
равно 5, max_size
— 20 и автоматическим масштабированием машины распределяются в зонах следующим образом: 15 + 10 + 5 машин.
-
Всего машин получается 30. Это на 10 больше, чем
max_size
. Поэтому из каждой зоны убираются виртуальные машины, пока не уберется 10.
Чем больше виртуальных машин в зоне, тем больше машин может быть из нее удалено. Но при этом должно остаться не менее 5 виртуальных машин в зоне. -
Одно из возможных распределений — 9 + 6 + 5.
Из самой крупной зоны убирается 6 виртуальных машин (было 15, стало 9), из средней — 4 (было 10, стало 6), из самой маленькой — ничего не убирается, так как в ней уже минимально допустимое количество виртуальных машин (5).