Zelfstudie: Knooppunten migreren naar Azure Linux

In deze zelfstudie, deel three van vijf, migreert u uw bestaande knooppunten naar Azure Linux. U kunt uw bestaande knooppunten migreren naar Azure Linux met behulp van een van de volgende methoden:

  • Verwijder bestaande knooppuntgroepen en voeg nieuwe Azure Linux-knooppuntgroepen toe.
  • Voer een in-place migratie van het besturingssysteem-SKU uit.

De opdrachten in deze zelfstudie gebruiken de omgevingsvariabelen die zijn ingesteld in Tutorial 1: Een cluster maken met de Azure Linux-containerhost voor AKS.

Als u geen bestaande knooppunten hebt om te migreren naar Azure Linux, gaat u verder met de volgende zelfstudie. In latere zelfstudies leert u hoe u telemetrie en bewaking inschakelt in uw clusters en Azure Linux-knooppunten bijwerkt.

Prerequisites

Opmerking

Bij het toevoegen van een nieuwe Azure Linux-knooppuntgroep moet u er ten minste één toevoegen als --mode System. Anders kunt u met AKS uw bestaande knooppuntgroep niet verwijderen.

  • U hebt de nieuwste versie van Azure CLI nodig. Voer az --version uit om de versie te vinden. Als u Azure CLI wilt installeren of upgraden, raadpleegt u Azure CLI installeren.

Omgevingsvariabelen instellen

Stel de volgende omgevingsvariabelen in om unieke resourcenamen te maken voor elke implementatie. Vervang de tijdelijke aanduiding <your-node-pool-name> door een naam van uw keuze. U kunt eventueel een willekeurig achtervoegsel toevoegen om de uniekheid te garanderen. De naam van een knooppuntpool moet beginnen met een kleine letter en mag alleen alfanumerieke tekens bevatten. Voor Linux-knooppuntgroepen moet de lengte tussen één en 12 tekens lang zijn.

# Set random suffix for uniqueness
export RANDOM_SUFFIX=$(openssl rand -hex 3)

# Set node pool name
export NODE_POOL_NAME="<your-node-pool-name>$RANDOM_SUFFIX"

Azure Linux-knooppuntgroepen toevoegen en bestaande knooppuntgroepen verwijderen

  1. Voeg een nieuwe Azure Linux-knooppuntgroep toe met behulp van de az aks nodepool add opdracht. Met deze opdracht wordt een nieuwe knooppuntgroep aan uw cluster toegevoegd met de --mode System vlag, waardoor het een systeemknooppuntgroep wordt. Systeemknooppuntgroepen zijn vereist voor Azure Linux-clusters.

    az aks nodepool add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --mode System --os-sku AzureLinux
    

    Voorbeelduitvoer:

    {
      "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/systempool",
      "name": "systempool",
      "provisioningState": "Succeeded"
    }
    
  2. Verwijder uw bestaande knooppunten met behulp van de az aks nodepool delete opdracht.

SKU-migratie van het besturingssysteem op dezelfde installatie

U kunt uw bestaande Ubuntu-knooppuntgroepen migreren naar Azure Linux door de OS-SKU van de knooppuntgroep te wijzigen, waardoor het cluster via het standaardproces voor upgrades van knooppuntinstallatiekopieën wordt bijgewerkt. Voor deze nieuwe functie is het maken van nieuwe knooppuntgroepen niet vereist.

Beperkingen voor in-place SKU-migratie van het besturingssysteem

Er zijn verschillende instellingen waarmee de migratieaanvraag voor de SKU van het besturingssysteem kan worden geblokkeerd. Bekijk de volgende richtlijnen en beperkingen om een geslaagde migratie te garanderen:

  • De SKU-migratiefunctie van het besturingssysteem is niet beschikbaar via PowerShell of Azure Portal.
  • De SKU-migratiefunctie van het besturingssysteem kan de naam van bestaande knooppuntgroepen niet wijzigen.
  • Ubuntu, Azure Linux en Azure Linux met OS Guard zijn de enige ondersteunde Linux OS SKU-migratiedoelen.
  • Vertrouwde start is standaard vereist voor Azure Linux met OS Guard. U moet vertrouwde start hebben ingeschakeld om te kunnen migreren naar Azure Linux met OS Guard. Omdat u Vertrouwde start niet kunt inschakelen voor bestaande knooppuntgroepen, moet u een nieuwe knooppuntgroep maken waarvoor Vertrouwde start is ingeschakeld en uw workloads migreren naar die knooppuntgroep.
  • Klanten die alleen vm-grootten (virtuele machines) van Gen 1 gebruiken, kunnen niet worden gemigreerd naar Azure Linux met OS Guard, omdat er geen ondersteunde Gen 1-installatiekopieën zijn. In dit geval moet u nieuwe knooppuntgroepen maken met een VM-grootte die ondersteuning biedt voor Gen 2.
  • Een Ubuntu OS-SKU waarvoor UseGPUDedicatedVHD ingeschakeld is, kan geen SKU-migratie van het besturingssysteem uitvoeren.
  • Een Ubuntu OS SKU waarvoor CVM 20.04 is ingeschakeld, kan geen SKU-migratie van het besturingssysteem uitvoeren.
  • Knooppuntgroepen waarvoor Kata is ingeschakeld, kunnen geen SKU-migratie van het besturingssysteem uitvoeren.
  • Migratie van windows-besturingssysteem-SKU's wordt niet ondersteund.

Vereisten voor ter plaatse uitgevoerde migratie van OS-SKU's

  • Een bestaand AKS-cluster met ten minste één Ubuntu-knooppuntgroep.
  • We raden u aan ervoor te zorgen dat uw workloads met succes worden geconfigureerd en uitgevoerd op de Azure Linux-containerhost voordat u de SKU-migratiefunctie van het besturingssysteem probeert te gebruiken door een Azure Linux-cluster te implementeren in dev/prod en te controleren of uw service in orde blijft.
  • Zorg ervoor dat de migratiefunctie voor u in test/dev werkt voordat u het proces in een productiecluster gebruikt.
  • Zorg ervoor dat uw pods voldoende Pod Disruption Budget (PDB) hebben, zodat AKS pods tussen VM's kan verplaatsen tijdens de upgrade.
  • U hebt Azure CLI versie 2.61.0 of hoger nodig. Voer az --version uit om de versie te vinden. Als u Azure CLI wilt installeren of upgraden, raadpleegt u Azure CLI installeren.
  • Als u Terraform gebruikt, moet u beschikken over v3.111.0 of hoger van de AzureRM Terraform-module.

Migreer de SKU van het besturingssysteem van uw Ubuntu-knooppuntgroep

Migreer de SKU van het besturingssysteem van uw knooppuntgroep naar Azure Linux met behulp van de az aks nodepool update opdracht. Met deze opdracht wordt de SKU van het besturingssysteem voor uw knooppuntgroep bijgewerkt van Ubuntu naar Azure Linux. De SKU-wijziging van het besturingssysteem activeert een onmiddellijke upgradebewerking, die enkele minuten duurt.

az aks nodepool update --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --os-sku AzureLinux

Voorbeelduitvoer:

{
  "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1",
  "name": "nodepool1",
  "osSku": "AzureLinux",
  "provisioningState": "Succeeded"
}

Opmerking

Als u problemen ondervindt tijdens de migratie van de SKU van het besturingssysteem, kunt u terugdraaien naar uw vorige SKU van het besturingssysteem.

De OS-SKU-migratie controleren

Zodra de migratie is voltooid op uw testclusters, moet u het volgende controleren om een geslaagde migratie te garanderen:

  • Als uw migratiedoel Azure Linux is, voert u de kubectl get nodes -o wide opdracht uit. De uitvoer moet Microsoft Azure Linux 3.0 weergeven als uw besturingssysteemimage en .azl3 aan het einde van uw kernelversie.
  • Voer de opdracht kubectl get pods -o wide -A uit om te controleren of al uw pods en daemonsets actief zijn op de nieuwe nodegroep.
  • Voer de kubectl get nodes --show-labels opdracht uit om te controleren of alle knooppuntlabels in de bijgewerkte knooppuntgroep zijn wat u verwacht.

Tip

Het is raadzaam om de status van uw service een paar weken te controleren voordat u uw productieclusters migreert.

De SKU-migratie van het besturingssysteem uitvoeren op uw productieclusters

  1. Werk uw bestaande sjablonen bij om in te stellen OSSKU=AzureLinux. Zorg ervoor dat de apiVersion instellingen zijn ingesteld op 2023-07-01 of hoger.

    • ARM-sjablonen: gebruiken "OSSKU": "AzureLinux" in de agentPoolProfile sectie.
    • Bicep: gebruik osSku: "AzureLinux" in de sectie agentPoolProfile.
    • Terraform: Gebruiken os_sku = "AzureLinux" in de default_node_pool sectie.
  2. Implementeer de ARM-, Bicep- of Terraform-sjabloon opnieuw voor het cluster om de nieuwe OSSKU instelling toe te passen. Tijdens deze uitrol doet uw cluster alsof het een upgrade van de knooppuntimage ondergaat. Uw cluster schaalt de capaciteit op en start vervolgens uw bestaande knooppunten één voor één opnieuw op met de nieuwste AKS-image van uw nieuwe OS-SKU.

Terugdraaien naar uw vorige SKU van het besturingssysteem

Als u problemen ondervindt tijdens de migratie van de SKU van het besturingssysteem, kunt u terugdraaien naar uw vorige SKU van het besturingssysteem. Hiervoor moet u het veld os-SKU in uw sjabloon wijzigen en de implementatie opnieuw indienen, waardoor een andere upgradebewerking wordt geactiveerd en de knooppuntgroep wordt hersteld naar de vorige SKU van het besturingssysteem.

U kunt teruggaan naar de vorige SKU van het besturingssysteem met behulp van de az aks nodepool update opdracht. Met deze opdracht wordt de SKU van het besturingssysteem voor uw knooppuntgroep bijgewerkt van Azure Linux terug naar Ubuntu.

Volgende stap

In deze zelfstudie hebt u bestaande knooppunten gemigreerd naar Azure Linux door bestaande knooppuntgroepen te verwijderen en nieuwe Azure Linux-knooppuntgroepen toe te voegen of door een in-place SKU-migratie van het besturingssysteem uit te voeren.

In de volgende zelfstudie leert u hoe u telemetrie kunt inschakelen om uw clusters te bewaken.