Zelfstudie: Knooppunten migreren naar Azure Container Linux (ACL)

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

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

De opdrachten in deze zelfstudie gebruiken de omgevingsvariabelen die zijn ingesteld in zelfstudie 1: Een cluster maken met ACL voor AKS.

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

Prerequisites

  • In de vorige zelfstudies hebt u een ACL-cluster gemaakt en geïmplementeerd. Zie Zelfstudie 1: Een cluster maken met ACL voor AKS als u deze stappen nog niet hebt voltooid en u deze wilt volgen.
  • Azure Container Linux vereist Azure CLI versie 2.86.0 of hoger. Gebruik de az version opdracht om de versie te vinden. Gebruik de az upgrade opdracht om een upgrade uit te voeren naar de nieuwste versie.

overwegingen en beperkingen voor Azure Container Linux (ACL)

Voordat u begint, bekijk de volgende overwegingen en beperkingen voor ACL:

ACL-knooppuntgroepen toevoegen en bestaande knooppuntgroepen verwijderen

  1. Voeg een nieuwe ACL-knooppuntgroep toe met behulp van de az aks nodepool add opdracht. Gebruik --mode System dit zodat de nieuwe pool kan fungeren als de systeemagentgroep, waarmee u de oorspronkelijke knooppuntgroep in de volgende stap kunt verwijderen. In het volgende voorbeeld wordt een knooppuntgroep met de naam aclsystem gemaakt waarmee drie knooppunten aan het cluster worden toegevoegd:

    az aks nodepool add \
        --resource-group $RESOURCE_GROUP \
        --cluster-name $CLUSTER_NAME \
        --name aclsystem \
        --mode System \
        --os-sku AzureContainerLinux \
        --node-count 3
    

    Voorbeelduitvoer:

    {
      "id": "/subscriptions/xxxxx/resourceGroups/myACLResourceGroup/providers/Microsoft.ContainerService/managedClusters/myACLCluster/nodePools/aclsystem",
      "name": "aclsystem",
      "osSku": "AzureContainerLinux",
      "provisioningState": "Succeeded"
    }
    
  2. Verwijder uw bestaande knooppuntgroep met behulp van de az aks nodepool delete opdracht.

    az aks nodepool delete \
        --resource-group $RESOURCE_GROUP \
        --cluster-name $CLUSTER_NAME \
        --name <existing-node-pool-name>
    

SKU-migratie van het besturingssysteem op dezelfde installatie

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 biedt geen ondersteuning voor het wijzigen van de naam van bestaande knooppuntgroepen.
  • Ubuntu, Azure Linux en AzureContainerLinux zijn de enige ondersteunde Linux OS SKU-migratiedoelen.
  • ACL vereist vertrouwde start. Als --enable-secure-boot en --enable-vtpm nog niet zijn ingeschakeld voor uw knooppuntgroep, moet u deze opnemen bij de migratie naar de AzureContainerLinux-OS-SKU. De VM-grootte van uw knooppuntgroep moet ook ondersteuning bieden voor vertrouwd starten. Als de huidige VM-grootte deze niet ondersteunt, moet u het formaat van de knooppuntgroep wijzigen of opnieuw maken met een ondersteunde VM-grootte voordat u migreert.
  • Vm's van generatie 1 worden niet ondersteund.
  • Een Ubuntu OS-SKU waarvoor UseGPUDedicatedVHD ingeschakeld is, kan geen SKU-migratie van het besturingssysteem uitvoeren.
  • Confidential Virtual Machines (CVM's) worden niet ondersteund.
  • Pod Sandboxing wordt niet ondersteund.
  • Migratie van windows-besturingssysteem-SKU's wordt niet ondersteund.

Vereisten voor on-site SKU-migratie van het besturingssysteem (OS)

  • Een bestaand AKS-cluster met ten minste één Linux-knooppuntgroep.
  • U wordt aangeraden te controleren of uw workloads correct worden uitgevoerd op ACL door een ACL-cluster te implementeren in een ontwikkel- of faseringsomgeving voordat u productieclusters migreert.
  • 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. Gebruik de az version opdracht om de versie te vinden. Gebruik de az upgrade opdracht om een upgrade uit te voeren naar de nieuwste versie.

Migreren naar ACL met in-place SKU-migratie van het besturingssysteem

U kunt uw bestaande Ubuntu- of Azure Linux-knooppuntgroepen migreren naar ACL door de OS-SKU van de knooppuntgroep te wijzigen, waarbij het cluster via het standaardproces voor het upgraden van de knooppuntafbeelding wordt bijgewerkt. Voor deze methode hoeft u geen nieuwe nodepools te maken; in plaats daarvan worden uw bestaande nodepools automatisch opnieuw ingericht.

Important

ACL vereist vertrouwde start. U moet --enable-secure-boot en --enable-vtpm opnemen wanneer u migreert naar de AzureContainerLinux-OS-SKU. De VM-grootte van uw knooppuntgroep moet ook ondersteuning bieden voor vertrouwd starten.

Migreer de SKU van het besturingssysteem van uw knooppuntgroep naar ACL met behulp van de az aks nodepool update opdracht. Met deze opdracht wordt een nieuwe image van uw knooppuntgroep gestart. 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 <existing-node-pool-name> \
    --os-sku AzureContainerLinux \
    --enable-secure-boot \
    --enable-vtpm

Voorbeelduitvoer:

{
  "id": "/subscriptions/xxxxx/resourceGroups/myACLResourceGroup/providers/Microsoft.ContainerService/managedClusters/myACLCluster/nodePools/nodepool1",
  "name": "nodepool1",
  "osSku": "AzureContainerLinux",
  "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, controleert u het volgende om een geslaagde migratie te garanderen:

  1. Controleer of de nieuwe knooppunten ACL uitvoeren met behulp van de volgende opdracht:

    kubectl get nodes -o wide
    
  2. Controleer met de volgende opdracht of al uw pods en daemonsets actief zijn op de nieuwe nodegroep:

    kubectl get pods -o wide -A
    
  3. Controleer of alle knooppuntlabels in de bijgewerkte knooppuntgroep zijn wat u verwacht met behulp van de volgende opdracht:

    kubectl get nodes --show-labels
    
  4. Controleer de versie van de knooppuntinstallatiekopieën met behulp van de az aks nodepool list opdracht.

    az aks nodepool list \
        --resource-group $RESOURCE_GROUP \
        --cluster-name $CLUSTER_NAME \
        --query '[].{name: name, osSku: osSku, nodeImageVersion: nodeImageVersion}'
    

    Voorbeelduitvoer:

    [
      {
        "name": "nodepool1",
        "nodeImageVersion": "AKSAzureContainerLinux-202606.01.0",
        "osSku": "AzureContainerLinux"
      }
    ]
    

Tip

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

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 wijzigt u het SKU-veld van het besturingssysteem weer in de vorige waarde en dient u de implementatie opnieuw in, waardoor een andere upgradebewerking wordt geactiveerd en de knooppuntgroep opnieuw wordt ingesteld op de vorige SKU van het besturingssysteem.

Ga terug naar de vorige SKU van het besturingssysteem met behulp van de az aks nodepool update opdracht. In dit voorbeeld wordt teruggedraaid van ACL naar Azure Linux:

az aks nodepool update \
    --resource-group $RESOURCE_GROUP \
    --cluster-name $CLUSTER_NAME \
    --name <existing-node-pool-name> \
    --os-sku AzureLinux

Volgende stap

In deze zelfstudie hebt u bestaande knooppunten gemigreerd naar ACL. In de volgende zelfstudie leert u hoe u telemetrie en bewaking inschakelt voor uw ACL-cluster.