Я прочитал различные статьи по automatically deploying resources groups в Azure, включая использование templates и как troubleshoot неудачных развертываний.Как обрабатываются ошибки/сбои в автоматических развертываниях Azure Resource Group?
В этих статьях не ясно, какие функции отката встроены, если они есть, и/или лучший способ вернуть инфраструктуру ресурсов обратно в последнее успешное состояние в случае ошибок на полпути через развертывание.
Например, в Octopus Deploy существует понятие определенных шагов сборки, которые запускаются только в случае сбоя, которые по существу ставят все так, как было до начала развертывания.
я могу видеть, что можно «проверить» шаблоны и инфраструктуры, запустив Test-AzureRmResourceGroupDeployment
командлет, чтобы уменьшить возможные ошибки до фактического запуска развертывания, а также, что можно просматривать состояние продовольствования следующего развертывания, запустив Get-AzureRmResourceGroupDeployment
:
, из которых я мог бы проверить на failed
статус и условно запустить сценарий для очистки после сбоя.
Однако, есть ли что-нибудь построенное для того, чтобы удовлетворить этот сценарий?
ARM шаблоны идемпотентны, а это означает, что вы можете повторно развернуть тот же сценарий, сразу же после первоначального развертывания, и вы получите тот же результат (без изменений). Если вы решите добавить еще одну виртуальную машину в свой шаблон и повторно развернуться, существующие виртуальные машины останутся, и новый будет добавлен. – Lewis
@ Проблема в том, что результаты качения модифицированного шаблона в существующей инфраструктуре несовместимы. Не всегда ясно, что будет изменено и что будет проигнорировано. Кажется, что Azure проверяет наличие ресурса верхнего уровня (то есть VM, но игнорирует любые параметры свойств, такие как дополнительные диски и т. Д.). Итак, да, вы можете добавить виртуальную машину, но что-то более тонкое, чем это, и вы собирается столкнуться с проблемами –