Ich habe verschiedene Artikel auf automatically deploying resources groups in Azure gelesen, einschließlich der Verwendung von templates und wie zu troubleshoot fehlgeschlagenen Bereitstellungen. In diesen Artikeln ist nicht klar, welche Rollback-Funktionen ggf. erstellt werden und/oder die beste Möglichkeit, die Ressourceninfrastruktur bei Fehlern während der Bereitstellung zurück in den letzten erfolgreichen Zustand zu versetzen.Wie werden Fehler/Fehler in automatisierten Azure Resource Group-Bereitstellungen behandelt?
Zum Beispiel gibt es in Octopus Deploy die Vorstellung von bestimmten Build-Schritten, die nur im Falle eines Fehlers ausgelöst werden und im Wesentlichen alles so zurückbringen, wie es vor der Bereitstellung war.
Ich kann sehen, dass es möglich ist, Ihre Vorlagen und Infrastruktur „Validierung“ durch das Test-AzureRmResourceGroupDeployment
Cmdlets läuft tatsächlich mögliche Fehler zu reduzieren, bevor die Bereitstellung ausgeführt wird, und auch, dass es möglich ist, die Bereitstellung Zustand nach Bereitstellung anzuzeigen Get-AzureRmResourceGroupDeployment
, indem Sie :
von denen konnte ich für den failed
Status überprüfen und bedingt ein Skript zu bereinigen nach dem Scheitern führen.
Ist jedoch etwas eingebaut, um dieses Szenario zu berücksichtigen?
ARM-Vorlagen ist idempotent, was bedeutet, dass Sie das gleiche Skript unmittelbar nach einer anfänglichen Bereitstellung erneut bereitstellen können, und Sie werden das gleiche Ergebnis (keine Änderungen) erhalten. Wenn Sie sich dazu entschließen, Ihrer Vorlage eine weitere VM hinzuzufügen und sie erneut zu implementieren, verbleiben die vorhandenen VMs, und die neue VM wird hinzugefügt. – Lewis
@Lewis Das Problem besteht darin, dass die Ergebnisse einer geänderten Vorlage in einer vorhandenen Infrastruktur nicht konsistent sind. Es ist nicht immer klar, was geändert wird und was ignoriert wird. Azure scheint eine Überprüfung der Existenz der Ressource der obersten Ebene durchzuführen (dh der VM, ignoriert jedoch alle Eigenschaftseinstellungen wie zusätzliche Festplatten usw.). Sie können also eine VM hinzufügen, aber alles, was subtiler ist als das und Sie sind werde auf Probleme stoßen –