Политика развертывания
При создании группы виртуальных машин можно выбрать, каким образом будут развертываться ВМ в группе.
Политика развертывания представляет собой набор ограничений и определяется в YAML-файле, в ключе deploy_policy
. Каждое ограничение задается в собственном ключе, в виде пары ключ:значение
.
Пример записи в YAML-файле:
...
deploy_policy:
max_creating: 10
max_deleting: 10
max_unavailable: 10
max_expansion: 0
startup_duration: 30s
...
Где:
Ключ | Значение |
---|---|
max_creating |
Максимальное количество одновременно запускаемых ВМ. Допустимые значения — от 0 до 100. Значение 0 — любое количество ВМ в рамках допустимых значений. |
max_deleting |
Максимальное количество одновременно останавливаемых ВМ. Допустимые значения — от 0 до 100. Значение 0 — любое количество ВМ в рамках допустимых значений. |
max_unavailable |
Максимальное количество ВМ в статусе RUNNING , на которое можно уменьшить целевой размер группы.Допустимые значения — от 0 до 100. |
max_expansion |
Максимальное количество ВМ, на которое можно превысить целевой размер группы. Если ключ max_unavailable не указан или равен нулю, ключу max_expansion должно быть установлено ненулевое значение.Допустимые значения — от 0 до 100. |
startup_duration |
Время запуска ВМ в группе. ВМ начнет получать нагрузку только после того, как истечет время запуска, и будут пройдены все проверки состояния. Допустимые значения — от 0 до 3600 секунд. |
Стратегии остановки виртуальных машин
В Instance Groups есть две стратегии остановки ВМ при обновлении или автоматическом масштабировании группы: принудительная (PROACTIVE
) и деликатная (OPPORTUNISTIC
).
Если выбрана принудительная стратегия, Instance Groups самостоятельно выбирает, какие ВМ остановить.
При деликатной стратегии Instance Groups не останавливает ВМ, а ожидает выполнения хотя бы одного из условий:
- Пользователь остановил ВМ в сервисе Compute Cloud.
- Приложение или пользователь остановили ВМ изнутри.
- ВМ не прошла проверку состояния приложения.
Например, вы создали группу ВМ с автоматическим масштабированием по пользовательской метрике, где метрикой является количество задач в очереди. Instance Groups создает группу ВМ, которая выполняет задачи из очереди. Как только в очереди закончились задачи, Instance Groups должен уменьшить размер группы с фактического до целевого согласно политике масштабирования.
- При этом, если выбрана принудительная остановка, Instance Groups изменит целевой размер группы и уменьшит фактическое количество ВМ в группе до целевого.
- При деликатной стратегии Instance Groups изменит целевой размер группы, но не остановит ВМ до момента самостоятельной остановки или остановки пользователем.
Пример записи в YAML-файле:
...
deploy_policy:
strategy: OPPORTUNISTIC
...
Где:
Ключ | Значение |
---|---|
strategy |
Стратегия остановки ВМ в группе. Возможные значения:
PROACTIVE . |
Минимальные действия для обновления ВМ
По умолчанию Instance Groups при обновлении ВМ принимает решение о перезапуске или пересоздании согласно правилам. Однако вы можете также указать минимальное действие для обновления ВМ самостоятельно. Оно будет выполнено даже в том случае, если того не требуют правила. Это может быть необходимо для очистки оперативной памяти при обновлении, удаления данных на дисках или повторного развертывания ВМ.
При этом правила обновления имеют приоритет перед минимальными действиями. Например, если минимальным действием выбран перезапуск, то ВМ может быть и удалена, если требуют правила.
Управление минимальным действием для обновления ВМ доступно с помощью CLI и API.
Пример записи в YAML-файле:
...
deploy_policy:
minimal_action: RESTART
...
Где:
Ключ | Значение |
---|---|
minimal_action |
Минимальное действие для обновления виртуальных машин. Возможные значения:
LIVE_UPDATE . |