Политика развертывания
При создании группы виртуальных машин можно выбрать, каким образом будут развертываться ВМ в группе.
Политика развертывания представляет собой набор ограничений и определяется в 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 |
Максимальное количество ВМ, на которое можно превысить целевой размер группы1. Если ключ max_unavailable не указан или равен нулю, ключу max_expansion должно быть установлено ненулевое значение.Допустимые значения — от 0 до 100. |
startup_duration |
Время запуска ВМ в группе. ВМ начнет получать нагрузку только после того, как истечет время запуска, и будут пройдены все проверки состояния. Допустимые значения — от 0 до 3600 секунд. |
1 В дальнейшем, при приведении количества ВМ в группе к целевому значению, созданные по квоте max_expansion
ВМ могут остаться в группе, в то время как ВМ, существовавшие в группе до этого, могут быть удалены.
Стратегии остановки виртуальных машин
В 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 . |