Durchführen von Upgrades für AKS-Knotenimages (Azure Kubernetes Service)

Azure Kubernetes Service (AKS) stellt regelmäßig neue Knotenimages bereit. Es ist daher vorteilhaft, Ihre Knotenimages häufig zu aktualisieren, um die neuesten AKS-Features zu verwenden. Linux-Knotenimages werden wöchentlich aktualisiert, und Windows-Knotenimages werden monatlich aktualisiert. Ankündigungen zu Imageupgrades sind in den AKS-Versionshinweisen enthalten. Es kann bis zu einer Woche dauern, bis diese Updates in allen Regionen eingeführt werden. Sie können Knotenimageupgrades auch automatisch durchführen und diese Upgrades mit geplanter Wartung planen. Weitere Informationen finden Sie unter Automatisches Upgrade von Knotenimages.

In diesem Artikel erfahren Sie, wie Sie ein Upgrade für AKS-Clusterknotenimages durchführen und Knotenpoolimages aktualisieren, ohne ein Upgrade der Kubernetes-Version durchzuführen. Informationen zum Upgrade der Kubernetes-Version für Ihren Cluster finden Sie unter Aktualisieren eines AKS-Clusters.

Hinweis

Der AKS-Cluster muss VM-Skalierungsgruppen für die Knoten verwenden.

Es ist nicht möglich, eine Knotenimageversion (z. B. AKSUbuntu-2204 auf AKSUbuntu-1804 oder AKSUbuntu-2204-202308.01.0 auf AKSUbuntu-2204-202307.27.0) herabzustufen.

Nach verfügbaren Knotenimageupgrades suchen

  1. Suchen Sie mithilfe des az aks nodepool get-upgrades-Befehls nach verfügbaren Knotenimageupgrades.

    az aks nodepool get-upgrades \
        --nodepool-name <node-pool-name> \
        --cluster-name <cluster-name> \
        --resource-group <resource-group>
    
  2. Suchen Sie in der Ausgabe den latestNodeImageVersion-Wert, und notieren Sie ihn. Dieser Wert ist die neueste Version des Knotenimages, die für den Knotenpool verfügbar ist.

  3. Überprüfen Sie die aktuelle Knotenimageversion, um sie mithilfe des az aks nodepool show-Befehls mit der aktuellen Version zu vergleichen.

    az aks nodepool show \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name> \
        --query nodeImageVersion
    
  4. Wenn sich der nodeImageVersion-Wert von latestNodeImageVersion unterscheidet, können Sie das Knotenimage upgraden.

Alle Knotenimages in allen Knotenpools aktualisieren

  1. Upgraden Sie alle Knotenimages in allen Knotenpools in Ihrem Cluster mithilfe des Befehls az aks upgrade mit dem --node-image-only-Flag.

    az aks upgrade \
        --resource-group <resource-group> \
        --name <cluster-name> \
        --node-image-only
    
  2. Sie können die Status der Knotenimages mithilfe des kubectl get nodes-Befehls überprüfen.

    Hinweis

    Dieser Befehl kann sich abhängig von der verwendeten Shell geringfügig unterscheiden. Weitere Informationen zu Windows- und PowerShell-Umgebungen finden Sie in der Kubernetes JSONPath-Dokumentation.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  3. Wenn das Upgrade beendet ist, verwenden Sie den az aks show-Befehl, um die aktualisierten Details zum Knotenpool abzurufen. Das aktuelle Knotenimage wird in der nodeImageVersion-Eigenschaft angezeigt.

    az aks show \
        --resource-group <resource-group> \
        --name <cluster-name>
    

Aktualisieren eines bestimmten Knotenpools

  1. Aktualisieren Sie das Betriebssystemimage eines Knotenpools, ohne ein Upgrade des Kubernetes-Clusters durchzuführen, mit dem az aks nodepool upgrade-Befehl mit dem --node-image-only-Flag.

    az aks nodepool upgrade \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name> \
        --node-image-only
    
  2. Sie können die Status der Knotenimages mit dem kubectl get nodes-Befehls überprüfen.

    Hinweis

    Dieser Befehl kann sich je nach verwendeten Shell geringfügig unterscheiden. Weitere Informationen zu Windows- und PowerShell-Umgebungen finden Sie in der Kubernetes JSONPath-Dokumentation.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  3. Wenn das Upgrade beendet ist, verwenden Sie den az aks nodepool show-Befehl, um die aktualisierten Details zum Knotenpool abzurufen. Das aktuelle Knotenimage wird in der nodeImageVersion-Eigenschaft angezeigt.

    az aks nodepool show \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name>
    

Aktualisieren von Knotenimages mit Knotenanstiegen

Zur Beschleunigung des Upgradeprozesses für Knotenimages können Sie Ihre Knotenimages mit einem anpassbaren Knotenanstiegswert aktualisieren. Standardmäßig verwendet AKS einen zusätzlichen Knoten, um Upgrades zu konfigurieren.

  1. Aktualisieren Sie Knotenimages mit Knotenanstieg mithilfe des az aks nodepool update-Befehls mit dem --max-surge-Flag, um die Anzahl der Knoten zu konfigurieren, die für Upgrades verwendet werden.

    Hinweis

    Weitere Informationen zu den Kompromissen verschiedener --max-surge-Einstellungen finden Sie unter --max-surge.

    az aks nodepool update \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name> \
        --max-surge 33% \
        --no-wait
    
  2. Sie können die Status der Knotenimages mit dem kubectl get nodes-Befehls überprüfen.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  3. Rufen Sie die aktualisierten Knotenpooldetails mithilfe von az aks nodepool show ab. Das aktuelle Knotenimage wird in der nodeImageVersion-Eigenschaft angezeigt.

    az aks nodepool show \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name>
    

Nächste Schritte