Azure Kubernetes Service -knooppunt (AKS) upgraden

AKS ondersteunt het upgraden van de afbeeldingen op een knooppunt, zodat u op de hoogte bent van de nieuwste updates voor het besturingssysteem en runtime. AKS biedt één nieuwe afbeelding per week met de nieuwste updates. Het is dus handig om de afbeeldingen van uw knooppunt regelmatig bij te werken voor de nieuwste functies, waaronder Linux- of Windows patches. Hoewel klanten via de opmerkingen bij de release van AKS op de hoogte worden gesteld van upgrades van afbeeldingen, kan het tot een week duren voor updates in alle regio's zijn uitgerold. In dit artikel wordt beschreven hoe u AKS-clusterknooppuntafbeeldingen bij kunt werken en hoe u afbeeldingen van knooppuntpools kunt bijwerken zonder de versie van Kubernetes bij te werken.

Zie de opmerkingen bij de AKS-releasevoor meer informatie over de meest recente afbeeldingen van AKS.

Zie Een AKS-clusterupgraden voor meer informatie over het upgraden van de Kubernetes-versie voor uw cluster.

Notitie

Het AKS-cluster moet virtuele-machineschaalsets gebruiken voor de knooppunten.

Controleer of uw knooppuntgroep zich op de meest recente knooppuntafbeelding

Met de volgende opdracht kunt u zien wat de meest recente versie van de knooppuntafbeelding is die beschikbaar is voor uw knooppuntgroep:

az aks nodepool get-upgrades \
    --nodepool-name mynodepool \
    --cluster-name myAKSCluster \
    --resource-group myResourceGroup

In de uitvoer ziet u de like latestNodeImageVersion in het onderstaande voorbeeld:

{
  "id": "/subscriptions/XXXX-XXX-XXX-XXX-XXXXX/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/agentPools/nodepool1/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
}

Voor de nodepool1 meest recente knooppuntafbeelding is dus AKSUbuntu-1604-2020.10.28 beschikbaar. U kunt deze nu vergelijken met de huidige versie van de knooppuntafbeelding die wordt gebruikt door uw knooppuntgroep door het volgende uit te doen:

az aks nodepool show \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name mynodepool \
    --query nodeImageVersion

Een voorbeeld van uitvoer is:

"AKSUbuntu-1604-2020.10.08"

In dit voorbeeld kunt u dus upgraden van de huidige versie AKSUbuntu-1604-2020.10.08 van de afbeelding naar de nieuwste versie AKSUbuntu-1604-2020.10.28 .

Alle knooppunten in alle knooppuntgroepen upgraden

Het upgraden van de knooppuntafbeelding wordt uitgevoerd met az aks upgrade . Gebruik de volgende opdracht om de knooppuntafbeelding bij te upgraden:

az aks upgrade \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --node-image-only

Controleer tijdens de upgrade de status van de knooppuntafbeeldingen met de volgende opdracht om de labels op te halen en de huidige afbeeldingsgegevens van het kubectl knooppunt uit te filteren:

kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'

Wanneer de upgrade is voltooid, gebruikt u om az aks show de bijgewerkte details van de knooppuntgroep op te halen. De huidige knooppuntafbeelding wordt weergegeven in de nodeImageVersion eigenschap .

az aks show \
    --resource-group myResourceGroup \
    --name myAKSCluster

Een specifieke knooppuntgroep upgraden

Het upgraden van de afbeelding in een knooppuntgroep is vergelijkbaar met het upgraden van de afbeelding in een cluster.

Als u de besturingssysteemafbeelding van de knooppuntgroep wilt bijwerken zonder een Kubernetes-clusterupgrade uit te voeren, gebruikt u de optie --node-image-only in het volgende voorbeeld:

az aks nodepool upgrade \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name mynodepool \
    --node-image-only

Controleer tijdens de upgrade de status van de knooppuntafbeeldingen met de volgende opdracht om de labels op te halen en de huidige afbeeldingsgegevens van het kubectl knooppunt uit te filteren:

kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'

Wanneer de upgrade is voltooid, gebruikt u om az aks nodepool show de bijgewerkte details van de knooppuntgroep op te halen. De huidige knooppuntafbeelding wordt weergegeven in de nodeImageVersion eigenschap .

az aks nodepool show \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name mynodepool

Knooppuntafbeeldingen upgraden met pieken in knooppunt

Als u het upgradeproces van de knooppuntafbeelding wilt versnellen, kunt u uw knooppuntafbeeldingen upgraden met behulp van een aanpasbare piekwaarde voor het knooppunt. AKS gebruikt standaard één extra knooppunt om upgrades te configureren.

Als u de snelheid van upgrades wilt verhogen, gebruikt u de waarde om het aantal knooppunten te configureren dat moet worden gebruikt voor upgrades, zodat --max-surge ze sneller worden voltooid. Zie Piekupgrade van knooppunt aanpassen voor meer informatie over de afwegingen van --max-surge verschillende instellingen.

Met de volgende opdracht stelt u de maximale piekwaarde in voor het uitvoeren van een upgrade van een knooppuntafbeelding:

az aks nodepool upgrade \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name mynodepool \
    --max-surge 33% \
    --node-image-only \
    --no-wait

Controleer tijdens de upgrade de status van de knooppuntafbeeldingen met de volgende opdracht om de labels op te halen en de huidige afbeeldingsgegevens van het kubectl knooppunt uit te filteren:

kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'

Gebruik az aks nodepool show om de bijgewerkte details van de knooppuntgroep op te halen. De huidige knooppuntafbeelding wordt weergegeven in de nodeImageVersion eigenschap .

az aks nodepool show \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name mynodepool

Volgende stappen