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. Knotenimageupgrades können auch automatisch durchgeführt und mithilfe der geplanten Wartung geplant werden. 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
Suchen Sie mithilfe des az aks nodepool get-upgrades
-Befehls nach verfügbaren Knotenimageupgrades.
az aks nodepool get-upgrades \
--nodepool-name mynodepool \
--cluster-name myAKSCluster \
--resource-group myResourceGroup
Die Ausgabe zeigt latestNodeImageVersion
, wie im folgenden Beispiel:
{
"id": "/subscriptions/XXXX-XXX-XXX-XXX-XXXXX/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/agentPools/mynodepool/upgradeProfiles/default",
"kubernetesVersion": "1.17.11",
"latestNodeImageVersion": "AKSUbuntu-1604-2020.10.28",
"name": "default",
"osType": "Linux",
"resourceGroup": "myResourceGroup",
"type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles",
"upgrades": null
}
Die Beispielausgabe zeigt AKSUbuntu-1604-2020.10.28
als latestNodeImageVersion
.
Vergleichen Sie die neueste Version mit Ihrer aktuellen Knotenimageversion mithilfe des az aks nodepool show
-Befehls.
az aks nodepool show \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool \
--query nodeImageVersion
Ihre Ausgabe sollte etwa folgendem Beispiel entsprechen:
"AKSUbuntu-1604-2020.10.08"
In diesem Beispiel ist ein Upgrade der Knotenimageversion von Version AKSUbuntu-1604-2020.10.08
auf Version AKSUbuntu-1604-2020.10.28
verfügbar.
Alle Knotenimages in allen Knotenpools aktualisieren
Aktualisieren Sie das Knotenimage mithilfe des az aks upgrade
-Befehls mit des --node-image-only
-Flags.
az aks upgrade \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-image-only
Sie können die Status der Knotenimages mithilfe des 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}'
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 myResourceGroup \
--name myAKSCluster
Aktualisieren eines bestimmten Knotenpools
Um das Betriebssystemimage eines Knotenpools zu aktualisieren, ohne ein Upgrade des Kubernetes-Clusters durchzuführen, verwenden Sie den az aks nodepool upgrade
-Befehl mit dem --node-image-only
-Flag.
az aks nodepool upgrade \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool \
--node-image-only
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}'
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 myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool
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.
Wenn Sie die Geschwindigkeit von Upgrades erhöhen möchten, verwenden Sie den az aks nodepool update
-Befehl mit dem --max-surge
-Flag, um die Anzahl der Knoten zu konfigurieren, die für Upgrades verwendet werden. Weitere Informationen zu den Kompromissen verschiedener --max-surge
-Einstellungen finden Sie unter --max-surge
.
az aks nodepool update \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool \
--max-surge 33% \
--no-wait
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}'
Verwenden Sie az aks nodepool show
, um die aktualisierten Knotenpooldetails zu erhalten. Das aktuelle Knotenimage wird in der nodeImageVersion
-Eigenschaft angezeigt.
az aks nodepool show \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool
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.
- Wenden Sie Cluster- und Knotenpoolupgrades mit GitHub-Aktionen automatisch an.
- Weitere Informationen zu mehreren Knotenpools finden Sie unter Erstellen mehrerer Knotenpools.
- Eine ausführliche Erläuterung zu bewährten Methoden für Upgrades und anderen Überlegungen finden Sie unter AKS Patch- und Upgradeanleitungen.
Azure Kubernetes Service