Automatisieren von Upgrades von Kubernetes und Knotenimages über mehrere Cluster hinweg mithilfe von Azure Kubernetes Fleet Manager

Gilt für: ✔️ Flottenmanager ✔️ Flottenmanager mit Hubcluster

Die rechtzeitige und sichere Aktualisierung von Clustern ist ein wichtiges Anliegen von Plattformadministratoren. Wenn Sie Azure Kubernetes Fleet Manager Update Runs and Strategies einführen, können Sie autoupgradeprofile verwenden, um die Ausführung von Updates zu automatisieren, wenn neue Kubernetes- oder Knotenimageversionen veröffentlicht werden.

In diesem Artikel wird erläutert, wie Sie automatisch Aktualisierungsprofile verwenden, um Updateausführungen automatisch zu erstellen und auszuführen, wenn Azure Kubernetes Service (AKS) neue Kubernetes- oder Knotenimageversionen veröffentlicht.

Hinweis

Durch das automatische Upgrade ausgelöste Aktualisierungen berücksichtigen geplante Wartungsfenster, die Sie auf AKS-Cluster-Ebene festgelegt haben. Weitere Informationen finden Sie unter geplante Wartung über mehrere Mitgliedscluster, die erklärt, wie Update-Läufe Mitgliedscluster mit konfigurierten Wartungsfenstern handhaben.

Bevor Sie anfangen

  • Lesen Sie die konzeptionelle Übersicht über Autoupgradeprofile, in der die in diesem Handbuch referenzierten Konfigurationen erläutert werden.
  • Richten Sie einen Flottenmanager mit einem oder mehreren Mitgliedsclustern ein. Wenn Sie keins haben, folgen Sie der Schnellstartanleitung , um einen Flotten-Manager zu erstellen und AKS-Clustern als Mitglieder beizutreten.
  • Konfigurieren Sie eine Updatestrategie. Verwenden Sie die Anweisungen im Artikel "Anleitungen zum Update ausführen". Sie benötigen den Ressourcenbezeichner der Updatestrategie, um sie mit einem Profil für automatische Upgrades zu verwenden, wenn Sie die Azure CLI nutzen.
  • Legen Sie die folgenden Umgebungsvariablen fest, die in den Azure CLI-Befehlen verwendet werden sollen:

    export GROUP=<resource-group>
    export FLEET=<fleet-name>
    export AUTOUPGRADEPROFILE=<upgrade-profile-name>
    # Optional
    export STRATEGYID=<strategy-id>
    export CLUSTER=<aks-cluster-name>
    
  • Installieren Sie die neueste Azure CLI Version. Informationen zum Ausführen einer Installation oder eines Upgrades finden Sie unter Installieren der Azure-Befehlszeilenschnittstelle.

  • Installieren Sie die neueste fleet Azure CLI Erweiterung. Verwenden Sie den az extension add Befehl, um die Erweiterung zu installieren.

    az extension add --name fleet
    

    Verwenden Sie den az extension update Befehl, um auf die neueste Version der Erweiterung zu aktualisieren.

    az extension update --name fleet
    

Hinweis

Cluster mit Agentpools, die aus Knotenpoolsnapshots erstellt wurden, sind je nach ausgewähltem Kanal für automatische Upgrades und Knotenimageoption wie folgt betroffen:

  • Node-Image-Kanal: Das Node-Image wird auf die von Fleet Manager festgelegte Version aktualisiert. Der Verweis auf die Momentaufnahme (creationData) wird aus dem Agentpool entfernt.
  • Stable-, Rapid- oder Target Kubernetes Nebenversionen-Kanäle mit festgelegtem Knotenabbild:
    • Einheitliches Bild: Das Knotenimage wird auf die von Fleet Manager festgelegte Version aktualisiert. Der Verweis auf die Momentaufnahme (creationData) wird aus dem Agentpool entfernt.
    • Neuestes Image: Der Agentpool behält seinen Verweis auf die Momentaufnahme (creationData) bei, und das Knotenimage wird nicht geändert.

Weitere Informationen finden Sie unter Grundlegendes zu Knotenimageupgrades und Momentaufnahmen.

Erstellen von Profilen für automatische Upgrades

Erstellen Von Profilen für das automatische Upgrade mithilfe des az fleet autoupgradeprofile create Befehls.

Sie können ein Auto-Upgrade-Profil deaktivieren, indem Sie das --disabled-Flag mit dem Befehl az fleet autoupgradeprofile create verwenden. Um ein deaktiviertes Profil für das automatische Upgrade erneut zu aktivieren, führen Sie den az fleet autoupgradeprofile create Befehl ohne das --disabled Flag erneut aus.

Hinweis

Das Deaktivieren eines Profils für automatische Upgrades wirkt sich nicht auf laufende Aktualisierungsläufe aus. Der Prozess stellt jedoch die Generierung neuer Aktualisierungsläufe ein, bis Sie das Profil wieder aktivieren.

Kubernetes-Updates im stabilen Kanal

Aktualisieren Sie auf die neueste unterstützte Kubernetes-Patchversion für Nebenversion N-1, wobei N die neueste unterstützte Nebenversion ist.

Aktualisieren Sie die Mitgliedscluster nacheinander

Aktualisieren Sie Member-Cluster sequenziell mit dem Befehl az fleet autoupgradeprofile create.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel Stable

Aktualisieren von Memberclustern mithilfe einer vorhandenen Updatestrategie

Aktualisieren Sie Mitgliedscluster mithilfe einer vorhandenen Aktualisierungsstrategie. Verwenden Sie den az fleet autoupgradeprofile create Befehl mit dem --update-strategy-id Parameter, der auf die ID der vorhandenen Updatestrategie festgelegt ist.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel Stable

Aktualisieren von Memberclustern mithilfe einer vorhandenen Updatestrategie mit konsistentem Knotenimage

Aktualisieren Sie Mitgliedscluster mithilfe einer vorhandenen Updatestrategie, und stellen Sie sicher, dass die gleiche Knotenbildversion in jeder Azure Region verwendet wird. Verwenden Sie den az fleet autoupgradeprofile create-Befehl mit dem auf Consistent gesetzten --node-image-selection-Parameter. Alle Mitgliedscluster führen dieselbe Knotenimageversion aus.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel Stable \
  --node-image-selection Consistent

Aktualisieren von Memberclustern mithilfe einer vorhandenen Updatestrategie mit dem neuesten Knotenimage

Aktualisieren Sie Mitgliedscluster mithilfe einer vorhandenen Updatestrategie, und stellen Sie sicher, dass die neueste verfügbare Knotenimageversion für jede Azure Region verwendet wird. Verwenden Sie den az fleet autoupgradeprofile create-Befehl mit dem auf Latest gesetzten --node-image-selection-Parameter. Mitglieder-Cluster können mehrere Knotenimageversionen ausführen.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel Stable \
  --node-image-selection Latest

Updates des Knotenimagekanals

Aktualisieren Sie Knoten mit einem neu gepatchten Computerimage, das Sicherheitsupdates und Fehlerbehebungen enthält.

Aktualisieren Sie die Knoten-Images einzeln

Aktualisieren Sie die Node-Images für Mitgliedscluster nacheinander mithilfe des Befehls az fleet autoupgradeprofile create.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel NodeImage

Aktualisieren von Knotenimages mithilfe einer vorhandenen Updatestrategie

Aktualisieren Sie Node-Images für Member-Cluster mithilfe einer vorhandenen Update-Strategie. Verwenden Sie den az fleet autoupgradeprofile create Befehl, und legen Sie den --update-strategy-id Parameter auf die ID der vorhandenen Updatestrategie fest.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel NodeImage 

Zielupdates für Kubernetes-Nebenversionen

Aktualisieren Sie mithilfe des --target-kubernetes-version-Parameters auf eine definierte Kubernetes-Ziel-Minor-Version. Geben Sie die Version im Format {major version}.{minor version} an (z. B. 1.33). Das automatische Upgrade von Fleet Manager aktualisiert Membercluster automatisch auf die neueste Patchversion der angegebenen Zielversion, wenn der Patch verfügbar ist.

Von Bedeutung

Beachten Sie bei Verwendung des Nebenversionskanals "Target Kubernetes " die folgenden Informationen:

  • Sie müssen den Parameter --target-kubernetes-version festlegen. Dieser Parameter wird für andere Automatische Upgradekanäle (Rapid, Stable, Node Image und Security Patch) nicht unterstützt.
  • Das Long-Term Support-Flag (LTS) ist nur verfügbar, --long-term-supportwenn der Target Kubernetes-Nebenversionskanal verwendet wird. Legen Sie dieses Kennzeichen für andere Kanäle auf False.
  • Sie können nur LTS Kubernetes-Versionen (N-2) für ein Profil für das automatische Upgrade mit der --long-term-support Kennzeichnung auswählen. Damit das automatische Flottenupgrade in diesem Szenario weiterhin funktioniert, stellen Sie sicher, dass die Cluster im generierten Updatelauf alle mit LTS aktiviert sind. Nicht-LTS-Cluster führen dazu, dass die Updateausführung fehlschlägt, wenn der erste Nicht-LTS-Cluster gefunden wird.
  • Sie können die Kubernetes-Zielversion nicht auf eine zukünftige Kubernetes-Version festlegen, die AKS nicht veröffentlicht hat.

Aktualisieren Sie Mitgliedscluster auf eine bestimmte Kubernetes-Nebenversion

Aktualisieren Sie Membercluster auf eine bestimmte Kubernetes-Minor-Version, indem Sie den Befehl az fleet autoupgradeprofile create verwenden und den Parameter --target-kubernetes-version auf die gewünschte Version festlegen. Im folgenden Beispiel werden Membercluster auf Kubernetes, Version 1.33, aktualisiert.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel TargetKubernetesVersion \
  --target-kubernetes-version "1.33"

Aktualisieren von Mitgliedsclustern mit aktiviertem LTS auf eine bestimmte Kubernetes-Minor-Version

Aktualisieren Sie Membercluster mit aktiviertem LTS auf eine bestimmte Kubernetes-Minor-Version, indem Sie den Befehl az fleet autoupgradeprofile create verwenden, wobei der Parameter --target-kubernetes-version auf die gewünschte Version gesetzt und das Flag --long-term-support aktiviert ist. Im folgenden Beispiel werden Membercluster auf Kubernetes, Version 1.29, aktualisiert, wobei LTS aktiviert ist.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel TargetKubernetesVersion \
  --target-kubernetes-version "1.29" \
  --long-term-support

Updates des Sicherheitspatchkanals

Aktualisieren Sie Linux-Knoten mit Sicherheitsfixes. Wenden Sie Updates nach Möglichkeit mithilfe von Livepatching an. Stellen Sie andernfalls ein neu gepatchtes Computerimage bereit, das Sicherheitsupdates enthält.

Aktualisieren Sie Knoten mit Sicherheitspatches nacheinander.

Aktualisieren Sie die Node-Images für Mitgliedscluster nacheinander mithilfe des Befehls az fleet autoupgradeprofile create.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel SecurityPatch

Aktualisieren von Knoten mit Sicherheitspatches mithilfe einer vorhandenen Updatestrategie

Aktualisieren Sie Node-Images für Member-Cluster mithilfe einer vorhandenen Update-Strategie. Verwenden Sie den az fleet autoupgradeprofile create Befehl, und legen Sie den --update-strategy-id Parameter auf die ID der vorhandenen Updatestrategie fest.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel SecurityPatch 

Anzeigen von Profilen für automatische Upgrades

Profile für automatische Upgrades sind Ressourcen auf Flottenebene. Sie sind nicht direkt einzelnen AKS-Clustern zugeordnet. Um zu ermitteln, welche Profile Ihre AKS-Cluster aktualisieren können, listen Sie zuerst die Flottenmitglieder auf und bestätigen, dass die Cluster Mitglieder der Flotte sind.

az fleet member list \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --query "[].{memberName:name,clusterResourceId:clusterResourceId}" \
  --output table

Listet alle Profile für automatische Upgrades für die Flotte mithilfe des az fleet autoupgradeprofile list Befehls auf.

az fleet autoupgradeprofile list \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --output table

Zeigen Sie mithilfe des az fleet autoupgradeprofile show Befehls ein bestimmtes Profil für das automatische Upgrade für die Flotte an. Überprüfen Sie den Kanal, den Status und updateStrategyId in der Ausgabe.

az fleet autoupgradeprofile show \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE

Wenn updateStrategyId leer ist, verwendet das Profil die Aktualisierungsreihenfolge Eine nach der anderen und nimmt die Mitgliedscluster der Flotte nacheinander auf. Wenn updateStrategyId eine Ressourcen-ID enthält, zeigen Sie die referenzierte Strategie an, um die Phasen, Gruppen oder Mitgliedsselektoren zu überprüfen, die bestimmen, welche Fleet-Mitglieder in den generierten Updateausführungen enthalten sind.

PROFILE_STRATEGY_ID=$(az fleet autoupgradeprofile show \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --query updateStrategyId \
  --output tsv)

if [[ -n "$PROFILE_STRATEGY_ID" ]]; then
  az fleet updatestrategy show \
    --resource-group $GROUP \
    --fleet-name $FLEET \
    --name "${PROFILE_STRATEGY_ID##*/}"
fi

Löschen eines Profils für automatische Upgrades

Verwenden Sie den Befehl az fleet autoupgradeprofile delete, um ein vorhandenes Profil für das automatische Upgrade zu löschen. Nachdem Sie diesen Befehl ausgeführt haben, werden Sie aufgefordert, den Löschvorgang zu bestätigen. Um die Bestätigung zu umgehen und das Profil sofort zu löschen, fügen Sie --yes in den Befehl ein.

az fleet autoupgradeprofile delete \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE

Hinweis

Das Löschen eines Profils für automatische Upgrades wirkt sich nicht auf laufende Aktualisierungsläufe aus.

Erstellen von Profilen für automatische Upgrades

Aktualisieren Sie auf die neueste unterstützte Kubernetes-Patchversion für Nebenversion N-1, wobei N die neueste unterstützte Nebenversion ist.

  1. Navigieren Sie im Azure-Portal zu Ihrer Azure Kubernetes Fleet Manager-Ressource.

  2. Wählen Sie im Menü „Dienst“ unter „Einstellungen“ die Option „Multicluster-Update“>Auto-Upgrade-Profile>+ Erstellen aus.

  3. Konfigurieren Sie beim Erstellen eines Profils für automatische Upgrades die folgenden Optionen:

    • Unter Details zum automatischen Upgrade:
      • Profilname für das automatische Upgrade: Geben Sie einen Namen für das Profil für das automatische Upgrade ein.
      • Status: Wählen Sie "Aktiviert " oder "Deaktiviert" aus. Deaktivierte Profile für automatische Upgrades werden nicht ausgelöst, wenn neue Versionen veröffentlicht werden.
      • Aktualisierungssequenz: Wählen Sie Phasen oder Einzeln aus.
    • Unter Automatische Upgrade-Auslöser:
      • Kanal: Wählen Sie "Stabil" aus.
      • Knotenbild: Wählen Sie "Neuestes Bild " oder "Konsistentes Bild" aus.
    • Unter Strategiedetails:
      • Wenn Sie eine Aktualisierungssequenz mit Phasen ausgewählt haben, wählen Sie eine vorhandene Strategie aus, oder erstellen Sie eine neue.
  4. Wählen Sie Erstellen aus, um das Profil für das automatische Upgrade zu erstellen.

    Screenshot des Azure Kubernetes Fleet Manager Azure-Portalbereichs zum Erstellen des Profils für das automatische Upgrade mithilfe des Stable-Kanals.

Anzeigen von Profilen für automatische Upgrades

Profile für automatische Upgrades sind Ressourcen auf Flottenebene. Sie sind nicht direkt mit einzelnen AKS-Clustern verknüpft. Um zu ermitteln, welche Profile Ihre AKS-Cluster aktualisieren können, vergewissern Sie sich, dass die Cluster Mitglieder der Flotte sind, und überprüfen Sie dann die Profile der Flotte und deren Updatesequenzen.

  1. Navigieren Sie im Azure-Portal zu Ihrer Azure Kubernetes Fleet Manager-Ressource.
  2. Wählen Sie im Dienstmenü Flottenmitglieder aus, und vergewissern Sie sich, dass Ihre AKS-Cluster in der Mitgliederliste angezeigt werden.
  3. Wählen Sie unter Einstellungen die Option Multicluster-Update> aus.
  4. Wählen Sie ein Profil für das automatische Upgrade aus, um den Kanal, den Status und die Aktualisierungssequenz anzuzeigen.
  5. Wenn die Aktualisierungssequenz Eins nach dem anderen ist, umfasst das Profil die Mitgliedscluster der Fleet nacheinander. Wenn die Aktualisierungssequenz Phasen verwendet, überprüfen Sie die Phasen, Gruppen und Mitgliedsselektoren der zugeordneten Strategie, um zu bestimmen, welche Flottenmitglieder die generierten Updateläufe enthalten.

Löschen eines Profils für automatische Upgrades

  1. Navigieren Sie im Azure-Portal zu Ihrer Azure Kubernetes Fleet Manager-Ressource.
  2. Wählen Sie im Service-Menü unter Einstellungen die Option Multicluster-Aktualisierung>Auto-Upgrade-Profile aus.
  3. Wählen Sie das Profil aus, das Sie löschen möchten, und wählen Sie dann "Ja löschen>" aus, um dies zu bestätigen.

Hinweis

Das Löschen eines Profils für automatische Upgrades wirkt sich nicht auf laufende Aktualisierungsläufe aus.

Validierung automatischer Upgrades

Automatische Upgrades erfolgen nur, wenn neue Kubernetes- oder Knotenimages verfügbar sind. Wenn das automatische Upgrade ausgelöst wird, wird eine verknüpfte Updateausführung erstellt, sodass Sie Updateausführung verwalten verwenden können, um die Ergebnisse des automatischen Upgrades anzuzeigen.

Sie können Ihre vorhandenen Versionen auch als Referenz überprüfen.

Rufen Sie die aktuelle Kubernetes-Version für einen Mitgliedscluster ab, indem Sie den Befehl az aks show mit dem Parameter --query verwenden, um die Ausgabe nach der Eigenschaft currentKubernetesVersion zu filtern.

az aks show \
  --resource-group $GROUP \
  --name $CLUSTER \
  --query currentKubernetesVersion

Rufen Sie die aktuelle Version des Knotenimages für einen Mitgliedscluster ab, indem Sie den az aks showBefehl mit dem --queryParameter verwenden, um die Ausgabe nach der Eigenschaft nodeImageVersion zu filtern.

az aks show \
  --resource-group $GROUP \
  --name $CLUSTER \
  --query "agentPoolProfiles[].{name:name,mode:mode, nodeImageVersion:nodeImageVersion, osSku:osSku, osType:osType}"

Wenn die Aktualisierung abgeschlossen ist, können Sie diese Befehle erneut ausführen und die aktualisierten Versionen anzeigen, die bereitgestellt werden.

Generieren einer Updateausführung aus einem Profil für automatische Upgrades

Nachdem Sie ein Profil für das automatische Upgrade erstellt haben, kann es einige Zeit dauern, bevor eine neue Kubernetes- oder Knotenimageversion das automatische Upgrade auslöst, um eine Updateausführung zu erstellen und auszuführen. Mit dem automatischen Upgrade können Sie jederzeit ein neues Update generieren, indem Sie den az fleet autoupgradeprofile generate-update-run Befehl verwenden. Die resultierende Updateausführung basiert auf der von AKS veröffentlichten Kubernetes- oder Knotenimageversion.

Weitere Informationen zum Erstellen eines On-Demand-Updates aus einem Profil für automatische Upgrades finden Sie unter Generieren eines Updatelaufs aus einem Profil für automatische Upgrades.