Freigeben über


Aktualisieren einer Azure Cloud Service-Instanz (erweiterter Support)

Wichtig

Cloud Services (klassisch) ist jetzt ab dem 1. September 2024 für alle Kunden veraltet. Alle vorhandenen ausgeführten Bereitstellungen werden beendet und von Microsoft heruntergefahren, und die Daten gehen ab Oktober 2024 dauerhaft verloren. In neuen Bereitstellungen sollte das neue auf Azure Resource Manager basierende Bereitstellungsmodell für Azure Cloud Services (erweiterter Support) verwendet werden.

Der Prozess zum Aktualisieren eines Clouddiensts, einschließlich seiner Rollen und des Gastbetriebssystems, umfasst drei Schritte. Zuerst müssen die Binär- und Konfigurationsdateien für den neuen Clouddienst oder die Version des Betriebssystems hochgeladen werden. Dann reserviert Azure Compute- und Netzwerkressourcen für den Clouddienst je nach den Erfordernissen der neuen der Clouddienstversion. Und zuletzt führt Azure ein paralleles Update aus, um den Mandanten inkrementell auf die neue Version oder das Gastbetriebssystem zu aktualisieren und Ihre Verfügbarkeit dabei beizubehalten. Dieser Artikel behandelt diesen letzten Schritt – das parallele Upgrade.

Aktualisieren eines Azure-Diensts

Azure organisiert Ihre Rolleninstanzen in logischen Gruppen, die als Upgradedomänen (UD) bezeichnet werden. Upgradedomänen (UD) sind logische Sätze von Rolleninstanzen, die als Gruppe aktualisiert werden. Azure aktualisiert einen Clouddienst mit je einer UD. Dadurch können Instanzen in anderen UDs den Datenverkehr weiter bearbeiten.

Die Standardanzahl von Upgradedomänen ist 5. Sie können eine andere Anzahl von Upgradedomänen festlegen, indem Sie das Attribut „upgradeDomainCount“ in die Dienstdefinitionsdatei (.CSDEF) einschließen. Weitere Informationen zum Attribut upgradeDomainCount finden Sie unter Azure Cloud Services-Definitionsschema (.CSDEF-Datei).

Wenn Sie eine direkte Aktualisierung einer oder mehrerer Rollen in Ihrem Dienst durchführen, aktualisiert Azur Sätze von Rolleninstanz je nach der Upgradedomäne, der sie angehören. Azure aktualisiert alle Instanzen in einer bestimmten Upgradedomäne (beendet sie, aktualisiert sie und schaltet sie wieder online) und fährt dann mit der nächsten Domäne fort. Dadurch, dass nur die Instanzen beendet werden, die in der aktuellen Upgradedomäne ausgeführt werden, stellt Azure sicher, dass sich die Aktualisierung so wenig wie möglich auf den ausgeführten Dienst auswirkt. Weitere Informationen finden Sie unter Vorgehensweise bei der Aktualisierung weiter unten in diesem Artikel.

Hinweis

Die Begriffe Aktualisierung und Update haben für Azure eine etwas unterschiedliche Bedeutung. In Bezug auf die Prozesse und Beschreibungen der Features in diesem Dokument können Sie jedoch synonym verwendet werden.

Ihr Dienst muss mindestens zwei Instanzen einer Rolle definieren, damit diese Rolle direkt und ohne Ausfallzeiten aktualisiert wird. Wenn der Dienst aus nur einer Instanz einer Rolle besteht, ist der Dienst erst verfügbar, wenn das direkte Update abgeschlossen ist.

In diesem Artikel werden die folgenden Informationen zu Azure-Updates behandelt:

Zulässige Dienständerungen während einer Aktualisierung

Die folgende Tabelle zeigt die zulässigen Änderungen an einen Dienst während einer Aktualisierung an:

Zulässige Änderungen an Hosting, Diensten und Rollen Direktes Update Gestaffelt (VIP-Austausch) Löschen und erneutes Bereitstellen
Betriebssystemversion Ja Ja Ja
.NET-Vertrauensebene Ja Ja Ja
Größe des virtuellen Computers 1 Ja2 Ja Ja
Einstellungen für den lokalen Speicher Nur Erhöhen 2 Ja Ja
Rollen in einem Dienst hinzufügen oder entfernen Ja Ja Ja
Anzahl der Instanzen einer bestimmten Rolle Ja Ja Ja
Anzahl oder Typ der Endpunkte für einen Dienst Ja2 Nein Ja
Namen und Werte von Konfigurationseinstellungen Ja Ja Ja
Werte (aber keine Namen) von Konfigurationseinstellungen Ja Ja Ja
Neue Zertifikate hinzufügen Ja Ja Ja
Vorhandene Zertifikate ändern Ja Ja Ja
Neuen Code bereitstellen Ja Ja Ja

1Größenänderung beschränkt auf die Teilmenge der Größen, die für den Clouddienst verfügbar sind.

2Erfordert Azure SDK 1.5 oder höher.

Warnung

Wenn die Größe des virtuellen Computers geändert wird, werden dadurch lokale Daten zerstört.

Die folgenden Elemente werden während eines Update nicht unterstützt:

  • Ändern des Namens einer Rolle Entfernen einer Rolle und erneutes Hinzufügen mit neuem Namen
  • Ändern der Anzahl der Upgradedomänen
  • Verringern der Größe der lokalen Ressourcen

Wenn Sie andere Updates an der Serverdefinition vornehmen (z. B. die Größe der lokalen Ressource verringern), müssen Sie ein Update per VIP-Austausch vornehmen. Weitere Informationen finden Sie in unter Swap Deployment (Tauschen der Bereitstellung).

Vorgehensweise beim Upgrade

Sie können entweder alle oder eine einzelne Rolle in Ihrem Dienst aktualisieren. In beiden Fällen werden alle Instanzen jeder Rolle, die aktualisiert wird und der ersten Upgradedomäne angehört, beendet, aktualisiert und dann wieder online geschaltet. Wenn sie wieder online sind, werden die Instanzen in der zweiten Upgradedomäne beendet, aktualisiert und wieder online geschaltet. In einem Clouddienst kann jeweils höchstens eine Aktualisierung aktiv sein. Das Upgrade erfolgt immer auf die letzte Version des Clouddiensts.

Die folgende Abbildung zeigt, wie das Upgrade durchgeführt wird, wenn Sie alle Rollen im Dienst aktualisieren:

Upgraden des Diensts

Die nächste Abbildung zeigt, wie das Update durchgeführt wird, wenn Sie nur eine Rolle aktualisieren:

Upgraden der Rolle

Während einer automatischen Aktualisierung wertet der Azure Fabric Controller in regelmäßigen Abständen die Integrität des Clouddiensts aus, um zu bestimmen, wann die nächste UD durchlaufen werden kann. Diese Bewertung der Integrität erfolgt pro Rolle und berücksichtigt nur die Instanzen in der neuesten Version (d. h. Instanzen von Updatedomänen, die bereits durchlaufen wurden). Es wird überprüft, ob eine Mindestanzahl Rolleninstanzen für jede Rolle einen zufriedenstellende Endzustand erreicht hat.

Starttimeout für Rolleninstanz

Der Fabric-Controller wartet bei jeder Rolleninstanz 30 Minuten darauf, dass der Zustand „Gestartet“ erreicht wird. Nach Ablauf des Zeitlimits fährt der Fabric Controller mit der nächsten Rolleninstanz fort.

Auswirkung auf Laufwerksdaten während eines Clouddienstupgrades

Wenn Sie einen Dienst von einer einzelnen Instanz auf mehrere Instanzen aktualisieren, führt Azure Ihre Dienste herunter, während das Upgrade ausgeführt wird. Die Vereinbarung zum Servicelevel mit gewährleisteter Dienstverfügbarkeit gilt nur für Dienste, die mit mehr als eine Instanz bereitgestellt werden. In der folgenden Liste wird beschrieben, wie sich jedes Upgradeszenario eines Azure-Diensts auf die Daten auf den einzelnen Laufwerken auswirkt:

Szenario Laufwerk C Laufwerk D Laufwerk E
VM-Neustart Wird beibehalten Wird beibehalten Wird beibehalten
Portalneustart Wird beibehalten Wird beibehalten Wird zerstört
Reimaging für das Portal Wird beibehalten Wird zerstört Wird zerstört
Direktes Upgrade Wird beibehalten Wird beibehalten Wird zerstört
Knotenmigration Wird zerstört Wird zerstört Wird zerstört

In der vorherigen Liste stellt das Laufwerk „E:“ das Stammlaufwerk der Rolle dar und sollte nicht hartcodiert werden. Verwenden Sie stattdessen die Umgebungsvariable % RoleRoot% , um das Laufwerk darzustellen.

Stellen Sie einen neuen Dienst mit mehreren Instanzen auf dem Staging-Server bereit, und führen Sie einen VIP-Austausch aus, um die Ausfallzeit bei der Aktualisierung eines Einzelinstanzdiensts zu minimieren.

Zurücksetzen eines Updates

Azure ist bei der Verwaltung von Diensten während eines Updates flexibel, da Sie weitere Vorgänge für einen Dienst initiieren können, nachdem die ursprüngliche Updateanforderung vom Azure Fabric-Controller akzeptiert wurde. Eine Zurücksetzung kann nur ausgeführt werden, wenn sich ein Update (Konfigurationsänderung) oder ein Upgrade für die Bereitstellung im Status In Bearbeitung befindet. Ein Update oder Upgrade gilt als in Bearbeitung, wenn mindestens eine Instanz des Diensts noch nicht auf die neue Version aktualisiert wurde. Um zu testen, ob ein Rollback zulässig ist, überprüfen Sie, ob der Wert des RollbackAllowed-Flags TRUE lautet. Die VorgängeBereitstellung abrufen und Clouddiensteigenschaften abrufen geben das RollbackAllowed-Flag zurück.

Hinweis

Es ist nur sinnvoll, eine Zurücksetzung für ein direktes Update oder Upgrade aufzurufen, da bei Upgrades per VIP-Austausch die gesamte ausgeführte Instanz des Diensts durch eine andere ersetzt wird.

Das Zurücksetzen einer Aktualisierung in Bearbeitung wirkt sich folgendermaßen auf die Bereitstellung aus:

  • Alle Rolleninstanzen, für die noch kein Update/Upgrade auf die neue Version durchgeführt wurde, werden nicht aktualisiert, da diese Instanzen bereits die Zielversion des Diensts ausführen.
  • Rolleninstanzen, für die bereits ein Update oder Upgrade auf die neue Version der Dienstpaketdatei (*.cspkg) und/oder der Dienstkonfigurationsdatei (*.cscfg) durchgeführt wurde, werden vor dem Upgrade auf die Version dieser Dateien zurückgesetzt.

Die folgenden Features bieten diese Funktionalität:

In den folgenden Situationen wird ein Rollback eines Updates oder Upgrades nicht unterstützt:

  • Verringerung lokaler Ressourcen: Wenn das Update die lokalen Ressourcen für eine Rolle vergrößert, ermöglicht die Azure-Plattform keinen Rollback.
  • Kontingentgrenzen – Wenn die Aktualisierung ein Vorgang zum zentralen Herunterskalieren war, ist Ihr Berechnungskontingent für das Zurücksetzen unter Umständen nicht mehr ausreichend. Jedem Azure-Abonnement ist ein Kontingent zugeordnet. Das Kontingent gibt die maximale Anzahl Kerne an, die alle gehosteten Dienste dieses Abonnements nutzen können. Wenn durch das Rollback eines Updates das Kontingent für Ihr Abonnement überschritten wird, ist kein Rollback nicht möglich.
  • Racebedingung: Wenn das ursprüngliche Update abgeschlossen wurde, ist kein Rollback möglich.

Ein Rollback eines Updates ist beispielsweise nützlich, wenn Sie den Vorgang Upgrade für Bereitstellung durchführen im manuellen Modus ausführen, um die Rate zu steuern, mit der ein umfangreiches direktes Upgrade für Ihren von Azure gehosteten Dienst zurückgesetzt wird.

Rufen Sie während des Rollouts des Upgrades im manuellen Modus Upgrade für Bereitstellung durchführen auf, und gehen Sie die Upgradedomänen durch. Wenn Sie beim Überwachen des Upgrades feststellen, dass einige Rolleninstanzen in den ersten Upgradedomänen nicht reagieren, können Sie den Vorgang Rollback für Update oder Upgrade durchführen für die Bereitstellung aufrufen. Dieser Vorgang hat keine Auswirkungen auf Instanzen, die nicht aktualisiert werden, sondern er führt ein Rollback der aktualisierten Instanzen auf das vorherige Dienstpaket und die vorherige Konfiguration durch.

Initiieren mehrerer Änderungsvorgänge für eine laufende Bereitstellung

In einigen Fällen sollen möglicherweise mehrere Änderungsvorgänge gleichzeitig für eine laufende Bereitstellung initiiert werden. Sie können z. B. ein Dienstupdate ausführen, und während des Rollouts des Updates für Ihren Dienst einige Änderungen vornehmen, z. B. ein Rollback des Updates durchführen, ein anderes Update anwenden oder sogar die Bereitstellung löschen. Dies ist möglicherweise erforderlich, wenn ein Dienstupgrade fehlerhaften Code enthält, und die aktualisierte Rolleninstanz daher wiederholt abstürzt. In diesem Fall macht der Azure Fabric-Controller keine Fortschritte beim Anwenden des Upgrades, da keine ausreichende Anzahl Instanzen in der aktualisierten Domäne fehlerfrei ist. Dieser Status wird als eine unterbrochene Bereitstellung bezeichnet. Sie können die Bereitstellung fortsetzen, indem Sie die Aktualisierung zurücksetzen oder eine neue Aktualisierung über das fehlerhafte Aktualisierung anwenden.

Nachdem der Azure Fabric-Controller die ursprüngliche Update- oder Upgradeanforderung des Diensts erhalten hat, können Sie Änderungen vornehmen. Sie müssen also nicht warten, bis der erste Vorgang abgeschlossen ist, bevor Sie einen anderen Änderungsvorgang starten.

Wenn Sie einen zweiten Updatevorgang initiieren, während das erste Update noch ausgeführt wird, dann wird dies ähnlich wie beim Rollbackvorgang ausgeführt. Wenn Sie das zweite Update im automatischen Modus ausführen, wird die erste Upgradedomäne sofort aktualisiert. Dadurch sind Instanzen mehrerer Upgradedomänen möglicherweise gleichzeitig offline.

Verfügbare Änderungsvorgänge: Bereitstellungskonfiguration ändern, Upgrade für Bereitstellung durchführen, Bereitstellungsstatus aktualisieren, Bereitstellung löschen und Zurücksetzen der Aktualisierung oder des Upgrades.

Die beiden Vorgänge Bereitstellung abrufen und Clouddiensteigenschaften abrufen geben das Locked-Flag zurück. Sie können das Locked-Flag überprüfen, um zu bestimmen, ob Sie einen Änderungsvorgang für eine bestimmte Bereitstellung aufrufen können.

Wenn Sie die Version dieser Methoden aufrufen möchten, die das Locked-Flag ausgibt, müssen Sie den Anforderungsheader auf „x-ms-version: 2011-10-01“ oder höher festlegen. Weitere Informationen zu Versionsverwaltungsheadern finden Sie unter Versionsverwaltung im klassischen Bereitstellungsmodell.

Verteilung von Rollen über Upgradedomänen

Azure verteilt Instanzen einer Rolle gleichmäßig über eine festgelegte Anzahl von Upgradedomänen, die als Teil der Dienstdefinitionsdatei (.csdef) konfiguriert werden können. Die maximale Anzahl von Upgradedomänen ist 20, der Standardwert ist 5. Weitere Informationen zum Ändern der Dienstdefinitionsdatei finden Sie unter Azure-Dienstdefinitionsschema (CSDEF-Datei).

Wenn Ihre Rolle z. B. zehn Instanzen umfasst, enthält jede Upgradedomäne standardmäßig zwei Instanzen. Wenn Ihre Rolle 14 Instanzen umfasst, dann enthalten vier Upgradedomänen drei Instanzen, und eine fünfte Domäne enthält zwei.

Upgradedomänen werden anhand eines nullbasierten Index identifiziert: Die erste Upgradedomäne hat die ID „0“, die zweite Upgradedomäne hat die ID „1“ und so weiter.

Die folgende Abbildung zeigt, wie ein Dienst mit zwei Rollen verteilt wird, wenn der Dienst zwei Upgradedomänen definiert. Der Dienst führt acht Instanzen der Webrolle und neun Instanzen der Workerrolle aus.

Verteilung von Upgradedomänen

Hinweis

Beachten Sie, dass Azure steuert, wie Instanzen Upgradedomänen zugeordnet werden. Es kann nicht festgelegt werden, welche Instanzen welcher Domäne zugeordnet werden.

Nächste Schritte

Verwalten von Clouddiensten
Überwachen von Clouddiensten
Konfigurieren von Clouddiensten