Automatisk uppgradering av ett AKS-kluster (Azure Kubernetes Service)

En del av AKS-klusterlivscykeln omfattar periodiska uppgraderingar till den senaste Kubernetes-versionen. Det är viktigt att du använder de senaste säkerhetsversionerna eller uppgraderingen för att få de senaste funktionerna. Innan du lär dig mer om automatiska uppgraderingar måste du förstå grunderna för AKS-klusteruppgradering.

Tip

Om du använder AKS Automatic är klusteruppgraderingar förkonfigurerade för att använda den stabila kanalen och uppgraderas automatiskt till den senaste korrigeringen på delversion N-1 (där N är den senaste versionen som stöds). Ingen konfiguration krävs. För AUTOMATISKA AKS-kluster med specifika underhållskrav kan du ange planerade underhållsperioder. Mer information finns i Vad är Azure Kubernetes Service (AKS) Automatisk? För AKS Standard-kluster fortsätter du att läsa för att välja den kanal som passar dina behov bäst.

Kommentar

Alla uppgraderingsåtgärder, oavsett om de utförs manuellt eller automatiskt, uppgraderar nodbildversionen om den inte redan finns i den senaste versionen. Den senaste versionen är beroende av en fullständig AKS-version och kan fastställas genom att besöka AKS-versionsspåraren.

Autoupgrade uppgraderar först kontrollplanet och uppgraderar sedan agentpoolerna en i taget.

Varför ska du använda autouppgradering av kluster?

Klusterautoupgrade ger en konfigurera en gång och glöm-mekanism som ger konkreta tids- och driftkostnadsfördelar. Du behöver inte stoppa dina arbetsbelastningar, distribuera om dina arbetsbelastningar eller skapa ett nytt AKS-kluster. Genom att aktivera autoupgrade kan du se till att dina kluster är uppdaterade och inte missar de senaste funktionerna eller korrigeringarna från AKS och överordnade Kubernetes.

För AKS Automatic-kluster ingår den här fördelen från början – automatiska klusteruppgraderingar är förkonfigurerade och aktiverade som standard via den stabila kanalen, vilket eliminerar behovet av manuell konfiguration eller att fatta beslut.

AKS följer ett strikt supportversionsfönster. Med rätt valda automatiska uppgraderingskanaler kan du undvika att kluster hamnar i en version som inte stöds. Mer information om AKS-supportfönstret finns i Mindre aliasversioner.

Kundinitierade kontra AKS-initierade automatiska klusteruppgraderingar

Du kan ange information om automatisk uppgradering av kluster med hjälp av följande vägledning. Uppgraderingarna sker baserat på din angivna takt och rekommenderas att finnas kvar på Kubernetes-versioner som stöds.

  • AKS uppgraderar automatiskt kluster i version N-3 (där N är den senaste aks GA-delversionen som stöds) som är på väg att falla till N-4 och uppgraderar dem till N-2 i stället. Den här åtgärden säkerställer att kluster finns kvar i AKS-supportfönstret. Mer information finns i AKS-supportfönstret.
  • Stoppade nodpooler uppgraderas under en automatisk uppgraderingsåtgärd. Uppgraderingen gäller för noder när nodpoolen startas. Konfigurera underhållsperioder för att minimera störningar.

Begränsningar för automatisk uppgradering av kluster

Kontrollplansuppgraderingsbegränsningar

Om du använder kluster autoupgrade kan du inte längre uppgradera kontrollplanet först och sedan uppgradera de enskilda nodpoolerna. Autouppgradering av kluster uppgraderar alltid kontrollplanet och nodpoolerna tillsammans. Du kan inte bara uppgradera kontrollplanet. az aks upgrade --control-plane-only När du kör kommandot genereras följande fel:

NotAllAgentPoolOrchestratorVersionSpecifiedAndUnchanged: Using managed cluster api, all Agent pools' OrchestratorVersion must be all specified or all unspecified. If all specified, they must be stay unchanged or the same with control plane.

Autouppgradering av nodbild och obevakade uppgraderingar

Om du använder node-image den automatiska uppgraderingskanalen för klustret, som nu är äldre och inte längre ska användas, eller nodavbildningens NodeImage autouppgraderingskanal, inaktiveras obevakade Linux-uppgraderingar som standard.

Automatiska uppgraderingskanaler för kluster

Automatiskt slutförda uppgraderingar fungerar på samma sätt som manuella uppgraderingar. Den valda autoupgrade-kanalen avgör tidpunkten för uppgraderingar. När du gör ändringar i autouppgrade kan du tillåta 24 timmar innan ändringarna börjar gälla. Automatisk uppgradering av ett kluster följer samma process som när du uppgraderar ett kluster manuellt. Mer information finns i Uppgradera ett AKS-kluster.

För Automatiska AKS-kluster

AKS Automatiska kluster använder den stabila kanalen som standard. Den här kanalen ger den rekommenderade balansen för att hålla dig uppdaterad med de senaste funktionerna och säkerhetsuppdateringarna samtidigt som stabiliteten bibehålls. Kluster uppgraderar automatiskt till den senaste korrigeringsversionen på delversion N-1 (där N är den senaste delversionen som stöds).

Ingen konfiguration krävs – uppgraderingar sker automatiskt i underhållsfönstret. Du kan ange planerade underhållsperioder om det behövs för att styra när uppgraderingar sker, men kanalvalet är fast till stabilt.

Varför är det stabilt för AKS Automatic?

  • Håller kluster i N-2-supportfönstret (säkra och kompatibla)
  • Balanserar innovation med stabilitet
  • Fullständigt hanterad av AKS med säkra distributionsmetoder
  • I linje med bästa praxis för AKS:s välstrukturerade arkitektur
  • Optimerad för produktionsarbetsbelastningar

För AKS Standard-kluster

Om du använder AKS Standard väljer du den kanal som bäst överensstämmer med dina driftskrav.

Följande uppgraderingskanaler är tillgängliga:

Kanal Åtgärd Exempel
none Inaktiverar automatiska uppgraderingar och håller klustret vid den aktuella versionen av Kubernetes. Standardinställning om den lämnas oförändrad.
patch Uppgraderar klustret automatiskt till den senaste korrigeringsversionen som stöds när den blir tillgänglig samtidigt som den lägre versionen hålls densamma. Om ett kluster till exempel kör version 1.17.7 och versionerna 1.17.9, 1.18.4, 1.18.6 och 1.19.1 är tillgängliga uppgraderas klustret till 1.17.9.
stable Uppgraderar automatiskt klustret till den senaste uppdateringsversionen som stöds på delversion N-1, där N är den senaste delversionen som stöds. Om ett kluster till exempel kör version 1.17.7 och version 1.17.9, 1.18.4, 1.18.6 och 1.19.1 är tillgängliga uppgraderas klustret till 1.18.6.
rapid Uppgraderar klustret automatiskt till den senaste uppdateringsversionen som stöds på den senaste delversionen som stöds. I fall där klustrets Kubernetes-version är en N-2-delversion , där N är den senaste delversionen som stöds, uppgraderar klustret först till den senaste uppdateringsversionen som stöds på N-1-delversion . Om ett kluster till exempel kör version 1.17.7 och version 1.17.9, 1.18.4, 1.18.6 och 1.19.1 är tillgängliga uppgraderas klustret först till 1.18.6 och uppgraderas sedan till 1.19.1.
node-image(äldre) Uppgraderar automatiskt nodbilden till den senaste tillgängliga versionen. Microsoft tillhandahåller korrigeringar och nya avbildningar för bildnoder ofta (varje vecka), men dina noder som körs får inte de nya avbildningarna om du inte uppgraderar en nodbild. Om du aktiverar nodbildkanalen uppdateras nodbilderna automatiskt när en ny version är tillgänglig. Om du använder den här kanalen inaktiveras Linux [obevakade uppgraderingar] som standard. Nodbilduppgraderingar fungerar på korrigeringsversioner som är inaktuella, så länge den mindre Kubernetes-versionen fortfarande stöds. Den här kanalen rekommenderas inte längre och planeras för utfasning i framtiden. Ett alternativ som automatiskt kan uppgradera nodbilder finns i NodeImage kanalen för automatisk uppgradering av nodbilder.

Kommentar

Tänk på följande när du använder kluster autoupgrade:

  • Automatisk uppgradering av kluster uppdateras endast till GA-versioner av Kubernetes och uppdateras inte till förhandsversioner.

  • Med AKS kan du skapa ett kluster utan att ange den exakta korrigeringsversionen. När du skapar ett kluster utan att ange en korrigering kör klustret delversionens senaste GA-korrigering. Mer information finns i AKS-supportfönstret.

  • Autoupgrade kräver att klustrets Kubernetes-version finns i AKS-supportfönstret, även om du node-image använder kanalen.

  • Om du använder förhandsversions-API:t 11-02-preview eller senare och väljer kanalen node-image för automatisk klusteruppgradering växlar inställningen för uppgradering av nodavbildning automatiskt till kanalen NodeImage.

  • Varje kluster kan bara associeras med en enda autouppgraderingskanal. Orsaken är att den angivna kanalen avgör vilken Kubernetes-version som körs i klustret.

Jämförelse av klusterläge

Tabellen nedan sammanfattar konfigurationen för automatisk klusteruppgradering per klusterläge:

Aspect AKS Automatisk AKS Standard
Standardkanal stabil (förkonfigurerad) Manuell markering krävs
Uppgraderingstakt Varje vecka (fast på N-1) Baserat på din valda kanal
Konfiguration krävs Ingen – uppgraderar automatiskt Ja – välj kanal och schema
Rekommenderas för De flesta produktionsarbetsbelastningar Anpassade krav eller specifika begränsningar
Styrning av underhållsfönster Optional Rekommenderas starkt
Tillgängliga kanalalternativ endast stabil (fast) patch, stabil, snabb, ingen

Använda autouppgradering av kluster med ett nytt AKS-kluster

Kommentar

Om du skapar ett AKS-automatiskt kluster hoppar du över de här stegen. Den stabila kanalen är redan förkonfigurerad för automatiska uppgraderingar. De här stegen gäller endast för AKS Standard-kluster.

Ange autoupgrade-kanalen när du skapar ett nytt kluster med kommandot az aks create och parametern auto-upgrade-channel .

az aks create \
  --resource-group <resource-group-name> \
  --name <cluster-name> \
  --auto-upgrade-channel stable \
  --generate-ssh-keys

Använda autouppgradering av kluster med ett befintligt AKS-kluster

Kommentar

Om du använder ett AKS Automatic-kluster kan du inte ändra kanalen för automatisk uppgradering för klustret – den är förkonfigurerad att använda stable. De här stegen gäller endast för AKS Standard-kluster. Du kan ange planerade underhållsperioder för ditt AKS-automatiska kluster om det behövs.

Ange autoupgrade-kanalen i ett befintligt kluster med kommandot az aks update med parametern auto-upgrade-channel .

az aks update \
  --resource-group <resource-group-name> \
  --name <cluster-name> \
  --auto-upgrade-channel stable

Resultat:

{
  "id": "/subscriptions/aaaa6a6a-bb7b-cc8c-dd9d-eeeeee0e0e0e/resourceGroups/myResourceGroupabc123/providers/Microsoft.ContainerService/managedClusters/myAKSCluster",
  "properties": {
    "autoUpgradeChannel": "stable",
    "provisioningState": "Succeeded"
  }
}

Använd automatisk klusteruppgradering med planerat underhåll

Om du använder Autoupgrade för planerat underhåll och kluster startar uppgraderingen under det angivna underhållsfönstret.

Kommentar

Använd ett underhållsperiod på fyra timmar eller mer för att säkerställa korrekt funktionalitet.

Mer information om hur du anger ett underhållsperiod med planerat underhåll finns i Använda planerat underhåll för att schemalägga underhållsperioder för ditt AkS-kluster (Azure Kubernetes Service).

Metodtips för automatisk uppgradering av kluster

Använd följande metodtips för att maximera din framgång när du använder autoupgrade:

  • För att säkerställa att klustret alltid finns i en version som stöds, till exempel i N-2-regeln, väljer du antingen kanalerna stable eller rapid . (Obs! AKS Automatiska kluster används stable som standard.)
  • Om du vill få de senaste korrigeringarna så snart som möjligt använder du patch kanalen.
  • Om du vill uppgradera nodavbildningar automatiskt när du använder en annan klusteruppgraderingskanal kan du överväga att använda nodavbildningens autouppgraderingskanalNodeImage .
  • Följ metodtipsen för operatorn.
  • Följ metodtipsen för PodDisruptionBudget (PDB).
  • Information om felsökning av uppgradering finns i AKS-felsökningsdokumentationen.

Är klustrets automatiska uppgradering konfigurerad annorlunda för AKS Automatic?

Yes. AKS Automatiska kluster är förkonfigurerade för att använda den stabila kanalen som standard – du behöver inte konfigurera något. Den här konfigurationen tillhandahåller:

  • Automatiska uppgraderingar till den senaste korrigeringen på delversion N-1
  • Veckouppgraderingstakt i linje med AKS-metodtips
  • Fullständigt hanterad av AKS med säkra distributionsmetoder
  • Kontroll av underhållsfönster (valfritt)
  • Produktionsklara standardinställningar optimerade för de flesta arbetsbelastningar

AKS Standard-kluster kräver att du väljer en kanal baserat på dina specifika behov. Information om hur du migrerar från AKS Standard till AKS Automatic och dra nytta av dessa förkonfigurerade standardvärden finns i Vad är Azure Kubernetes Service (AKS) Automatisk?

En detaljerad beskrivning av metodtips för uppgradering och andra överväganden finns i AKS-korrigerings- och uppgraderingsvägledning.

Mer information om AKS Automatics förkonfigurerade inställningar och produktionsklara standardinställningar finns i Vad är Azure Kubernetes Service (AKS) Automatisk?