Завершение работы экземпляра в сценарии запуска занимает много времени

Я добавил сценарий bash в метаданные экземпляра, который выполняет некоторые тесты, а затем выполняет следующую команду в конце сценария.

shutdown -h now

Экземпляр и изображение после удаления «сценарием порождения».

Экземпляр становится недоступным через SSH, но не устанавливает его в TERMINATED примерно через 10 минут. В течение этого времени он по-прежнему отображается как RUNNING .

Все, что нужно для этого, в последовательной консоли.

Aug  5 16:54:20 database-integrity-test systemd[1]: Stopping Session 1 of user my-user.
Aug  5 16:54:20 database-integrity-test systemd[1]: Stopping User Manager for UID 1001...
Stopping Authenticate and Authorize Users to Run Privileged Tasks...
[[0;32m  OK  [0m] Closed Load/Save RF Kill Switch Status /dev/rfkill Watch.
[[0;32m  OK  [0m] Stopped target Mail Transport Agent.
[[0;32m  OK  [0m] Stopped target Timers.
Aug  5 16:54:20 database-integrity-test systemd[1]: Stopping Authenticate and Authorize Users to Run Privileged Tasks...
[[0;32m  OK  [0m] Stopped Daily Cleanup of Temporary Directories.
[[0;32m  OK  [0m] Stopped target Graphical Interface.
Aug  5 16:54:20 database-integrity-test systemd[1]: Closed Load/Save RF Kill Switch Status /dev/rfkill Watch.
Stopping Accounts Service...
Stopping ACPI event daemon...
[[0;32m  OK  [0m] Stopped target Cloud-init target.
Aug  5 16:54:20 database-integrity-test systemd[1]: Stopped target Mail Transport Agent.
Aug  5 16:54:20 database-integrity-test systemd[1]: Stopped target Timers.
Aug  5 16:54:20 database-integrity-test systemd[1]: Stopped Daily Cleanup of Temporary Directories.
Aug  5 16:54:20 database-integrity-test systemd[1]: Stopped target Graphical Interface.
Aug  5 16:54:20 database-integrity-test systemd[1]: Stopping Accounts Service...
Aug  5 16:54:20 database-integrity-test systemd[1]: Stopping ACPI event daemon...
Aug  5 16:54:20 database-integrity-test systemd[1]: Stopped target Cloud-init target.
and so on . . . .

Мы хотим свести к минимуму обслуживание этих «экземпляров вытесняемых тестов целостности», чтобы сэкономить средства, Тест для небольших баз данных занимает пару минут. Ожидание завершения работы в 10 или 20 раз дольше, чем фактический тест, складывается со временем.

Решением было бы связаться с экземпляром и завершить его через Google Cloud API, но я бы хотел этого избежать.

] Кто-нибудь еще сталкивался с этой проблемой?

0
задан 5 August 2020 в 18:11
1 ответ

Для того, что вы пытаетесь выполнить, я думаю, было бы лучше, чтобы экземпляр выполнил свою задачу, а затем использовал Google GCE API для последующего удаления экземпляра. Таким образом, вы можете использовать скрипт удаленно, а также иметь другие функции.

Кроме того, вы можете продолжать использовать скрипт bash в метаданных экземпляра для удаления экземпляра после того, как он завершит свою работу. Тем не менее, это потенциальные проблемы с задержкой, подобные той, которую вы описали; Вот почему было бы лучше использовать вместо этого API.

Я бы также посоветовал ознакомиться со следующими документами:

  1. Документация по хранению и извлечению метаданных экземпляра

  2. Доступ к метаданным экземпляра

0
ответ дан 5 August 2020 в 20:46

Теги

Похожие вопросы