Het controlevlak van het AKS-cluster (Azure Kubernetes Service) upgraden

AKS-clusters (Azure Kubernetes Service) bestaan uit twee hoofdonderdelen: het besturingsvlak dat wordt beheerd door Azure en de knooppuntgroepen waar uw workloads worden uitgevoerd. Dit artikel richt zich op het afzonderlijk upgraden van het besturingsvlak, waarmee u nieuwe Kubernetes-versies voor API-serverfuncties kunt gebruiken terwijl u knooppuntpoolupgrades afzonderlijk beheert.

Voordat u begint

  • Als u de Azure CLI gebruikt, is voor dit artikel Azure CLI versie 2.34.1 of hoger vereist. Gebruik de az --version opdracht om de versie te vinden. Als u Azure CLI wilt installeren of upgraden, raadpleegt u Azure CLI installeren.
  • Als u Azure PowerShell gebruikt, is voor dit artikel Versie 5.9.0 of hoger van Azure PowerShell vereist. Gebruik de Get-InstalledModule -Name Az cmdlet om de versie te vinden. Als u PowerShell wilt installeren of upgraden, raadpleegt u De Azure PowerShell installeren.
  • Als u upgradebewerkingen wilt uitvoeren, hebt u de Azure Kubernetes Service Rol van inzender of gelijkwaardige machtigingen nodig.
  • Bèta-API's zijn standaard uitgeschakeld wanneer u een upgrade uitvoert naar Kubernetes versie 1.30 en 1.27 LTS-versies.

Waarschuwing

Zorg ervoor dat u voldoende rekenquotum hebt voordat u een upgrade uitvoert. Als het quotum laag is, kan de upgrade mislukken. Zie quota verhogen voor meer informatie.

Overzicht van AKS-upgradetypen

In de volgende tabel worden drie typen AKS-upgrades beschreven, waarbij hun bereik en gebruiksvoorbeelden worden gemarkeerd:

Upgrade-type Scope Gebruiksituatie
Alleen controlevlak API-server, etcd, controllerbeheer, scheduler Nieuwe Kubernetes-API's testen voordat u workloads bijwerkt
Volledig cluster Besturingsvlak en alle knooppuntgroepen Standard-upgrade om cluster up-to-date te houden
Alleen knooppuntgroep Specifieke knooppuntgroepen Gefaseerde implementatie na upgrade van het besturingsvlak

Aanbeveling

Als u het besturingsvlak bijwerkt, kunt u eerst de compatibiliteit van de Kubernetes-API valideren voordat u de actieve workloads beïnvloedt. Zie Rolling upgrades configureren voor upgradestrategieën voor knooppuntgroepen.

Upgraderegels voor Kubernetes-versie

Wanneer u een ondersteunde niet-LTS AKS-cluster bijwerken, kunt u secundaire versies van Kubernetes niet overslaan. U moet alle upgrades sequentieel uitvoeren op secundair versienummer. Upgrades tussen 1.28.x ->1.29.x of 1.29.x ->1.30.x zijn bijvoorbeeld toegestaan. 1.28.x ->1.30.x is niet toegestaan.

Een LTS-cluster kan secundaire versies overslaan bij het overstappen naar een hogere LTS-versie die door AKS wordt aangeboden, mits de upgrade voldoet aan de vereisten voor versieverschil en validatiecontroles. Zie Kan ik meerdere AKS-versies overslaan tijdens een clusterupgrade? voor meer informatie.

Vanaf Kubernetes 1.28 kan het besturingsvlak maximaal drie secundaire versies vóór knooppuntgroepen zijn. Als uw besturingsvlak bijvoorbeeld 1.35.x is, kunnen uw knooppuntgroepen 1.32.x, 1.33.x, 1.34.x of 1.35.x zijn. Zie het AKS-versieverschilbeleid voor huidige beperkingen.

Controleren op Beschikbare AKS-upgrades

Aanbeveling

Als u op de hoogte wilt blijven van de nieuwste AKS-releases en -updates, raadpleegt u de AKS-releasetracker.

Controleer met de az aks get-upgrades opdracht op beschikbare Kubernetes-releases voor uw AKS-cluster.

az aks get-upgrades --resource-group <resource-group-name> --name <cluster-name> --output table

In de volgende voorbeelduitvoer ziet u de huidige versie als 1.28.9 en ziet u de beschikbare versies onder upgrades:

Name     ResourceGroup          MasterVersion    Upgrades
-------  ---------------        ---------------  --------------
default  <resource-group-name>  1.28.9           1.29.2, 1.29.4

Alleen het AKS-besturingsvlak upgraden

Belangrijk

U kunt geen upgrade uitvoeren die alleen op het besturingsvlak wordt uitgevoerd wanneer automatisch upgraden van het cluster is ingeschakeld. Cluster autoupgrade werkt altijd het besturingsvlak en alle knooppuntgroepen bij elkaar.

  1. Werk het besturingsvlak bij met behulp van de az aks upgrade opdracht met de --control-plane-only vlag. In het volgende voorbeeld wordt het besturingsvlak bijgewerkt naar Kubernetes versie 1.29.4:

    az aks upgrade \
        --resource-group <resource-group-name> \
        --name <cluster-name> \
        --kubernetes-version 1.29.4 \
        --control-plane-only
    
  2. Controleer of de upgrade van het besturingsvlak is geslaagd met behulp van de az aks show opdracht.

    az aks show --resource-group <resource-group-name> --name <cluster-name> --output table
    

    In de volgende voorbeelduitvoer ziet u dat het besturingsvlak nu 1.29.4 uitvoert:

    Name            Location    ResourceGroup          KubernetesVersion    ProvisioningState    Fqdn
    ------------    ----------  ---------------        -------------------  -------------------  ------------------------------------------------
    <cluster-name>  eastus      <resource-group-name>  1.29.4               Succeeded            <cluster-name>-dns-123abcd4.hcp.eastus.azmk8s.io
    
  3. Controleer of de versies van de knooppuntgroep ongewijzigd blijven met behulp van de az aks nodepool list opdracht.

    az aks nodepool list --resource-group <resource-group-name> --cluster-name <cluster-name> --query "[].{Name:name,Version:orchestratorVersion}" --output table
    

    In de uitvoer moeten de knooppuntgroepen nog steeds de vorige Kubernetes-versie weergeven.

Het volledige AKS-cluster upgraden

Opmerking

Tijdens een volledige clusterupgrade werkt AKS eerst het besturingsvlak bij, waarna elke knooppuntgroep opeenvolgend wordt bijgewerkt. Zie Rolling upgrades configureren voor meer controle over upgrades van knooppuntgroepen.

Werk het volledige cluster (besturingsvlak en alle knooppuntgroepen) bij met behulp van de az aks upgrade opdracht. In het volgende voorbeeld wordt het cluster bijgewerkt naar Kubernetes versie 1.29.4:

az aks upgrade \
    --resource-group <resource-group-name> \
    --name <cluster-name> \
    --kubernetes-version 1.29.4

Veelgestelde vragen over het upgraden van AKS-besturingsvlak

Upgradet een upgrade voor alleen besturingsvlak ook knooppuntgroepen?

Nee. Een upgrade van het besturingsvlak wijzigt geen knooppuntgroepen. Cluster autoupgrade werkt anders: het biedt geen ondersteuning voor upgrades op het besturingsvlak en upgrades van het besturingsvlak en alle knooppuntgroepen tegelijk.

Kan ik knooppuntgroepen upgraden vóór het besturingsvlak?

Nee. De versie van het besturingsvlak moet altijd gelijk zijn aan of groter zijn dan de versie van een knooppool. U moet eerst het besturingsvlak upgraden.

Hoe lang duurt een upgrade van een control plane?

De upgradeduur varieert op basis van de status van het cluster en Azure voorwaarden. Bewaken provisioningState met of Get-AzAksClusteraz aks show . De upgrade is voltooid wanneer de inrichtingsstatus is Succeeded.

Problemen met upgraden van besturingsvlak oplossen

Er zijn geen upgrades beschikbaar

Gebruik az aks get-upgrades voor een niet-ondersteund cluster om te controleren of AKS een in aanmerking komend ondersteund doel biedt. Als er een doel beschikbaar is, voert u een upgrade voor een volledig cluster uit. Upgrades op het besturingsvlak worden niet ondersteund voor dit herstelpad.

Als er geen doel beschikbaar is, bevindt uw cluster zich mogelijk al in de meest recente ondersteunde versie. Als op het cluster een niet-ondersteunde versie wordt uitgevoerd, maakt u een nieuw cluster met een ondersteunde versie en migreert u uw workloads.

Upgrade is mislukt vanwege afgeschafte API's

Controleer op afgeschafte API's voordat u een upgrade uitvoert met behulp van hulpprogramma's zoals kube-no-trouble (kubent)

kubent

Met de opdracht worden resources gescand die toegankelijk zijn via de huidige kubeconfig-context voor afgeschafte Kubernetes-API-versies. De resultaten van de uitvoergroepen per Kubernetes-versie en identificeren elke betrokken resource door KIND, NAMESPACE, NAMEen API_VERSION. Werk het bronmanifest bij voor elke vermelde resource om een ondersteunde API-versie te gebruiken voordat u een upgrade uitvoert.