Dela via


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:

  1. 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   
    
  2. 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.

  3. 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:

  1. 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}
    
  2. 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.

  1. 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}
    
  2. 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.