Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
AkS-kluster (Azure Kubernetes Service) består av två huvudkomponenter: kontrollplanet som hanteras av Azure och nodpoolerna där dina arbetsbelastningar körs. Den här artikeln fokuserar på att uppgradera kontrollplanet oberoende av varandra, vilket gör att du kan använda nya Kubernetes-versioner för API-serverfunktioner samtidigt som du hanterar uppgraderingar av nodpoolen separat.
Innan du börjar
- Om du använder Azure CLI kräver den här artikeln Azure CLI version 2.34.1 eller senare.
az --versionAnvänd kommandot för att hitta versionen. Om du behöver installera eller uppgradera, se Installera Azure CLI. - Om du använder Azure PowerShell kräver den här artikeln Azure PowerShell version 5.9.0 eller senare. Använd cmdleten
Get-InstalledModule -Name Azför att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Install Azure PowerShell (Installera Azure PowerShell). - Om du vill utföra uppgraderingsåtgärder behöver du Azure Kubernetes Service deltagarroll eller motsvarande behörigheter.
- Beta-API:er inaktiveras som standard när du uppgraderar till Kubernetes version 1.30- och 1.27 LTS-versioner.
Varning
Se till att du har tillräcklig beräkningskvot innan du uppgraderar. Om kvoten är låg kan uppgraderingen misslyckas. Mer information finns i Öka kvoter.
Översikt över AKS-uppgraderingstyper
I följande tabell beskrivs tre typer av AKS-uppgraderingar som belyser deras omfång och användningsfall:
| Uppgraderingstyp | Omfång | Användningsfall |
|---|---|---|
| Endast kontrollplan | API-server, etcd, controller-manager, scheduler | Testa nya Kubernetes-API:er innan du uppgraderar arbetsbelastningar |
| Fullständigt kluster | Kontrollplan och alla nodpooler | Standarduppgradering för att hålla klustret uppdaterat |
| Endast nodpool | Specifika nodpooler | Stegvis distribution efter uppgradering av kontrollplan |
Tips/Råd
När du uppgraderar kontrollplanet först kan du verifiera Kubernetes API-kompatibilitet innan de pågående arbetsbelastningarna påverkas. Information om uppgraderingsstrategier för nodpooler finns i Konfigurera löpande uppgraderingar.
Uppgraderingsregler för Kubernetes-version
När du uppgraderar ett AKS-kluster som inte stöds kan du inte hoppa över Kubernetes-delversioner. Du måste utföra alla uppgraderingar sekventiellt efter delversionsnummer. Till exempel tillåts uppgraderingar mellan 1.28.x ->1.29.x eller 1.29.x ->1.30.x . 1.28.x ->1.30.x tillåts inte.
Ett LTS-kluster kan hoppa över mindre versioner när de flyttas till en högre LTS-version som erbjuds av AKS, förutsatt att uppgraderingen uppfyller kraven på versionsförskjutning och valideringskontroller. Mer information finns i Kan jag hoppa över flera AKS-versioner under en klusteruppgradering?.
Från och med Kubernetes 1.28 kan kontrollplanet vara upp till tre mindre versioner före nodpooler. Om kontrollplanet till exempel är på 1.35.x kan nodpoolerna vara 1.32.x, 1.33.x, 1.34.x eller 1.35.x. Information om aktuella begränsningar finns i Snedställningsprincipen för AKS-versionen.
Sök efter tillgängliga AKS-uppgraderingar
Tips/Råd
Information om hur du håller dig uppdaterad med de senaste AKS-versionerna och uppdateringarna finns i AKS-versionsspåraren.
Sök efter tillgängliga Kubernetes-versioner för ditt AKS-kluster med hjälp av az aks get-upgrades kommandot .
az aks get-upgrades --resource-group <resource-group-name> --name <cluster-name> --output table
Följande exempelutdata visar den aktuella versionen som 1.28.9 och visar de tillgängliga versionerna under upgrades:
Name ResourceGroup MasterVersion Upgrades
------- --------------- --------------- --------------
default <resource-group-name> 1.28.9 1.29.2, 1.29.4
Uppgradera endast AKS-kontrollplanet
Important
Du kan inte utföra en uppgradering med endast kontrollplan när autouppgradering av kluster är aktiverat. Autouppgradering av kluster uppgraderar alltid kontrollplanet och alla nodpooler tillsammans.
Uppgradera kontrollplanet med
az aks upgradekommandot med--control-plane-onlyflaggan . I följande exempel uppgraderas kontrollplanet till Kubernetes version 1.29.4:az aks upgrade \ --resource-group <resource-group-name> \ --name <cluster-name> \ --kubernetes-version 1.29.4 \ --control-plane-onlyBekräfta att uppgraderingen av kontrollplanet lyckades med kommandot
az aks show.az aks show --resource-group <resource-group-name> --name <cluster-name> --output tableFöljande exempelutdata visar att kontrollplanet nu körs 1.29.4
Name Location ResourceGroup KubernetesVersion ProvisioningState Fqdn ------------ ---------- --------------- ------------------- ------------------- ------------------------------------------------ <cluster-name> eastus <resource-group-name> 1.29.4 Succeeded <cluster-name>-dns-123abcd4.hcp.eastus.azmk8s.ioKontrollera att nodpoolversionerna förblir oförändrade med kommandot
az aks nodepool list.az aks nodepool list --resource-group <resource-group-name> --cluster-name <cluster-name> --query "[].{Name:name,Version:orchestratorVersion}" --output tableI utdata bör nodpoolerna fortfarande visa den tidigare Kubernetes-versionen.
Uppgradera hela AKS-klustret
Anmärkning
Under en fullständig klusteruppgradering uppgraderar AKS kontrollplanet först och uppgraderar sedan varje nodpool sekventiellt. Mer kontroll över uppgraderingar av nodpooler finns i Konfigurera löpande uppgraderingar.
Uppgradera det fullständiga klustret (kontrollplanet och alla nodpooler) med kommandot az aks upgrade . I följande exempel uppgraderas klustret till Kubernetes version 1.29.4:
az aks upgrade \
--resource-group <resource-group-name> \
--name <cluster-name> \
--kubernetes-version 1.29.4
Vanliga frågor och svar om AKS-kontrollplansuppgradering
Uppgraderar en uppgradering endast av kontrollplan även nodpooler?
Nej. En uppgradering med endast kontrollplan ändrar inte nodpooler. Autouppgradering av kluster fungerar annorlunda: det stöder inte uppgraderingar med endast kontrollplan och uppgraderar kontrollplanet och alla nodpooler tillsammans.
Kan jag uppgradera nodpooler före kontrollplanet?
Nej. Kontrollplanets version måste alltid vara lika med eller större än någon nodpoolversion. Du måste uppgradera kontrollplanet först.
Hur lång tid tar uppgraderingen av kontrollplanet?
Uppgraderingstiden varierar beroende på klustertillstånd och Azure villkor. Övervaka provisioningState med eller Get-AzAksClusteraz aks show . Uppgraderingen är klar när etableringstillståndet är Succeeded.
Lösa problem med uppgradering av kontrollplan
Inga uppgraderingar är tillgängliga
För ett kluster som inte stöds använder du az aks get-upgrades för att kontrollera om AKS erbjuder ett berättigat mål som stöds. Om ett mål är tillgängligt utför du en fullständig klusteruppgradering. Uppgraderingar med endast kontrollplan stöds inte för den här återställningssökvägen.
Om inget mål är tillgängligt kanske klustret redan har den senaste versionen som stöds. Om klustret kör en version som inte stöds skapar du ett nytt kluster med en version som stöds och migrerar dina arbetsbelastningar.
Uppgraderingen misslyckades på grund av inaktuella API:er
Innan du uppgraderar kontrollerar du efter inaktuella API:er med verktyg som kube-no-trouble (kubent):
kubent
Kommandot söker igenom resurser som är tillgängliga via den aktuella kubeconfig-kontexten efter inaktuella Kubernetes API-versioner. Utdata grupperar resultaten efter Kubernetes-versionen och identifierar varje berörd resurs med KIND, NAMESPACE, NAMEoch API_VERSION. Uppdatera källmanifestet för varje listad resurs för att använda en API-version som stöds innan du uppgraderar.