# #google-cloud-platform #instance #preemption
Вопрос:
У меня есть группа управляемых экземпляров, состоящая из набора вытесняемых виртуальных машин — они эфемерны и могут быть вытеснены в любое время (наша группа достаточно велика, чтобы выдержать потерю нескольких виртуальных машин одновременно) — по большей части MIG вернет количество виртуальных машин до желаемого уровня при вытеснении виртуальной машины — иногда узел переходит в завершенное состояние, и MIG все еще считает его доступным и ничего не делает для исправления проблемы — поэтому я отключил одну или несколько виртуальных машин. Мое понимание завершенного состояния заключается в том, что «ПРЕКРАЩЕНО. Пользователь закрыл экземпляр или экземпляр столкнулся с ошибкой. Вы можете перезапустить экземпляр или удалить его». Учитывая, что мы не закрыли экземпляр, он, должно быть, столкнулся с некоторыми сбоями — журналы не указывают ничего, кроме того, что узел был предварительно удален. Как я могу настроить свою группу экземпляров для удаления/воссоздания виртуальных машин, которые находятся в этом состоянии?
Ответ №1:
Читая ваш вопрос, я понимаю, что вы хотите знать, почему виртуальная машина все время прерывается, верно? Как вы упомянули, вы используете группу управляемых экземпляров с вытесняемыми виртуальными машинами, это означает, что виртуальные машины всегда завершаются через 24 часа (или меньше) в соответствии с этим документом.
Кроме этого, возможно, вы хотите быть уверены в том, что произошло на вашем экземпляре за последние часы, для этого я рекомендую вам открыть SSH в вашем экземпляре и использовать «journalctl» в качестве примера:
journalctl -b --since "2021-03-04 00:00:00" | grep 'terminated'
Эта команда будет искать все «завершенные» инструкции с заданной отметки времени до момента выполнения команды.
Если вас не волнует прекращение или ваши виртуальные машины каждые 24 часа, я не вижу проблемы в использовании вытесняемых виртуальных машин. Но если это вызывает у вас проблемы в вашей работе, я бы посоветовал вам отключить функцию вытеснения и позволить балансировщику нагрузки действовать в соответствии с вашими потребностями.
Хосе.
Комментарии:
1. Я рассматриваю это скорее как проблему с группой управляемых экземпляров. Меня не волнует, что они будут опережены (это > 1/24 часа из-за нехватки ресурсов в центре обработки данных Google, который я использую). Сценарий выглядит так: у меня есть 20 виртуальных машин в группе экземпляров — 1 предварительно удаляется (удаляется), а IG падает до 19, но его должно быть 20, поэтому IG создает новую виртуальную машину, чтобы вернуть ее-все хорошо. ЗА исключением того, что эта новая виртуальная машина появляется, а затем завершается (она может попробовать несколько раз и снова быть заблокирована)-это моя проблема, IG думает, что у меня 20 виртуальных машин, но 1 завершается, так что на самом деле у меня только 19 — это повторяется со временем.
2. Вы пробовали использовать [Миги с отслеживанием состояния][1]? Это может быть правильным вариантом для проекта, над которым вы работаете. Я не уверен, что если бы вы попробовали команду «journactl», которую я предложил вам в прошлом ответе, это могло бы помочь вам выяснить, почему ваши экземпляры завершаются. [1] cloud.google.com/compute/docs/instance-groups/…