Självstudie: Uppgradera Kubernetes i AKS aktiverat av Azure Arc
Gäller för: AKS på Azure Stack HCI 22H2, AKS på Windows Server
Som en del av hanteringen av programmets och klustrets livscykel kanske du vill uppgradera till den senaste tillgängliga versionen av Kubernetes när du använder AKS aktiverat av Azure Arc.
I den här självstudien, del sju av sju, beskrivs hur du uppgraderar ett Kubernetes-kluster. Du lär dig att:
- Identifiera aktuella och tillgängliga Kubernetes-versioner
- Uppgradera Kubernetes-versionen av Kubernetes-noder
- Uppgradera operativsystemets version av Kubernetes-noder
- Uppgradera ett Kubernetes-kluster till den senaste versionen
- Verifiera uppgraderingen
- Ta bort ett Kubernetes-kluster
Vilka är de tillgängliga uppdateringsalternativen?
Det finns flera typer av uppdateringar, som kan ske oberoende av varandra och i vissa kombinationer som stöds:
- Uppdatera AKS-värden till den senaste versionen.
- Uppdatera ett AKS-arbetsbelastningskluster till en ny Kubernetes-version.
- Uppdatera AKS-containervärdarna till en nyare version av operativsystemet.
- Kombinerad uppdatering av operativsystem och Kubernetes-version.
Alla uppdateringar utförs i ett löpande flöde för att undvika avbrott i arbetsbelastningens tillgänglighet. När en ny Kubernetes-arbetsnod med en nyare version förs in i klustret flyttas resurser från den gamla noden till den nya noden. När detta har slutförts inaktiveras den gamla noden och tas bort från klustret.
Exemplen i den här självstudien förutsätter att arbetsbelastningsklustret, mycluster
, för närvarande finns på Kubernetes version 1.18.8 och använder en operativsystemversion som är mer än 30 dagar gammal.
Innan du börjar
I tidigare självstudier har du lärt dig hur du paketerar ett program i en containeravbildning, laddar upp det till Azure Container Registry och skapar ett Kubernetes-kluster. Sedan distribuerade du programmet till klustret. Om du inte har slutfört de här stegen börjar du med Självstudie 1 – Skapa containeravbildningar.
Uppdatera Kubernetes-versionen av ett arbetsbelastningskluster
Du måste uppgradera PowerShell-modulerna och AKS-värden först innan du uppdaterar Kubernetes-versionen.
Viktigt!
Uppdatering av ett arbetsbelastningskluster till en nyare version av Kubernetes fungerar bara om kubernetes-målversionen stöds av den aktuella versionen av operativsystemet. Om du vill söka efter de kombinationer av operativsystem och Kubernetes-versioner som stöds använder du Get-AksHciUpdates
kommandot .
Följ stegen nedan för att uppdatera Kubernetes-versionen:
Kör följande kommando för att hämta den aktuella versionen av ditt arbetsbelastningskluster:
Get-AksHciCluster
ProvisioningState : provisioned KubernetesVersion : v1.20.7 NodePools : linuxnodepool WindowsNodeCount : 0 LinuxNodeCount : 0 ControlPlaneNodeCount : 1 Name : mycluster
Kör följande kommando för att hämta tillgängliga Kubernetes-versioner:
Get-AksHciKubernetesVersion
OrchestratorType OrchestratorVersion OS IsPreview ---------------- ------------------- -- --------- Kubernetes v1.19.9 Linux False Kubernetes v1.19.11 Linux False Kubernetes v1.20.5 Linux False Kubernetes v1.20.7 Linux False Kubernetes v1.21.1 Linux False Kubernetes v1.19.9 Windows False Kubernetes v1.19.11 Windows False Kubernetes v1.20.5 Windows False Kubernetes v1.20.7 Windows False Kubernetes v1.21.1 Windows False
Utdata visar Kubernetes-versionerna och operativsystemen där versionen är tillgänglig. Du kan se att det finns fler tillgängliga uppgraderingsversioner. När du uppgraderar kluster kan du dock inte hoppa över versioner. Till exempel är v1.18.xx --> v1.19.xx tillåtet, men v1.18.xx --> v1.20.xx är inte det.
Initiera kubernetes-versionsuppdateringen
Kör följande kommando för att uppdatera Kubernetes-versionen:
Update-AksHciCluster -name mycluster -kubernetesVersion v1.21.1
Kommentar
Det här kommandot uppdaterar endast befintliga klusternoder i
mycluster
arbetsbelastningsklustret till den nya versionen av Kubernetes.
Uppdatera endast operativsystemversionen
Viktigt!
Du kan uppdatera ett arbetsbelastningskluster till en nyare version av operativsystemet utan att ändra Kubernetes-versionen, men det fungerar bara om den nya versionen av operativsystemet inte kräver en annan Kubernetes-version.
Följ stegen i följande exempel för att uppdatera operativsystemets version:
Kör följande kommando för att få tillgängliga uppdateringar av arbetsbelastningskluster:
Get-AksHciClusterUpdates -name mycluster
details kubernetesversion operatingsystemversion ------- ----------------- ---------------------- This is a patch kubernetes upgrade. (i.e v1.1.X to v1.1.Y) v1.19.9 @{mariner=April 2021; windows=April 2021} This is a minor kubernetes upgrade. (i.e v1.X.1 to v1.Y.1) v1.20.5 @{mariner=April 2021; windows=April 2021}
Starta versionsuppdateringen för operativsystemet genom att köra följande kommando:
Update-AksHciCluster -clusterName mycluster -kubernetesVersion v1.21.1 -operatingSystem
Uppdatera både operativsystemet och Kubernetes-versionen
Viktigt!
Uppdatering av ett arbetsbelastningskluster till en nyare version av operativsystemet och Kubernetes-versionen stöds.
I följande exempel förutsätter vi att det finns en ny Kubernetes-version tillgänglig och att det aktuella versionsnumret är v1.20.7.
Kör följande kommando för att hämta alla tillgängliga uppdateringar av arbetsbelastningskluster:
Get-AksHciClusterUpdates -name mycluster
details kubernetesversion operatingsystemversion ------- ----------------- ---------------------- This is a patch kubernetes upgrade. (i.e v1.1.X to v1.1.Y) v1.19.9 @{mariner=April 2021; windows=April 2021} This is a minor kubernetes upgrade. (i.e v1.X.1 to v1.Y.1) v1.20.5 @{mariner=April 2021; windows=April 2021}
Kör följande kommando för att initiera uppdateringen av arbetsbelastningsklustret:
Update-AksHciCluster -name mycluster -kubernetesVersion v1.21.1
Verifiera en uppgradering
Kontrollera att uppgraderingen lyckades med kommandot Get-AksHciCluster på följande sätt:
Get-AksHciCluster -name mycluster
Följande exempelutdata visar att klustret kör KubernetesVersion v1.21.1:
ProvisioningState : provisioned
KubernetesVersion : v1.21.1
NodePools : linuxnodepool
WindowsNodeCount : 0
LinuxNodeCount : 0
ControlPlaneNodeCount : 1
Name : mycluster
Ta bort klustret
Eftersom den här självstudien är den sista delen av serien kanske du vill ta bort klustret. Använd kommandot Remove-AksHciCluster för att ta bort resursgruppen, containertjänsten och alla relaterade resurser:
Remove-AksHciCluster -name mycluster
Nästa steg
I den här självstudien uppgraderade du Kubernetes i ett Kubernetes-kluster på AKS som aktiverats av Arc. Du har lärt dig att:
- Identifiera aktuella och tillgängliga Kubernetes-versioner
- Uppgradera Kubernetes-versionen av Kubernetes-noder
- Uppgradera operativsystemets version av Kubernetes-noder
- Uppgradera ett Kubernetes-kluster till den senaste versionen
- Verifiera uppgraderingen
Mer information om AKS som aktiveras av Azure Arc finns i AKS-översikten, kluster och arbetsbelastningar.