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.
Med funktionen för återställning av nodpoolversioner i Azure Kubernetes Service (AKS) kan du återställa från oväntade beteenden efter Kubernetes-uppgraderingar. Om det uppstår problem kan du återställa nodpooler till den tidigare Kubernetes-versionen och nodavbildningskombinationen, vilket säkerställer affärskontinuitet och minimerar stilleståndstiden. Den här artikeln förklarar när och hur du använder återställningsfunktionen, dess funktioner och begränsningar samt metodtips för åtgärder efter återställning.
Förutsättningar
- Azure CLI version 2.88.0 eller senare. Hitta din version med hjälp av kommandot
az --version. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI. Tilläggetaks-previewkrävs inte. - API-version
2026-04-01eller senare.
Funktioner som stöds för återställning av nodpoolversion
Återställningsfunktionen för versionen av nodpoolen stöder följande möjligheter:
| Egenskap | Description |
|---|---|
| Återställ version | Återställer både Kubernetes- och nodbildversioner till sitt tidigare tillstånd. |
| Manuell utlösare, automatisk körning | Återställning kräver manuell initiering, men när det har utlösts hanterar systemet automatiskt hela återställningsprocessen utan ytterligare åtgärder. |
| Kompatibilitet för nodpool | Fungerar på alla typer av nodpooler, inklusive både virtuella maskinpooler (VM) och Virtual Machine Scale Sets (VMSS)-baserade nodpooler. |
| Stöd för operativsystem | Kompatibel med alla operativsystem (OS) lagerhållningsenheter (SKU:er) inklusive Ubuntu, Azure Linux och Windows pooler. |
| Förenklad process | Ingen hantering av ögonblicksbilder krävs. |
Begränsningar och överväganden för återställning av nodpooler
Tänk på följande begränsningar när du använder återställningsfunktionen för nodpoolen:
- Begränsat till endast versionsändringar. Andra ändringar i nodpoolen återställs inte.
- Inga samtidiga åtgärder tillåts under återställning.
- Du måste inaktivera Kubernetes automatiska uppgraderingskanal innan återställning. Om uppgraderingskanalen för nodens operativsystem är aktiverad kan återställningen av Kubernetes-versionen fortsätta, men den tidigare nodavbildningen kanske inte återställs. Inaktivera uppgraderingskanalen för nodens operativsystem när du behöver återställa både Kubernetes-versionen och nodavbildningen.
- Tillgänglig endast i sju dagar efter att uppgraderingen har slutförts.
- Det går inte att utföra på varandra följande återställningar för att gå tillbaka flera versioner.
- Återställningsfunktionen stöder inte att återkalla ändringar av OS SKU. Om du har ändrat OS SKU för nodpoolen (till exempel från Ubuntu till Azure Linux) försöker återställningen återställa den tidigare nodavbildningsversionen, som tillhör en annan OS-SKU och avvisas. Om du vill återställa en OS SKU-ändring använder du
az aks nodepool update --os-skukommandot i stället.
Tänk på följande när du använder återställning av en nodpool:
| Säkerhetskonsekvenser | Operativa överväganden |
|---|---|
| * Sårbarhetsexponering: Återställning tar bort säkerhetskorrigeringar och uppdateringar från den nyare versionen. Därför rekommenderar vi att du endast använder återställning tillfälligt när du löser problem och sedan uppgraderar om så snart som möjligt. |
*
Tjänstavbrott: Återställningsprocessen kan orsaka tillfälliga arbetsbelastningsavbrott. * Resurstillgänglighet: Se till att det finns tillräckligt med kapacitet för återställningsåtgärden. * Testkrav: Planera för att åtgärda underliggande problem innan du försöker uppgradera igen. |
Varför använda återställning
Rollback ger en kritisk återställningsmekanism för produktionsmiljöer.
- Affärskontinuitet: Minimera stilleståndstid när uppgraderingar orsakar oväntade problem
- Riskreducering: Återställ snabbt kända konfigurationer utan komplexa återställningsprocedurer
- Förenklad återställning: Undvik manuella åtgärder eller återskapa kluster från säkerhetskopior
När ska nodpoolen återställas?
Överväg återgång som återställningsalternativ i följande scenarier:
- Uppgraderingsfel inträffar: Infrastrukturproblem, resursbegränsningar eller kompatibilitetsproblem förhindrar lyckade uppgraderingar.
- Applikationer kraschar: Arbetsbelastningar drabbas av kritiska fel eller datakorruption med nyare Kubernetes-versioner.
- Prestanda försämras: Nya versioner orsakar oacceptabla svarstider, dataflödesproblem eller resursförbrukning.
- Testluckor uppstår: Problem uppstår i produktionen som inte fångades under förproduktionstesterna.
Arbetsflöde för tillbakarullning av nodpool
Följande diagram illustrerar arbetsflödet för återställning av nodpoolen:
Återställningsprocessen återställer alla noder i en nodpool till deras tidigare versionstillstånd. Viktiga aspekter av arbetsflödet är:
- All-or-nothing-metod: Alla noder måste återgå till den tidigare versionen för att återställningen ska slutföras. Om en nod inte kan återställas misslyckas hela åtgärden för att tydligt kommunicera klustrets tillstånd, ungefär som uppgraderingsåtgärden.
- Progress tracking: Övervaka återställningsstatus med Azure aktivitetslogg för åtgärdshistorik och API för åtgärdsstatus för realtidsuppdateringar.
Återgå till en tidigare version av nodpoolen
Viktigt!
Tänk på följande när du återställer en nodpoolversion:
- Om du håller dig till äldre versioner på lång sikt ökar säkerhetsriskerna och kan så småningom förhindra uppgraderingar på grund av versionsförskjutningsbegränsningar. Behandla återställning som en tillfällig återställningsmekanism, inte som en permanent lösning.
- Återställning till tidigare version ersätter noderna i nodpoolen och kan tillfälligt störa arbetslaster. Innan du börjar kontrollerar du att dina arbetsbelastningar har tillräcklig kapacitet och att dina Pod Disruption Budgets tillåter de nodstörningar som krävs.
- När du använder REST-API:et kan du först anropa Agent Pools - Get Upgrade Profile för att hämta de nyligen använda versionerna. Använd den här informationen för att ange målversionen i återställningsbegäran.
Kommandot Azure CLI rollback väljer automatiskt den senast registrerade versionen, även kallad N-1. Du kan inte använda kommandot för att välja en godtycklig Kubernetes- eller nodbildversion och du kan inte utföra på varandra följande återställningar för att gå igenom flera tidigare versioner.
Granska klustrets automatiska uppgraderingskonfiguration.
az aks show \ --name myAKSCluster \ --resource-group myResourceGroup \ --query autoUpgradeProfileInaktivera kubernetes automatiska uppgraderingskanalen före återställning. Om du behöver återställa den tidigare nodavbildningen inaktiverar du även uppgraderingskanalen för nodens operativsystem.
Granska det tillgängliga återställningsmålet med hjälp av kommandot
az aks nodepool get-rollback-versions.az aks nodepool get-rollback-versions \ --name myNodePool \ --resource-group myResourceGroup \ --cluster-name myAKSClusterOm kommandot inte returnerar några versioner har nodpoolen inget giltigt mål för återställning. Nodpoolen måste ha uppgraderats under de senaste sju dagarna och den inspelade Kubernetes-versionen måste fortfarande stödjas av AKS.
Återställ nodpoolen med hjälp av kommandot
az aks nodepool rollback.az aks nodepool rollback \ --name myNodePool \ --resource-group myResourceGroup \ --cluster-name myAKSClusterKontrollera Kubernetes-versionen, nodavbildningsversionen och etableringsstatusen när återställningen har slutförts.
az aks nodepool show \ --name myNodePool \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --query '{provisioningState:provisioningState,kubernetesVersion:currentOrchestratorVersion,nodeImageVersion:nodeImageVersion}'En lyckad återgång returnerar
SucceededförprovisioningStateoch visar de inspelade Kubernetes- och nodbildversionerna.
Om du ändrade klustrets automatiska uppgraderingsinställningar före återställningen återställer du de avsedda inställningarna när du har undersökt och löst uppgraderingsproblemet.
Övervaka återgångsstatus för nodpool
Du kan använda följande metoder för att övervaka statusen för en återställningsåtgärd för nodpoolen och verifiera en lyckad återställning:
- Slå upp aktivitetsloggar i klustret.
- Leta upp specifika uppgraderingsrelaterade händelser i klustret.
- Prenumerera på AKS-händelser med Azure Event Grid.
- Om du prenumererar på en automatisk uppgraderingskanal kan du använda AKS Communication Manager för uppgraderingsmeddelanden.
Felsökning av återställning av nodpool
I följande tabell beskrivs vanliga återställningsproblem och hur du löser dem:
| Problematik | Orsak och lösning |
|---|---|
| Inga återställningsversioner returneras. | Nodpoolen kanske inte har någon registrerad uppgradering, det sju dagar långa återställningsfönstret kan ha upphört att gälla eller så stöds kanske inte den tidigare Kubernetes-versionen längre. Kontrollera nodpoolens uppgraderingshistorik och supportprincipen för AKS Kubernetes-versioner. |
| AKS rapporterar att en annan operation pågår. | Vänta tills den aktuella åtgärden för klustret eller nodpoolen har slutförts innan du försöker utföra återställningen igen. Om du behöver stoppa operationen använder du az aks nodepool operation-abort kommandot. |
| Kubernetes-versionen rullas tillbaka, men nodbilden gör det inte. | Uppgraderingskanalen för nodens operativsystem kan vara aktiverad. Inaktivera kanalen när du behöver återställa den tidigare nodbilden. |
| AKS avvisar den tidigare versionen av nodavbildningen. | Nodpoolens OS SKU kan ha ändrats sedan den registrerades. Återställningsfunktionen stöder inte att återkalla ändringar av OS SKU. Använd az aks nodepool update --os-sku för att återgå till tidigare OS SKU i stället. |
| AKS stöder inte den tidigare Kubernetes-versionen. | Den inspelade versionen kanske inte längre stöds. Kontrollera principen för versionssupport för AKS Kubernetes. |
Metodtips efter återställning
När du har återställt nodpoolen använder du följande metodtips för att säkerställa stabilitet och säkerhet:
- Undersök rotorsaken: Identifiera varför uppgraderingen misslyckades innan du försöker uppgradera igen. Granska programloggar, resursmått och kompatibilitetskrav.
- Test i icke-produktion: Verifiera den nyare versionen i en utvecklings- eller mellanlagringsmiljö för att återskapa och lösa problem innan du uppgraderar produktionen igen.
-
Planera omuppgradering: Stanna inte kvar på den återställda versionen på obestämd tid. Schemalägg en omuppgradering för att underhålla säkerhetskorrigeringar och support:
- För kritiska säkerhetsproblem: Uppgradera igen inom några dagar efter att korrigeringar har verifierats.
- För programkompatibilitetsproblem: Uppgradera igen inom några veckor efter kodjusteringar.
- Maximal rekommenderad tidsram: 30 dagar för att undvika att ackumulera säkerhetsrisker.
Vanliga frågor (FAQ)
Kan jag genomföra andra åtgärder under en tillbakagång av nodpoolen?
Nej, återställningen måste slutföras innan andra åtgärder startas. Avbryt återställningen först om du vill utföra olika åtgärder.
Återställer återställning av nodpooler både Kubernetes-versionen och nodbilden?
Ja, återställningen återgår till den senast använda Kubernetes-versionen och dess motsvarande nodbild. Om båda komponenterna har ändrats återställer systemet den tidigare Kubernetes-versionen med den senaste kompatibla nodbilden för den versionen.
Kan jag bara återställa nodbilden utan att ändra nodpoolversionen?
Ja, om du bara har utfört en uppdatering av nodbilden under de senaste sju dagarna (utan att uppgradera nodpoolversionen) återställer återställningen den tidigare virtuella hårddiskbilden (VHD) samtidigt som samma Kubernetes-version bibehålls.
Kan jag återställa till en version som inte stöds?
Nej, du kan inte återställa till en Kubernetes-version som inte längre stöds av AKS. Om nodpoolen till exempel var på version 1.27.9 (nu har slut på support) och du har uppgraderat till 1.28.5 kan du inte återställa till 1.27.9 eftersom den inte längre finns i versionslistan som stöds. Kontrollera alltid supportprincipen för AKS Kubernetes-versionen för att verifiera versionstillgängligheten.
Av samma anledning kan du inte återställa en plattformsinitierad uppgradering. När AKS uppgraderar ett kluster från en version som inte stöds är den tidigare versionen inte längre tillgänglig.
Behöver jag inaktivera automatisk uppgradering innan jag utför en återställning av nodpoolen?
Ja, du måste inaktivera kubernetes automatiska uppgraderingskanal innan du utför en återställning. Om du bara aktiverar uppgraderingskanalen för nodens operativsystem kan återställningen av Kubernetes-versionen fortsätta, men den tidigare nodavbildningen kanske inte återställs. Inaktivera uppgraderingskanalen för nodens operativsystem när du behöver återställa både Kubernetes-versionen och nodavbildningen.
Om klustret ingår i en uppdateringsgrupp i en Azure Kubernetes Fleet Manager autoupgrade-profil måste du också ta bort klustret från uppdateringsgruppen innan du utför återställningen. Annars kan processen för automatisk uppgradering automatiskt uppgradera nodpoolen igen när återställningen har slutförts.
Kan jag återställa när jag har ändrat OS SKU (till exempel från Ubuntu till Azure Linux)?
Nej. Återställning av nodpool är begränsad till versionsändringar och återställer inte OS SKU-ändringar. När du har migrerat från en OS SKU till en annan (till exempel Ubuntu till Azure Linux) tillhör den tidigare nodavbildningsversionen den gamla OS-SKU:n och är inte kompatibel med den aktuella konfigurationen. Återställningsåtgärden avvisar den tidigare avbildningsversionen med ett fel som liknar:
NodeImageVersion 'AKSUbuntu-2204gen2containerd-202602.13.5' is not accepted. NodeImageVersion can only be current version 'AKSAzureLinux-V3gen2-202602.13.5' or 'latest'
Om du vill återställa OS SKU använder du az aks nodepool update kommandot med parametern --os-sku . Mer information finns i Återställa operativsystemversionen.
Relaterat innehåll
Mer information om uppgraderingar av nodpooler i AKS finns i följande artiklar: