Кратко:
- Приложения не работают идеально, и сервисы могут столкнуться с проблемами из-за программных сбоев.
- Instance Groups проверяет состояние ВМ и приложений, чтобы предотвратить простои сервисов.
- Политика автоматического восстановления зависит от настроек развертывания.
- Если целевой размер группы превышен, Instance Groups создает новые ВМ вместо проблемных.
- Если целевой размер группы уменьшен, сервис перезагружает проблемную ВМ.
- Комбинируйте оба способа восстановления для более надежного результата.
- Старые машины не удаляются, пока не созданы новые ВМ.
- Автоматическое восстановление прерываемых ВМ начинается только при наличии достаточного количества вычислительных ресурсов.
Автоматическое восстановление
Ни одно приложение не работает идеально. Например, если сервис из-за программного сбоя начнёт создавать множество временных файлов, на диске рано или поздно закончится свободное место. Работа сервиса прекратится. Пользователи, чьи запросы обслуживает ВМ, будут видеть сообщение об ошибке.
Чтобы ВМ простаивала как можно меньше, Instance Groups регулярно проверяет состояние ВМ или отзывчивость приложения. Обнаружив неполадки, сервис действует по выбранному вами сценарию: перезапускает ВМ или создаёт новую.
Способ автоматического восстановления при сбое зависит от того, как вы настроили политику развёртывания:
- Если вы разрешили превышать целевой размер группы (поле Добавлять выше целевого значения), Instance Groups будет создавать ВМ вместо не прошедших проверку.
- Если вы разрешили уменьшать целевой размер группы (поле Уменьшать относительно целевого значения), Instance Groups перезагрузит ВМ. Иногда для устранения проблемы этого достаточно. Если проблема из примера выше в том, что в папке
/tmp
скопилось много файлов, при перезапуске системы папка автоматически очистится.
Если вы не знаете заранее, достаточно ли перезагрузки ВМ, комбинируйте оба способа восстановления: используйте сразу два параметра.
Допустим, вы разрешили и превышать, и уменьшать целевой размер группы на одну машину. Когда одна из ВМ не пройдет проверку, Instance Groups начнет одновременно перезапускать эту машину и создавать новую. ВМ, которая первая пройдет все проверки, начнет работать, а вторая будет удалена.
Старые машины не удаляются до тех пор, пока не созданы новые. А если в процессе создания новой ВМ все машины в группе станут работоспособны, то сервис отменит её создание.
Автоматическое восстановление прерываемых ВМ начнётся только тогда, когда в зоне доступности будет достаточно вычислительных ресурсов. Иногда это занимает немало времени.