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 automatisk uppgradering måste du förstå grunderna för AKS-klusteruppgradering.
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.
Automatisk uppgradering uppgraderar först kontrollplanet och uppgraderar sedan agentpoolerna en i taget.
Därför kan du använda automatisk uppgradering av kluster
Automatisk uppgradering av kluster ger en "set once and forget"-mekanism som ger konkreta fördelar med tid och driftkostnader. Du behöver inte stoppa dina arbetsbelastningar, distribuera om dina arbetsbelastningar eller skapa ett nytt AKS-kluster. Genom att aktivera automatisk uppgradering kan du se till att dina kluster är uppdaterade och inte missar de senaste funktionerna eller korrigeringarna från AKS och uppströms Kubernetes.
AKS följer ett strikt versionshanteringsfönster för support. Med rätt valda kanaler för automatisk uppgradering kan du undvika att kluster hamnar i en version som inte stöds. Mer information om AKS-supportfönstret finns i Mindre aliasversioner.
Kund- och AKS-initierade automatiska uppgraderingar
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 initierar även automatiska uppgraderingar för kluster som inte stöds. När ett kluster i en n-3-version (där n är den senaste aks GA-delversionen som stöds) håller på att sjunka till n-4 uppgraderar AKS automatiskt klustret till n-2 för att stanna kvar i en AKS-supportprincip. Automatisk uppgradering av ett plattformskluster som stöds till en version som stöds aktiveras som standard. Stoppade nodpooler uppgraderas under en automatisk uppgradering. 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
Om du använder automatisk klusteruppgradering kan du inte längre uppgradera kontrollplanet först och sedan uppgradera de enskilda nodpoolerna. Automatisk uppgradering 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.
Om du använder node-image
(äldre och inte ska användas) automatisk uppgraderingskanal för kluster eller nodavbildningens NodeImage
automatiska uppgraderingskanal inaktiveras obevakade Linux-uppgraderingar som standard.
Kanaler för automatisk uppgradering av kluster
Automatiskt slutförda uppgraderingar fungerar på samma sätt som manuella uppgraderingar. Den valda kanalen för automatisk uppgradering avgör tidpunkten för uppgraderingar. När du gör ändringar i automatisk uppgradering 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öljande uppgraderingskanaler är tillgängliga:
Kanal | Åtgärd | Exempel |
---|---|---|
none |
inaktiverar automatiska uppgraderingar och håller klustret på den aktuella versionen av Kubernetes. | Standardinställning om den lämnas oförändrad. |
patch |
uppgraderar automatiskt klustret 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 automatiskt klustret 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 (vanligtvis varje vecka), men de 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 den automatiska uppgraderingen av NodeImage kanalen i nodbilden. |
Kommentar
Tänk på följande när du använder automatisk uppgradering av kluster:
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.
Automatisk uppgradering 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:
11-02-preview
et eller senare, och du väljernode-image
den automatiska uppgraderingskanalen för klustret, anges kanalen för automatisk uppgradering av nodavbildning automatiskt tillNodeImage
.Varje kluster kan bara associeras med en enda kanal för automatisk uppgradering. Det beror på att den angivna kanalen avgör vilken Kubernetes-version som körs i klustret.
Om klustret inte har någon kanal för automatisk uppgradering och du aktiverar den för LTS (långsiktig support) kommer den som standard att vara en
patch
kanal för automatisk uppgradering.
Använda automatisk uppgradering av kluster med ett nytt AKS-kluster
Ange den automatiska uppgraderingskanalen när du skapar ett nytt kluster med kommandot
az aks create
och parameternauto-upgrade-channel
.az aks create --resource-group myResourceGroup --name myAKSCluster --auto-upgrade-channel stable --generate-ssh-keys
Använda automatisk uppgradering av kluster med ett befintligt AKS-kluster
Ange kanalen för automatisk uppgradering i ett befintligt kluster med hjälp av
az aks update
kommandot med parameternauto-upgrade-channel
.az aks update --resource-group myResourceGroup --name myAKSCluster --auto-upgrade-channel stable
Använda automatisk uppgradering med planerat underhåll
Om du använder planerat underhåll och automatisk uppgradering av 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 automatisk uppgradering:
- För att säkerställa att klustret alltid har en version som stöds (dvs. i N-2-regeln) väljer du antingen
stable
ellerrapid
kanaler. - Om du är intresserad av att få de senaste korrigeringarna så snart som möjligt använder du
patch
kanalen. Kanalennode-image
passar bra om du vill att dina agentpooler alltid ska köra de senaste nodbilderna. - Om du vill uppgradera nodavbildningar automatiskt när du använder en annan klusteruppgraderingskanal kan du överväga att använda den automatiska uppgraderingskanalen
NodeImage
för nodavbildningen. - Följ metodtipsen för operatorn.
- Följ metodtipsen för PDB.
- Information om felsökning av uppgradering finns i dokumentationen för AKS-felsökning.
En detaljerad beskrivning av metodtips för uppgradering och andra överväganden finns i AKS-korrigerings- och uppgraderingsvägledning.
Azure Kubernetes Service