Uppgradera AKS-nodbilder (Azure Kubernetes Service)
Azure Kubernetes Service (AKS) tillhandahåller regelbundet nya nodbilder, så det är bra att uppgradera nodbilderna ofta för att använda de senaste AKS-funktionerna. Linux-nodbilder uppdateras varje vecka och Windows-nodbilder uppdateras varje månad. Avbildningsuppgraderingsmeddelanden ingår i AKS-viktig information och det kan ta upp till en vecka innan uppdateringarna distribueras i alla regioner. Du kan också utföra nodbilduppgraderingar automatiskt och schemalägga dem med planerat underhåll. Mer information finns i Uppgradera nodbilder automatiskt.
Den här artikeln visar hur du uppgraderar AKS-klusternodavbildningar och hur du uppdaterar nodpoolsavbildningar utan att uppgradera Kubernetes-versionen. Information om hur du uppgraderar Kubernetes-versionen för klustret finns i Uppgradera ett AKS-kluster.
Kommentar
AKS-klustret måste använda VM-skalningsuppsättningar för noderna.
Det går inte att nedgradera en nodavbildningsversion (till exempel AKSUbuntu-2204 till AKSUbuntu-1804 eller AKSUbuntu-2204-202308.01.0 till AKSUbuntu-2204-202307.27.0).
Sök efter tillgängliga nodbilduppgraderingar
Kontrollera om det finns tillgängliga nodbildsuppgraderingar med hjälp av
az aks nodepool get-upgrades
kommandot .az aks nodepool get-upgrades \ --nodepool-name <node-pool-name> \ --cluster-name <cluster-name> \ --resource-group <resource-group>
Leta upp och anteckna värdet i
latestNodeImageVersion
utdata. Det här värdet är den senaste nodbildversionen som är tillgänglig för nodpoolen.Kontrollera din aktuella nodbildversion för att jämföra med den senaste versionen med hjälp av
az aks nodepool show
kommandot .az aks nodepool show \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <node-pool-name> \ --query nodeImageVersion
Om värdet
nodeImageVersion
skiljer sig frånlatestNodeImageVersion
kan du uppgradera nodbilden.
Uppgradera alla noder i alla nodpooler
Uppgradera alla nodavbildningar i alla nodpooler i klustret med
az aks upgrade
kommandot med--node-image-only
flaggan .az aks upgrade \ --resource-group <resource-group> \ --name <cluster-name> \ --node-image-only
Du kan kontrollera statusen för nodbilderna
kubectl get nodes
med hjälp av kommandot .Kommentar
Det här kommandot kan variera något beroende på vilket gränssnitt du använder. Mer information om Windows- och PowerShell-miljöer finns i Kubernetes JSONPath-dokumentationen.
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
När uppgraderingen är klar använder du
az aks show
kommandot för att hämta information om den uppdaterade nodpoolen. Den aktuella nodbilden visas i egenskapennodeImageVersion
.az aks show \ --resource-group <resource-group> \ --name <cluster-name>
Uppgradera en specifik nodpool
Uppdatera OS-avbildningen av en nodpool utan att göra en Kubernetes-klusteruppgradering med kommandot
az aks nodepool upgrade
med--node-image-only
flaggan .az aks nodepool upgrade \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <node-pool-name> \ --node-image-only
Du kan kontrollera statusen för nodbilderna
kubectl get nodes
med kommandot .Kommentar
Det här kommandot kan variera något beroende på vilket gränssnitt du använder. Mer information om Windows- och PowerShell-miljöer finns i Kubernetes JSONPath-dokumentationen.
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
När uppgraderingen är klar använder du
az aks nodepool show
kommandot för att hämta information om den uppdaterade nodpoolen. Den aktuella nodbilden visas i egenskapennodeImageVersion
.az aks nodepool show \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <node-pool-name>
Uppgradera nodavbildningar med fler noder
Om du vill påskynda uppgraderingen av nodbilden kan du uppgradera nodbilderna med hjälp av ett anpassningsbart nodvågsvärde. Som standard använder AKS en extra nod för att konfigurera uppgraderingar.
Uppgradera nodbilder med node surge med
az aks nodepool update
kommandot med--max-surge
flaggan för att konfigurera antalet noder som används för uppgraderingar.Kommentar
Mer information om kompromisser med olika
--max-surge
inställningar finns i Anpassa uppgradering av nodtoppar.az aks nodepool update \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <node-pool-name> \ --max-surge 33% \ --no-wait
Du kan kontrollera statusen för nodbilderna
kubectl get nodes
med kommandot .kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
Hämta information om den uppdaterade nodpoolen med hjälp av
az aks nodepool show
för att hämta information om den uppdaterade nodpoolen. Den aktuella nodbilden visas i egenskapennodeImageVersion
.az aks nodepool show \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <node-pool-name>
Nästa steg
- Information om de senaste nodbilderna finns i viktig information om AKS.
- Lär dig hur du uppgraderar Kubernetes-versionen med Uppgradera ett AKS-kluster.
- Tillämpa uppgraderingar av kluster- och nodpool automatiskt med GitHub Actions.
- Läs mer om flera nodpooler med Skapa flera nodpooler.
- Lär dig mer om att uppgradera metodtips med AKS-korrigering och uppgraderingsvägledning.
Azure Kubernetes Service