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 ingesteldpatch
.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.
Azure Kubernetes Service