Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mit blaugrünen Upgrades können Sie Ihre AKS-Knotenpools aktualisieren, indem Sie neue grüne Knoten mit der aktualisierten Konfiguration (Kubernetes und Node Image-Version) zum vorhandenen Knotenpool hinzufügen, während die ursprünglichen blauen Knoten weiterhin ausgeführt werden. Mit dieser Strategie können Sie die neue Konfiguration testen und überprüfen, bevor Sie ein Commit für die neue Version ausführen, mit der Möglichkeit, ein schnelles Rollback auszuführen, wenn Probleme auftreten.
In diesem Artikel wird erläutert, wann blaugrüne Upgrades verwendet werden, wie der Prozess funktioniert, Konfigurationsoptionen und Überlegungen zur Verwendung dieser Upgradestrategie.
Wann sollten Blue-Green-Upgrades eingesetzt werden?
Hinweis
Beachten Sie, dass blaugrüne Upgrades während des Upgradeprozesses eine doppelte Knotenkapazität erfordern, was zu erhöhten Kosten und Ressourcenanforderungen führen kann.
Berücksichtigen Sie blaugrüne Upgrades, wenn:
- Sie benötigen eine granulare Testung und Verifizierung von Workloads, Batch für Batch.
- Sie müssen neue Knotenkonfigurationen validieren, bevor Sie den Produktivverkehr umschalten.
- Sie möchten eine sofortige Rollbackfunktion ohne erneute Bereitstellung von Knoten.
- Sie führen Aktualisierungen bei kritischen Produktionsworkloads durch, die keine Störungen tolerieren können.
- Sie müssen die Anwendungskompatibilität mit neuen Kubernetes-Versionen testen.
Wenn Sie derzeit einen manuellen blaugrünen Bereitstellungsprozess für Knotenpoolupgrades verwenden und diesen Workflow automatisieren möchten, sollten Sie stattdessen AKS blue-green node pool upgrades verwenden. Weitere Informationen zum manuellen Blue-Green-Upgrade-Prozess finden Sie unter manuelle Blue-Green-Knotenpool-Upgrades.
Wann man Standard-Rollupgrades verwenden sollte
Standard-Rolling-Upgrades könnten in den folgenden Szenarien geeigneter sein:
- Entwicklungs- oder Testumgebungen mit Ausfallzeittoleranz.
- Kostensensitive Bereitstellungen, bei denen temporäre Verdoppelung unerschwinglich ist.
- Einfache zustandslose Anwendungen mit guter Störungsbehandlung.
- Umgebungen mit eingeschränktem verfügbaren Kontingent oder begrenzter Kapazität.
Voraussetzungen
- Ausreichendes Kontingent für die Verdoppelung der Knotenpoolkapazität.
- Azure CLI Version 2.64.0 oder höher. Suchen Sie Ihre Version mithilfe des
az --versionBefehls. Informationen zum Installieren oder Aktualisieren finden Sie unter Install Azure CLI. - Die
aks-previewAzure CLI extension installiert und auf die neueste Version aktualisiert. - API-Version
2025-08-02-previewoder höher. - Cluster autoscaler konfiguriert (empfohlen, aber nicht erforderlich).
Installieren der Erweiterung aks-preview Azure CLI
Von Bedeutung
AKS-Vorschaufunktionen sind auf Selbstbedienungsbasis und freiwillig verfügbar. Vorschauversionen werden „im Istzustand“ und „wie verfügbar“ bereitgestellt und sind von den Service Level Agreements und der eingeschränkten Garantie ausgeschlossen. AKS-Vorschauversionen werden teilweise vom Kundensupport auf Grundlage der bestmöglichen Leistung abgedeckt. Daher sind diese Funktionen nicht für die Verwendung in der Produktion vorgesehen. Weitere Informationen finden Sie in den folgenden Supportartikeln:
Installieren oder aktualisieren Sie die Erweiterung mit den Befehlen aks-preview, az extension add und az extension update.
# Install the aks-preview extension
az extension add --name aks-preview
# Update the aks-preview extension
az extension update --name aks-preview
Unterstützte Features für blaugrüne Upgrades
Blaugrüne Upgrades unterstützen derzeit die folgenden Features:
- Kubernetes-Versionsupgrades
- Upgrades für Knotenimages
- System- und Benutzerknotenpools
- Manuelle Steuerung von Commit und Rollback
- Cluster-Autoskalierung
- Verfügbarkeitszonen
- PodDisruptionBudgets
- Autoupgrade-Kanäle und Geplante Wartungsfenster
- AKS Communication Manager
Einschränkungen und Überlegungen zu blaugrünen Upgrades
Blaugrüne Upgrades unterstützen derzeit nicht die folgenden Features:
- Automatisiertes Rollback
- Verwendung der Blue-Green-Strategie für Updates außerhalb von Kubernetes und der Version des Knotenabbilds (z. B. Zertifikatrotation, Kubelet/OS-Konfigurationsupdates usw.)
- Virtuelle Computerpools (VM)
- Einstellung "Max. nicht verfügbar "
- Verhalten von nicht blockierbaren Knoten und maxBlockedNodes Einstellung
Beachten Sie bei der Verwendung von blaugrünen Upgrades die folgenden Überlegungen:
| Ressourcenanforderungen | Überlegungen zur Komplexität | Zeitfaktoren |
|---|---|---|
| * Erfordert eine doppelte Knotenkapazität während des Upgradeprozesses, was zu höheren Infrastrukturkosten führt. * Sie benötigen zusätzliches Computekontingent in Ihrem Azure-Abonnement, um die temporäre Verdoppelung von Knoten zu berücksichtigen. * Es kann vorkommen, dass bei Spitzenauslastungsperioden regionale Kapazitätsgrenzen auftreten. |
* Erfordert eine sorgfältige Planung zustandsbehafteter Workloads, um die Datenkonsistenz während der Migration zu gewährleisten. * Erfordert eine zusätzliche Überwachung für die blauen und grünen Knoten während des Übergangszeitraums. |
* Längere Gesamtupgradedauer im Vergleich zu In-Place-Upgrades. * Der Validierungszeitraum fügt Zeit vor der endgültigen Umstellung hinzu. |
Blau-grüner Upgrade-Workflow
Der blaugrüne Upgradeprozess erstellt eine parallele Umgebung für sichere Übergänge zwischen Knotenpoolversionen. Sie können entweder ein Upgrade durchführen und nach der Validierung einen Commit für den neuen grünen Pool festschreiben oder ein Upgrade durchführen und bei Problemen auf den ursprünglichen blauen Pool zurückwechseln.
Upgrade- und Commit-Szenario
Das folgende Diagramm veranschaulicht den Upgrade- und Commit-Workflow:
Der Upgrade- und Commit-Prozess verläuft wie folgt:
- Cordon blue Knoten: Vorhandene blaue Knoten werden als nicht einplanbar markiert.
- Hinzufügen von grünen Knoten: Neue grüne Knoten mit der aktualisierten Konfiguration werden dem vorhandenen Knotenpool hinzugefügt.
- Paralleler Vorgang: Sowohl blaue als auch grüne Knoten werden gleichzeitig innerhalb desselben Knotenpools ausgeführt.
- Schrittweise Migration: Workloads werden schrittweise von blauen Knoten verlagert und in Batches auf grüne Knoten neu zugewiesen.
- Validieren Sie grüne Knoten: Überwachen und Testen Sie die Workloads auf den neuen Knoten während der Migration.
- Vollständiger Übergang: Nach dem endgültigen Überprüfungszeitraum werden die blauen Knoten gelöscht, und grüne Knoten werden primär.
Upgrade- und Rollbackszenario
Das folgende Diagramm veranschaulicht den Upgrade- und Rollbackworkflow:
Der Upgrade- und Rollbackprozess lautet wie folgt:
- Cordon blue Knoten: Vorhandene blaue Knoten werden als nicht einplanbar markiert.
- Hinzufügen von grünen Knoten: Neue grüne Knoten mit der aktualisierten Konfiguration werden dem vorhandenen Knotenpool hinzugefügt.
- Paralleler Vorgang: Sowohl blaue als auch grüne Knoten werden gleichzeitig innerhalb desselben Knotenpools ausgeführt.
- Erkennen von Problemen: Identifizieren von Problemen während der Überprüfung auf grünen Knoten.
- Rollback ausführen: blaue Nodes freigeben, grüne Nodes leeren und Workloads zurück zu blauen Nodes migrieren.
- Wiederherstellungszustand: Grüne Knoten werden gelöscht, und der Knotenpool kehrt zur ursprünglichen Konfiguration zurück.
Auswählen Ihrer Upgradestrategie
Beim Erstellen oder Aktualisieren eines AKS-Knotenpools können Sie die zu verwendende Upgradestrategie (upgradeStrategy) angeben. Zu den verfügbaren Strategien gehören:
| Strategie | Description |
|---|---|
Rolling (Standardwert) |
Standardmäßiges rollierendes Upgrade, bei dem Knoten einzeln aktualisiert werden. |
BlueGreen |
Fügt dem vorhandenen Knotenpool neue grüne Knoten mit der aktualisierten Konfiguration hinzu, während die ursprünglichen blauen Knoten weiterhin ausgeführt werden. |
Anpassen der blaugrünen Upgradeeigenschaften
Sie können die folgenden blaugrünen Upgradeeigenschaften anpassen (NodePoolBlueGreenUpgradeSettings):
| Eigentum | Description | Zulässige Werte | Standardwert |
|---|---|---|---|
drainBatchSize |
Anzahl oder Prozentsatz der Knoten, die in jedem Batch während des Upgrades geleert werden sollen. Der Prozentsatz wird aus der Gesamtzahl der blauen Knoten am Anfang des Upgrades berechnet. Bruchknoten werden aufgerundet. | Ganze Zahl (z. B 5. ) oder Prozentsatz (z. B 50%. ).
Muss ein Wert ungleich Null sein. |
10 % |
drainTimeoutInMinutes |
Maximale Wartezeit (in Minuten), bis die Pods auf jedem Knoten ordnungsgemäß beendet werden, bevor das Upgrade fehlschlägt. Respektiert Pod-Störungsbudgets während dieser Wartezeit. Wenn dies überschritten wird, schlägt das Upgrade fehl. | Ganze Zahl zwischen 1 und 1440 (24 Stunden). |
30 Minuten |
batchSoakDurationInMinutes |
Pausenzeit (in Minuten) zwischen dem Entleeren von Knotenchargen, um Beobachtung und Validierung zu ermöglichen. | Ganze Zahl zwischen 0 und 1440 (24 Stunden). |
15 Minuten |
finalSoakDurationInMinutes |
Wartezeit (in Minuten), nachdem alle Knoten entwässert wurden, bevor alte Knoten entfernt werden. Stellt einen endgültigen Überprüfungszeitraum vor dem Commit für das Upgrade bereit. Rollbackvorgänge sind nur während dieser letzten Stabilisierungsphase verfügbar. Sobald dieser Zeitraum abläuft und der blaue Pool gelöscht wird, ist ein Rollback nicht mehr möglich. | Ganze Zahl zwischen 0 und 10080 (sieben Tage). |
60 Minuten |
Erstellen eines Knotenpools mit standardmäßigen blaugrünen Upgradeeinstellungen
Erstellen Sie einen Knotenpool mit der standardmäßigen blau-grünen Upgradestrategie und den -einstellungen, indem Sie den
az aks nodepool addBefehl verwenden und den--upgrade-strategyParameter aufbluegreenfestlegen. Im folgenden Beispiel wird ein neuer Knotenpool mit dem NamenmyNodePoolim AKS-ClustermyAKSClusterinnerhalb der RessourcengruppemyResourceGrouperstellt:az aks nodepool add \ --name myNodePool \ --cluster-name myAKSCluster \ --resource-group myResourceGroup \ --upgrade-strategy bluegreen
Erstellen eines Knotenpools mit benutzerdefinierten blaugrünen Upgradeeinstellungen
Erstellen Sie einen Knotenpool mit benutzerdefinierten blau-grünen Upgradeeinstellungen, indem Sie den Befehl
az aks nodepool addmit dem Parameter--upgrade-strategyaufbluegreensetzen und danach alle gewünschten benutzerdefinierten blau-grünen Upgradeeinstellungen festlegen. Im folgenden Beispiel wird ein neuer Knotenpool mit dem NamenmyNodePoolim AKS-ClustermyAKSClusterinnerhalb der RessourcengruppemyResourceGrouperstellt, mit benutzerdefinierten blaugrünen Upgradeeinstellungen.az aks nodepool add \ --name myNodePool \ --cluster-name myAKSCluster \ --resource-group myResourceGroup \ --upgrade-strategy bluegreen \ --drain-timeout-bg 5 \ --batch-soak-duration 5 \ --drain-batch-size 50% \ --final-soak-duration 180
Starten eines blaugrünen Upgrades für einen vorhandenen Knotenpool
Von Bedeutung
Beim Fortsetzen eines angehaltenen Upgrades können Sie die blaugrünen Einstellungen aktualisieren, aber Sie können die Upgradestrategie oder Kubernetes-Version nicht ändern.
Starten Sie ein blaugrünes Upgrade für einen vorhandenen Knotenpool, indem Sie den
az aks nodepool upgradeBefehl zusammen mit dem--kubernetes-versionParameter verwenden, der auf Ihre gewünschte Version festgelegt ist. Sie können ein blaugrünes Upgrade für einen Knotenpool starten, der bereits die blaugrüne Strategie oder einen Knotenpool verwendet, der noch nicht mit blaugrüner Strategie konfiguriert wurde. Die folgenden Beispiele veranschaulichen beide Szenarien:# Start a blue-green upgrade for an existing node pool already using blue-green strategy az aks nodepool upgrade \ --name myNodePool \ --cluster-name myAKSCluster \ --resource-group myResourceGroup \ --kubernetes-version <kubernetes-version> # Start a blue-green upgrade for an existing node pool not yet using blue-green strategy az aks nodepool upgrade \ --name myNodePool \ --cluster-name myAKSCluster \ --resource-group myResourceGroup \ --kubernetes-version <kubernetes-version> \ --upgrade-strategy bluegreen
Anhalten oder Abbrechen eines blaugrünen Upgrades
Anhalten oder Abbrechen eines laufenden blaugrünen Upgrades mithilfe des
az aks nodepool operation-abortBefehls. Das folgende Beispiel pausiert oder bricht das Blue-Green-Upgrade für den Knotenpool mit der BezeichnungmyNodePoolim AKS-ClustermyAKSClusterinnerhalb der RessourcengruppemyResourceGroupab:az aks nodepool operation-abort \ --name myNodePool \ --cluster-name myAKSCluster \ --resource-group myResourceGroup
Roll-Back eines blue-green Upgrades
Sobald ein laufendes blaugrünes Upgrade abgebrochen wurde, kann das Rollback mithilfe des az aks nodepool rollback Befehls initiiert werden.
Das Rollback ist nur während der letzten Soak-Periode verfügbar, wie in der Eigenschaft finalSoakDurationInMinutes beschrieben.
Das folgende Beispiel führt ein Rollback des blue-green Upgrades für den Knoten-Pool namens myNodePool im AKS-Cluster myAKSCluster innerhalb der Ressourcengruppe myResourceGroup durch:
az aks nodepool rollback \
--name myNodePool \
--cluster-name myAKSCluster \
--resource-group myResourceGroup
Häufig gestellte Fragen (FAQs)
Unterstützen blaugrüne Upgrades die maxUnavailable Einstellung?
Nein, die maxUnavailable Einstellung gilt nicht für blaugrüne Upgrades. Neue grüne Knoten werden dem vorhandenen Knotenpool neben den vorhandenen blauen Knoten hinzugefügt, um sicherzustellen, dass alle ursprünglichen Knoten während des Upgradeprozesses verfügbar bleiben.
Können blaugrüne Upgrades für Knotenpoolupdates außerhalb der Kubernetes- und Knotenimageversion verwendet werden?
Nein, die blaugrüne Upgrade-Strategie ist derzeit spezifisch für Kubernetes und Upgrades der Knotenbildversion. Andere Änderungen, wie das Rotieren von Zertifikaten oder Änderungen an der Kubelet- und Betriebssystemkonfiguration, können nicht über die Blue-Green-Upgradestrategie ausgeführt werden.
Welche Kubernetes-Versionen sind mit blaugrünen Upgrades kompatibel?
Blaugrüne Upgrades funktionieren mit allen von AKS unterstützten Kubernetes-Versionen, einschließlich der von der Community unterstützten Versionen und LTS-Versionen (Long Term Support), solange Sie die API-Version 2025-08-02-preview oder höher verwenden.
Kann ich den automatischen Sicherheitspatchkanal mit blaugrünen Upgrades verwenden?
Ja, solange die Upgradestrategie des Knotenpools so konfiguriert ist, dass blaugrün verwendet wird. Bei der Konfiguration folgen Sicherheitspatches dem blaugrünen Upgradeprozess anstelle des standardmäßigen Rollupdatemechanismus.
Was geschieht mit persistenten Volumes während Blue-Green-Upgrades?
Auf persistente Volumes kann weiterhin zugegriffen werden. Pods werden ordnungsgemäß entfernt und neu zugewiesen, wobei ihre Volume-Anhänge beibehalten werden.
Kann ich blaugrüne Upgrades für mehrere Knotenpools gleichzeitig durchführen?
Ja, verschiedene Knotenpools können parallel blaugrüne Upgrades durchlaufen, aber jeder Pool kann nur ein aktives Upgrade haben. Derzeit können Sie die Reihenfolge der Upgrades nicht über mehrere Pools hinweg steuern.
Wie handhaben Blue-Green-Upgrades knotenspezifische Konfigurationen wie Taints und Labels?
Alle Knotenkonfigurationen, einschließlich Taints, Labels und Anmerkungen, werden automatisch in den grünen Pool repliziert.
Was sind die Kostenauswirkungen von Blue-Green-Upgrades?
Sie werden während des Upgrade-Fensters sowohl für die ursprünglichen blauen Knoten als auch für die neuen grünen Knoten in Rechnung gestellt. Planen Sie daher unbedingt eine vorübergehende Verdopplung der Kosten während des Übergangszeitraums ein.
Was geschieht während eines Kapazitätsausfalls?
Wenn beim Hinzufügen der grünen Knoten ein Kapazitätsfehler auftritt, schlägt das Upgrade fehl, und die blauen Knoten bleiben unberührt. Sie können das Upgrade wiederholen, sobald genügend Kapazität verfügbar ist, oder sie können ein Rollback durchführen.
Was geschieht während des Rollbacks?
Wenn die Anzahl der grünen Knoten kleiner oder gleich der Anzahl der blauen Knoten ist, wenn ein Rollback initiiert wird, werden die grünen Knoten entfernt, und die blauen Knoten werden entsperrt und wiederbelebt, um den normalen Betrieb fortzusetzen.
Verwandte Inhalte
Weitere Informationen zu Knotenpoolupgrades in AKS finden Sie in den folgenden Artikeln: