Übung: Aktualisieren von Anwendungen in Virtual Machine Scale Sets
Im Versandunternehmensszenario haben Sie eine Webanwendung installiert, indem Sie die VM-Skalierungsgruppe erstellt haben. Nun müssen Sie die Web-App aktualisieren und eine neue Version auf allen virtuellen Computern (VMs) in der Skalierungsgruppe installieren.
Sie müssen sicherstellen, dass das System während des Rollouts verfügbar bleibt. In diesem Zusammenhang stellt die Verwendung einer benutzerdefinierten Skripterweiterung eine gute Möglichkeit dar, die Verfügbarkeit bei einem Update sicherzustellen. Übernehmen Sie dieses Skript für die VM-Skalierungsgruppe. Die Skalierungsgruppe wendet das Update jeweils auf eine VM an, sodass die anderen VMs weiterlaufen können.
In dieser Übung verwenden Sie eine benutzerdefinierte Skripterweiterung, um eine neue Version der Web-App zu erstellen. Bearbeiten Sie die Nachricht, die der nginx-Server bereitstellt. Diesen Ansatz können Sie auch für größere Updates verwenden.
Hinweis
Diese Übung ist optional. Wenn Sie kein Azure-Konto besitzen, können Sie die Anweisungen durchlesen, damit Sie verstehen, wie Sie die REST-API zum Abrufen von Metriken verwenden können.
Wenn Sie diese Übung absolvieren möchten, aber kein Azure-Abonnement haben oder Ihr eigenes Konto nicht verwenden möchten, erstellen Sie vor Beginn ein kostenloses Konto.
Bereitstellen des Updates mithilfe einer benutzerdefinierten Skripterweiterung
Öffnen Sie Cloud Shell im Azure-Portal, und führen Sie den folgenden Befehl aus, um die aktuelle Upgraderichtlinie für die Skalierungsgruppe anzuzeigen:
az vmss show \ --name webServerScaleSet \ --resource-group myResourceGroup \ --query upgradePolicy.mode
Vergewissern Sie sich, dass die Upgraderichtlinie auf
Automatic
festgelegt ist. Sie haben diese Richtlinie angegeben, als Sie die Skalierungsgruppe im ersten Lab erstellt haben. Wenn die RichtlinieManual
wäre, würden Sie alle VM-Änderungen manuell anwenden. Da die RichtlinieAutomatic
ist, verwenden Sie die benutzerdefinierte Skripterweiterung, um die Skalierungsgruppe für das Update zuzulassen.Führen Sie den folgenden Befehl aus, um das Skript für das Update anzuwenden:
az vmss extension set \ --publisher Microsoft.Azure.Extensions \ --version 2.0 \ --name CustomScript \ --vmss-name webServerScaleSet \ --resource-group myResourceGroup \ --settings "{\"commandToExecute\": \"echo This is the updated app installed on the Virtual Machine Scale Set ! > /var/www/html/index.html\"}"
Testen der aktualisierten Webanwendung
Führen Sie den folgenden Befehl aus, um die IP-Adresse des Lastenausgleichs für die Skalierungsgruppe abzurufen:
az network public-ip show \ --name webServerScaleSetLBPublicIP \ --resource-group myResourceGroup \ --output tsv \ --query ipAddress
Navigieren Sie in Ihrem Webbrowser zur öffentlichen Adresse des Lastenausgleichs der Skalierungsgruppe. Vergewissern Sie sich, dass die Meldung This is the updated app installed on the Virtual Machine Scale Set (Dies ist die aktualisierte Anwendung, die in der VM-Skalierungsgruppe installiert ist) angezeigt wird.