Share via


Zelfstudie: Een AKS-cluster (Azure Kubernetes Service) upgraden

Als onderdeel van de levenscyclus van toepassingen en clusters wilt u mogelijk upgraden naar de nieuwste beschikbare versie van Kubernetes. U kunt uw AKS-cluster (Azure Kubernetes Service) upgraden met behulp van de Azure CLI, Azure PowerShell of Azure Portal.

In deze zelfstudie, deel zeven van zeven, voert u een upgrade uit van een AKS-cluster. U leert het volgende:

  • Identificeer de huidige en beschikbare Kubernetes-versies.
  • Werk uw Kubernetes-knooppunten bij.
  • Valideer een geslaagde upgrade.

Voordat u begint

In eerdere zelfstudies hebt u een toepassing verpakt in een containerinstallatiekopieën en de containerinstallatiekopieën geüpload naar Azure Container Registry (ACR). U hebt ook een AKS-cluster gemaakt en er een toepassing op geïmplementeerd. Als u deze stappen nog niet hebt voltooid en u deze wilt volgen, begint u met zelfstudie 1: De toepassing voorbereiden voor AKS.

Als u Azure CLI gebruikt, is voor deze zelfstudie Versie 2.34.1 of hoger van Azure CLI vereist. Voer az --version uit om de versie te bekijken. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.

Als u Azure PowerShell gebruikt, is voor deze zelfstudie Azure PowerShell versie 5.9.0 of hoger vereist. Voer Get-InstalledModule -Name Az uit om de versie te bekijken. Als u PowerShell wilt installeren of upgraden, raadpleegt u De Azure PowerShell installeren.

Beschikbare clusterversies verkrijgen

  • Voordat u een upgrade uitvoert, controleert u welke Kubernetes-releases beschikbaar zijn voor uw cluster met behulp van de az aks get-upgrades opdracht.

    az aks get-upgrades --resource-group myResourceGroup --name myAKSCluster
    

    In de volgende voorbeelduitvoer ziet u de huidige versie als 1.28.9 en ziet u de beschikbare versies onder upgrades:

      {
        "agentPoolProfiles": null,
        "controlPlaneProfile": {
          "kubernetesVersion": "1.28.9",
          ...
          "upgrades": [
            {
              "isPreview": null,
              "kubernetesVersion": "1.29.4"
            },
            {
              "isPreview": null,
              "kubernetesVersion": "1.29.2"
            }
          ]
        },
        ...
      }
    

Een AKS-cluster upgraden

AKS-knooppunten worden zorgvuldig vastgezet en leeggezogen om mogelijke onderbrekingen van actieve toepassingen tot een minimum te beperken. Tijdens dit proces voert AKS de volgende stappen uit:

  • Voegt een nieuw bufferknooppunt (of zo veel knooppunten als geconfigureerd in maximale piek) toe aan het cluster waarop de opgegeven Kubernetes-versie wordt uitgevoerd.
  • Cordons en leegt een van de oude knooppunten om onderbreking van actieve toepassingen te minimaliseren. Als u een maximale piek gebruikt, worden er net zoveel knooppunten tegelijk leeggemaakt als het aantal opgegeven bufferknooppunten.
  • Wanneer het oude knooppunt volledig leeg is, wordt de installatiekopie opnieuw geplaatst om de nieuwe versie te ontvangen en wordt het bufferknooppunt voor het volgende knooppunt dat moet worden bijgewerkt.
  • Dit proces wordt herhaald totdat alle knooppunten in het cluster zijn bijgewerkt.
  • Aan het einde van het proces wordt het laatste bufferknooppunt verwijderd, waarbij het bestaande aantal agentknooppunten en het zonesaldo behouden blijven.

Notitie

Als er geen patch is opgegeven, wordt het cluster automatisch bijgewerkt naar de gespecificeerde secundaire versie, nieuwste GA-patch. Bijvoorbeeld instelling --kubernetes-version voor 1.28 resultaten in het upgraden van het cluster naar 1.28.9.

Bekijk Ondersteunde Kubernetes-secundaire versie-upgrades in AKS voor meer informatie.

U kunt uw cluster handmatig upgraden of automatische clusterupgrades configureren. U wordt aangeraden automatische clusterupgrades te configureren om ervoor te zorgen dat uw cluster altijd de nieuwste versie van Kubernetes uitvoert.

Cluster handmatig upgraden

  • Werk uw cluster bij met behulp van de az aks upgrade opdracht.

    az aks upgrade \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --kubernetes-version KUBERNETES_VERSION
    
  • U wordt gevraagd om de upgradebewerking te bevestigen en om te bevestigen dat u het besturingsvlak en alle knooppuntgroepen wilt upgraden naar de geselecteerde versie van Kubernetes:

     Are you sure you want to perform this operation? (y/N): y
    Since control-plane-only argument is not specified, this will upgrade the control plane AND all nodepools to version 1.29.2. Continue? (y/N): y
    

    Notitie

    U kunt slechts één secundaire versie per keer bijwerken. U kunt bijvoorbeeld een upgrade uitvoeren van 1.14.x naar 1.15.x, maar u kunt niet rechtstreeks upgraden van 1.14.x naar 1.16.x . Als u een upgrade wilt uitvoeren van 1.14.x naar 1.16.x, moet u eerst een upgrade uitvoeren van 1.14.x naar 1.15.x en vervolgens een andere upgrade uitvoeren van 1.15.x naar 1.16.x.

    In de volgende voorbeelduitvoer ziet u het resultaat van een upgrade naar 1.29.2. kubernetesVersion U ziet dat nu 1.29.2 wordt weergegeven:

    {
      ...
      "agentPoolProfiles": [
        {
          ...
          "count": 3,
          "currentOrchestratorVersion": "1.29.2",
          "maxPods": 110,
          "name": "nodepool1",
          "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202405.27.0",
          "orchestratorVersion": "1.29.2",
          "osType": "Linux",
          "upgradeSettings": {
            "drainTimeoutInMinutes": null,
            "maxSurge": "10%",
            "nodeSoakDurationInMinutes": null,
            "undrainableNodeBehavior": null
          },
          "vmSize": "Standard_DS2_v2",
          ...
        }
      ],
      ...
      "currentKubernetesVersion": "1.29.2",
      "dnsPrefix": "myAKSClust-myResourceGroup-19da35",
      "enableRbac": false,
      "fqdn": "myaksclust-myresourcegroup-19da35-bd54a4be.hcp.eastus.azmk8s.io",
      "id": "/subscriptions/<Subscription ID>/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster",
      "kubernetesVersion": "1.29.2",
      "location": "eastus",
      "name": "myAKSCluster",
      "type": "Microsoft.ContainerService/ManagedClusters"
      ...
    }
    

Automatische clusterupgrades configureren

  • Stel een kanaal voor automatische upgrade in op uw cluster met behulp van de az aks update opdracht waarop de --auto-upgrade-channel parameter is ingesteld patch.

    az aks update --resource-group myResourceGroup --name myAKSCluster --auto-upgrade-channel patch
    

Zie Een AKS-cluster (Azure Kubernetes Service) automatisch upgraden voor meer informatie.

AKS-knooppuntinstallatiekopieën upgraden

AKS biedt regelmatig nieuwe knooppuntinstallatiekopieën. Installatiekopieën van Linux-knooppunten worden wekelijks bijgewerkt en Installatiekopieën van Windows-knooppunten worden maandelijks bijgewerkt. We raden u aan uw knooppuntinstallatiekopieën regelmatig te upgraden om de nieuwste AKS-functies en beveiligingsupdates te gebruiken. Zie Knooppuntinstallatiekopieën upgraden in Azure Kubernetes Service (AKS) voor meer informatie. Zie Installatiekopieën van azure Kubernetes Service (AKS)-clusterknooppunten automatisch upgraden om automatische upgrades van knooppuntinstallatiekopieën voor knooppunten te configureren.

De upgrade-gebeurtenissen weergeven

Notitie

Wanneer u een upgrade van uw cluster uitvoert, kunnen de volgende Kubernetes-gebeurtenissen plaatsvinden op de knooppunten:

  • Piek: Maak een piekknooppunt.
  • Afvoer: verwijder pods uit het knooppunt. Elke pod heeft een time-out van vijf minuten om de verwijdering te voltooien.
  • Update: Het bijwerken van een knooppunt is geslaagd of mislukt.
  • Verwijderen: Een piekknooppunt verwijderen.
  • Bekijk de upgrade-gebeurtenissen in de standaardnaamruimten met behulp van de kubectl get events opdracht.

    kubectl get events --field-selector source=upgrader
    

    In de volgende voorbeelduitvoer ziet u enkele van de bovenstaande gebeurtenissen die tijdens een upgrade worden vermeld:

    LAST SEEN   TYPE      REASON    OBJECT                                   MESSAGE
    ...
    5m          Normal    Drain     node/aks-nodepool1-96663640-vmss000000   Draining node: aks-nodepool1-96663640-vmss000000
    5m          Normal    Upgrade   node/aks-nodepool1-96663640-vmss000000   Deleting node aks-nodepool1-96663640-vmss000000 from API server
    4m          Normal    Upgrade   node/aks-nodepool1-96663640-vmss000000   Successfully reimaged node: aks-nodepool1-96663640-vmss000000
    4m          Normal    Upgrade   node/aks-nodepool1-96663640-vmss000000   Successfully upgraded node: aks-nodepool1-96663640-vmss000000
    4m          Normal    Drain     node/aks-nodepool1-96663640-vmss000000   Draining node: aks-nodepool1-96663640-vmss000000
    ...
    

Een upgrade valideren

  • Controleer of de upgrade is geslaagd met behulp van de az aks show opdracht.

    az aks show --resource-group myResourceGroup --name myAKSCluster --output table
    

    In de volgende voorbeelduitvoer ziet u dat het AKS-cluster KubernetesVersion 1.27.3 uitvoert:

    Name          Location    ResourceGroup    KubernetesVersion    CurrentKubernetesVersion  ProvisioningState    Fqdn
    ------------  ----------  ---------------  -------------------  ------------------------  -------------------  ----------------------------------------------------------------
    myAKSCluster  eastus      myResourceGroup  1.29.2               1.29.2                    Succeeded            myaksclust-myresourcegroup-19da35-bd54a4be.hcp.eastus.azmk8s.io
    

Het cluster verwijderen

Aangezien deze zelfstudie het laatste deel van de reeks is, wilt u mogelijk uw AKS-cluster verwijderen om te voorkomen dat er Kosten in rekening worden gebracht voor Azure.

  • Verwijder de resourcegroep, containerservice en alle gerelateerde resources met behulp van de az group delete opdracht.

    az group delete --name myResourceGroup --yes --no-wait
    

Notitie

Wanneer u het cluster verwijdert, wordt de Microsoft Entra-service-principal die door het AKS-cluster wordt gebruikt, niet verwijderd. Zie Overwegingen voor en verwijdering van AKS service-principal voor stappen voor het verwijderen van de service-principal. Als u een beheerde identiteit hebt gebruikt, wordt de identiteit beheerd door het platform en hoeft u geen geheimen in te richten of te roteren.

Volgende stappen

In deze zelfstudie hebt u een upgrade van Kubernetes in een AKS-cluster uitgevoerd. U hebt geleerd hoe u:

  • Identificeer de huidige en beschikbare Kubernetes-versies.
  • Werk uw Kubernetes-knooppunten bij.
  • Valideer een geslaagde upgrade.

Zie het AKS-overzicht voor meer informatie over AKS. Zie de richtlijnen voor de AKS-oplossing voor hulp bij het maken van volledige oplossingen met AKS.