Delen via


Zelfstudie: Kubernetes upgraden in AKS waarvoor Azure Arc is ingeschakeld

Van toepassing op: AKS op Azure Stack HCI 22H2, AKS op Windows Server

Als onderdeel van het beheren van de levenscyclus van toepassingen en clusters, wilt u mogelijk upgraden naar de nieuwste beschikbare versie van Kubernetes wanneer u AKS gebruikt die is ingeschakeld door Azure Arc.

In deze zelfstudie, deel zeven van zeven, wordt beschreven hoe u een Kubernetes-cluster kunt upgraden. U leert het volgende:

  • Huidige en beschikbare Kubernetes-versies identificeren
  • De Kubernetes-versie van Kubernetes-knooppunten upgraden
  • De versie van het besturingssysteem van Kubernetes-knooppunten bijwerken
  • Een Kubernetes-cluster upgraden naar de nieuwste versie
  • Een geslaagde upgrade valideren
  • Een Kubernetes-cluster verwijderen

Wat zijn de beschikbare updateopties?

Er zijn verschillende soorten updates, die onafhankelijk van elkaar kunnen plaatsvinden en in bepaalde ondersteunde combinaties:

  • Werk de AKS-host bij naar de nieuwste versie.
  • Werk een AKS-workloadcluster bij naar een nieuwe Kubernetes-versie.
  • Werk de AKS-containerhosts bij naar een nieuwere versie van het besturingssysteem.
  • Gecombineerde update van besturingssysteem en Kubernetes-versie.

Alle updates worden uitgevoerd in een rolling stroom om storingen in de beschikbaarheid van workloads te voorkomen. Wanneer een nieuw Kubernetes-werkknooppunt met een nieuwere build in het cluster wordt geplaatst, worden resources verplaatst van het oude knooppunt naar het nieuwe knooppunt. Zodra dit is voltooid, wordt het oude knooppunt buiten gebruik gesteld en verwijderd uit het cluster.

In de voorbeelden in deze zelfstudie wordt ervan uitgegaan dat het workloadcluster, myclusterzich momenteel op Kubernetes versie 1.18.8 bevindt en een besturingssysteemversie van meer dan 30 dagen gebruikt.

Voordat u begint

In eerdere zelfstudies hebt u geleerd hoe u een toepassing in een containerinstallatiekopieën inpakt, uploadt naar Azure Container Registry en een Kubernetes-cluster maakt. Vervolgens hebt u de toepassing geïmplementeerd in het cluster. Als u deze stappen nog niet hebt voltooid, begint u met zelfstudie 1: Containerinstallatiekopieën maken.

De Kubernetes-versie van een workloadcluster bijwerken

U moet eerst de PowerShell-modules en de AKS-host upgraden voordat u de Kubernetes-versie bijwerkt.

Belangrijk

Het bijwerken van een workloadcluster naar een nieuwere versie van Kubernetes werkt alleen als de kubernetes-doelversie wordt ondersteund door de huidige versie van het besturingssysteem. Gebruik de Get-AksHciUpdates opdracht om te controleren op de ondersteunde combinaties van besturingssystemen en Kubernetes-versies.

Gebruik de volgende stappen om de Kubernetes-versie bij te werken:

  1. Voer de volgende opdracht uit om de huidige versie van uw workloadcluster op te halen:

    Get-AksHciCluster
    
    ProvisioningState     : provisioned
    KubernetesVersion     : v1.20.7
    NodePools             : linuxnodepool
    WindowsNodeCount      : 0
    LinuxNodeCount        : 0
    ControlPlaneNodeCount : 1
    Name                  : mycluster   
    
  2. Voer de volgende opdracht uit om de beschikbare Kubernetes-versies op te halen:

    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
    

    In de uitvoer ziet u de Kubernetes-versies en -besturingssystemen waarop de versie beschikbaar is. U kunt zien dat er meer upgradeversies beschikbaar zijn. Bij het upgraden van clusters kunt u echter geen versies overslaan. V1.18.xx --> v1.19.xx is bijvoorbeeld toegestaan, maar v1.18.xx --> v1.20.xx is dat niet.

  3. De Kubernetes-versie-update starten

    Voer de volgende opdracht uit om de Kubernetes-versie bij te werken:

    Update-AksHciCluster -name mycluster -kubernetesVersion v1.21.1
    

    Notitie

    Met deze opdracht worden alleen de bestaande clusterknooppunten in het mycluster workloadcluster bijgewerkt naar de nieuwe versie van Kubernetes.

Alleen de versie van het besturingssysteem bijwerken

Belangrijk

U kunt een workloadcluster bijwerken naar een nieuwere versie van het besturingssysteem zonder de Kubernetes-versie te wijzigen, maar dat werkt alleen als voor de nieuwe versie van het besturingssysteem geen andere Kubernetes-versie is vereist.

Gebruik de stappen in het volgende voorbeeld om de versie van het besturingssysteem bij te werken:

  1. Voer de volgende opdracht uit om beschikbare werkbelastingclusterupdates op te halen:

    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. Voer de volgende opdracht uit om de update van de besturingssysteemversie te starten:

    Update-AksHciCluster -clusterName mycluster -kubernetesVersion v1.21.1 -operatingSystem
    

Zowel het besturingssysteem als de Kubernetes-versie bijwerken

Belangrijk

Het bijwerken van een workloadcluster naar een nieuwere versie van het besturingssysteem en de Kubernetes-versie wordt ondersteund.

In het volgende voorbeeld wordt ervan uitgegaan dat er een nieuwe Kubernetes-versie beschikbaar is en dat het huidige versienummer v1.20.7 is.

  1. Voer de volgende opdracht uit om alle beschikbare werkbelastingclusterupdates op te halen:

    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. Voer de volgende opdracht uit om de update van het workloadcluster te starten:

    Update-AksHciCluster -name mycluster -kubernetesVersion v1.21.1
    

Een upgrade valideren

Controleer of de upgrade is geslaagd met behulp van de opdracht Get-AksHciCluster als volgt:

Get-AksHciCluster -name mycluster

In de volgende voorbeelduitvoer ziet u dat het cluster KubernetesVersion v1.21.1 uitvoert:

ProvisioningState     : provisioned
KubernetesVersion     : v1.21.1
NodePools             : linuxnodepool
WindowsNodeCount      : 0
LinuxNodeCount        : 0
ControlPlaneNodeCount : 1
Name                  : mycluster

Het cluster verwijderen

Aangezien deze zelfstudie het laatste deel van de reeks is, kunt u het cluster verwijderen. Gebruik de opdracht Remove-AksHciCluster om de resourcegroep, containerservice en alle gerelateerde resources te verwijderen:

Remove-AksHciCluster -name mycluster

Volgende stappen

In deze zelfstudie hebt u Kubernetes bijgewerkt in een Kubernetes-cluster op AKS waarvoor Arc is ingeschakeld. U hebt geleerd hoe u het volgende kunt doen:

  • Huidige en beschikbare Kubernetes-versies identificeren
  • De Kubernetes-versie van Kubernetes-knooppunten upgraden
  • De versie van het besturingssysteem van Kubernetes-knooppunten bijwerken
  • Een Kubernetes-cluster upgraden naar de nieuwste versie
  • Een geslaagde upgrade valideren

Zie het AKS-overzicht en de clusters en workloads voor meer informatie over AKS die zijn ingeschakeld door Azure Arc.