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
- Informationen zu den neuesten Knotenimages finden Sie in den AKS-Versionshinweisen.
- Erfahren Sie, wie Sie die Kubernetes-Version durch Aktualisieren eines AKS-Clusters aktualisieren können.
- Erfahren Sie, wie Sie die Knotenimageversion mit einem Knotenimageupgrade aktualisieren.
- Weitere Informationen zu mehreren Knotenpools finden Sie unter Erstellen mehrerer Knotenpools.
Azure Kubernetes Service