Freigeben über


Momentaufnahme von Azure Kubernetes Service-Knotenpools (AKS)

AKS veröffentlicht wöchentlich ein neues Knotenimage. Jeder neue Cluster, jeder neue Knotenpool oder jeder Upgrade-Cluster erhält immer das neueste Image, was die Konsistenz und die Wiederholbarkeit der Umgebungen erschweren kann.

Mit Knotenpool-Momentaufnahmen können Sie eine Konfigurationsmomentaufnahme Ihres Knotenpools erstellen und dann neue Knotenpools oder neue Cluster basierend auf dieser Momentaufnahme erstellen, solange diese Konfiguration und Kubernetes-Version unterstützt wird. Weitere Informationen zu den Unterstützungsfenstern finden Sie unter Unterstützte Kubernetes-Versionen in AKS.

Die Momentaufnahme ist eine Azure-Ressource, die die Konfigurationsinformationen aus dem Quellknotenpool enthält, z. B. die Knotenimageversion, die Kubernetes-Version, den Betriebssystemtyp und die Betriebssystem-SKU. Sie können dann auf diese Momentaufnahmeressource und die entsprechenden Werte ihrer Konfiguration verweisen, um einen neuen Knotenpool oder Cluster basierend darauf zu erstellen.

Voraussetzungen

Es wird vorausgesetzt, dass Sie über ein AKS-Cluster verfügen. Wenn Sie nicht über ein AKS-Cluster verfügen, finden Sie Anleitungen zum Entwerfen einer Implementierung von AKS im Unternehmensmaßstab unter Planen Ihres AKS-Designs.

Begrenzungen

  • Jeder Knotenpool oder Cluster, der aus einer Momentaufnahme erstellt wurde, muss eine VM aus derselben VM-Familie wie die Momentaufnahme verwenden. Sie können z. B. keinen neuen Knotenpool der N-Serie erstellen, der auf einer Momentaufnahme basiert, die aus einem Knotenpool der D-Serie erfasst wurde, da sich die Knotenimages in diesen Fällen strukturell unterscheiden.
  • Momentaufnahmen müssen in derselben Region wie der Quellknotenpool erstellt werden. Diese Momentaufnahmen können zum Erstellen oder Aktualisieren von Clustern und Knotenpools in anderen Regionen verwendet werden.

Erstellen einer Momentaufnahme des Knotenpools

Um eine Momentaufnahme aus einem Knotenpool zu erstellen, benötigen Sie die Ressourcen-ID des Knotenpools, die Sie mit dem folgenden Befehl abrufen können:

NODEPOOL_ID=$(az aks nodepool show --name nodepool1 --cluster-name myAKSCluster --resource-group myResourceGroup --query id -o tsv)

Wichtig

Ihr AKS-Knotenpool muss nach dem 10. November 2021 erstellt oder aktualisiert worden sein, damit eine Momentaufnahme von ihm erstellt werden kann. Wenn Sie die aks-preview Azure CLI-Erweiterungsversion 0.5.59 oder neuer verwenden, haben sich die Befehle für die Knotenpool-Momentaufnahme geändert. Aktualisierte Befehle finden Sie in der CLI-Referenz zur Knotenpool-Momentaufnahme.

Um nun eine Momentaufnahme aus dem vorherigen Knotenpool zu erstellen, verwenden Sie den CLI-Befehl az aks snapshot.

az aks nodepool snapshot create --name MySnapshot --resource-group MyResourceGroup --nodepool-id $NODEPOOL_ID --location eastus

Erstellen eines Knotenpools aus einer Momentaufnahme

Zunächst benötigen Sie die Ressourcen-ID aus der zuvor erstellten Momentaufnahme, die Sie mit dem folgenden Befehl abrufen können:

SNAPSHOT_ID=$(az aks nodepool snapshot show --name MySnapshot --resource-group myResourceGroup --query id -o tsv)

Nun können wir den folgenden Befehl verwenden, um basierend auf dieser Momentaufnahme einen neuen Knotenpool hinzuzufügen.

az aks nodepool add --name np2 --cluster-name myAKSCluster --resource-group myResourceGroup --snapshot-id $SNAPSHOT_ID

Aktualisieren eines Knotenpools auf eine Momentaufnahme

Sie können ein Upgrade eines Knotenpools auf eine Momentaufnahmekonfiguration durchführen, solange die Kubernetes-Momentaufnahmeversion und die Knotenimageversion aktueller sind als die Versionen im aktuellen Knotenpool.

Zunächst benötigen Sie die Ressourcen-ID aus der zuvor erstellten Momentaufnahme, die Sie mit dem folgenden Befehl abrufen können:

SNAPSHOT_ID=$(az aks nodepool snapshot show --name MySnapshot --resource-group myResourceGroup --query id -o tsv)

Nun können wir diesen Befehl verwenden, um diesen Knotenpool auf diese Momentaufnahmekonfiguration zu aktualisieren.

az aks nodepool upgrade --name nodepool1 --cluster-name myAKSCluster --resource-group myResourceGroup --snapshot-id $SNAPSHOT_ID

Hinweis

Die Imageversion Ihres Knotenpools ist mit der Version in der Momentaufnahme identisch und bleibt bei jedem Skalierungsvorgang gleich. Wenn dieser Knotenpool jedoch aktualisiert wird oder ein Knotenimageupgrade ohne Angabe einer Momentaufnahme-ID ausgeführt wird, wird das Knotenimage auf die neueste Version aktualisiert.

Hinweis

Verwenden Sie das --node-image-only-Flag, um nur die Knotenversion für Ihren Knotenpool zu aktualisieren. Dies ist erforderlich, wenn die Knotenimageversion für einen Knotenpool basierend auf einer Momentaufnahme mit einer identischen Kubernetes-Version aktualisiert wird.

Erstellen eines Clusters aus einer Momentaufnahme

Wenn Sie einen Cluster aus einer Momentaufnahme erstellen, wird der ursprüngliche Systempool des Clusters aus der Momentaufnahmekonfiguration erstellt.

Zunächst benötigen Sie die Ressourcen-ID aus der zuvor erstellten Momentaufnahme, die Sie mit dem folgenden Befehl abrufen können:

SNAPSHOT_ID=$(az aks nodepool snapshot show --name MySnapshot --resource-group myResourceGroup --query id -o tsv)

Nun können wir diesen Befehl verwenden, um diesen Cluster aus der Momentaufnahmekonfiguration zu erstellen.

az aks create \
    --name myAKSCluster2 \
    --resource-group myResourceGroup \
    --snapshot-id $SNAPSHOT_ID \
    --generate-ssh-keys

Nächste Schritte