Завершение работы виртуальных машин Azure иногда зависает на несколько минут

Внутри конвейера Azure мы использовали задачу развертывания группы ресурсов Azure с действием завершения работы, а также командлет Stop-AzureVM для завершения работы виртуальной машины Azure для некоторых действий по управлению.

Обычно завершение работы занимает несколько секунд. Но иногда приходилось ждать несколько минут (сегодня около 10 минут).

Есть ли какой-нибудь трюк, чтобы обеспечить быстрое выключение?


person Marko A.    schedule 13.03.2019    source источник
comment
Вы уже использовали - force параметр Stop-AzureVM?   -  person Falco Alexander    schedule 13.03.2019


Ответы (2)


Хотя это не прямой ответ на ваш вопрос - я обычно использую ARM Rest API, запрос к нему почти мгновенный и асинхронный, поэтому, пока вы получите 202, вам все равно, что произойдет дальше, в конечном итоге он отключится. Это позволяет мне выключить \ запустить около 100 сущностей.

Код для этого довольно длинный, но общая идея примерно такая:

$token = (Get-AzureRmContext).TokenCache.ReadItems() | Select-Object -First 1 -ExpandProperty AccessToken
$header = @{ Authorization = "Bearer $token" }
Invoke-WebRequest -Headers $header -Method Post -Uri $uri -UseBasicParsing
person 4c74356b41    schedule 13.03.2019

К сожалению, по моему опыту, не существует способа обеспечить быстрое «плавное» завершение работы виртуальной машины. Иногда это занимает больше времени из-за службы и процессов, запущенных на указанной машине.

Имейте в виду, что это не Azure или виртуальная машина, это скорее операционная система.

person Hannel    schedule 13.03.2019