Как я могу сделать остановку виртуальной машины NetBSD в Google Compute Engine? - PullRequest
1 голос
/ 25 октября 2019

У меня есть пакетное задание, которое я хочу запустить в Google Compute Engine на экземпляре NetBSD. Я ожидал, что смогу просто shutdown -hp now в конце работы, и экземпляр будет выключен. Но когда я делаю это, он все еще остается в рабочем состоянии в соответствии с облачной консолью Google и CLI. Как сделать так, чтобы виртуальная машина NetBSD в облаке Google отключалась, когда она больше не нужна?

Примечание. Google Cloud SDK недоступен в NetBSD

1 Ответ

2 голосов
/ 25 октября 2019

Обычно параметр командной строки -p выключает виртуальную машину. Это означает, что существует проблема / ошибка с базовым кодом ACPI, который вызывает функцию ACPI.

В качестве обходного пути используйте команду Google Cloud SDK gcloud. Эта команда имеет дополнительное преимущество, заключающееся в том, что Google Cloud принудительно отключит питание, если экземпляр не завершится нормально.

Добавьте эту команду в свой сценарий. Может потребоваться сначала установить интерфейс командной строки.

gcloud compute instances stop INSTANCE_NAME

Другой вариант - написать программу, которая реализует API Google Cloud для остановки экземпляра. Есть примеры на большинстве языков, включая Go и Python. Вам даже не нужен SDK, поскольку вы можете вызвать конечную точку API REST с помощью токена доступа.

...