Bestaande knooppunten migreren naar Azure ACL (Container Linux) voor Azure Kubernetes Service (AKS)

In dit artikel leert u hoe u uw bestaande AKS-knooppuntgroepen migreert naar Azure ACL (Container Linux) voor AKS. U kunt uw bestaande knooppunten migreren met behulp van een van de volgende methoden:

  • In-place migratie van OS-SKU: wijzig de OS-SKU van uw bestaande knooppuntgroepen in ACL, waarbij de knooppunten automatisch opnieuw worden ingericht.
  • Verwijder bestaande knooppuntgroepen en voeg nieuwe ACL-knooppuntgroepen toe: maak nieuwe ACL-knooppuntgroepen, verplaats uw workloads en verwijder de oude knooppuntgroepen.

Important

Als u Azure ACL (Container Linux) op AKS gebruikt, controleert u de volgende overwegingen en beperkingen:

Beperkingen voor in-place SKU-migratie van het besturingssysteem

Naast de algemene ACL-beperkingen geldt het volgende specifiek voor in-place SKU-migratie van het besturingssysteem:

  • 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.
  • Knooppuntgroepen waarvoor UseGPUDedicatedVHD is ingeschakeld, kunnen geen SKU-migratie van het besturingssysteem uitvoeren.
  • Migratie van windows-besturingssysteem-SKU's wordt niet ondersteund.

Prerequisites

  • Een bestaand AKS-cluster met ten minste één Linux-knooppuntgroep.
  • Azure CLI versie 2.86.0 of hoger. Voer az --version uit om de versie te vinden. Als u Azure CLI wilt installeren of upgraden, raadpleegt u Azure CLI installeren.
  • 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 een voldoende Pod Disruption Budget (PDB) hebben, zodat AKS pods tijdens de migratie tussen VM's kan verplaatsen.

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.

    az aks nodepool add \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <new-node-pool-name> \
        --os-sku AzureContainerLinux \
        --mode System \
        --node-count 3
    

    Voorbeelduitvoer:

    {
      "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/myNewNodePool",
      "name": "myNewNodePool",
      "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

U kunt uw bestaande Linux-knooppuntgroepen migreren naar ACL door de OS-SKU van de knooppuntgroep te wijzigen, waardoor het cluster het standaardproces voor het upgraden van knooppuntinstallatiekopieën doorloopt. Voor deze methode hoeft u geen nieuwe nodepools te maken; in plaats daarvan worden uw bestaande nodepools automatisch opnieuw ingericht.

Een in-place SKU-migratie van het besturingssysteem uitvoeren

Important

ACL vereist vertrouwde start. U moet --enable-secure-boot en --enable-vtpm opnemen wanneer u migreert naar de AzureContainerLinux-OS-SKU. De grootte van de virtuele machine (VM) 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.

Migreer de SKU van het besturingssysteem van uw knooppuntgroep naar ACL met behulp van de az aks nodepool update opdracht. Met deze opdracht wordt uw knooppuntgroep opnieuw geïnstalleerd, waarbij de SKU van het besturingssysteem wordt bijgewerkt naar AzureContainerLinux. 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/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/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

Tip

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

Zodra de migratie op uw testclusters is voltooid, raden we u aan het cluster en de workloads gedurende een paar weken te bewaken om te controleren of alles wordt uitgevoerd zoals verwacht voordat u productieclusters migreert. Gebruik de volgende opdrachten om de migratie te controleren en uw cluster te bewaken:

  1. Controleer of de nieuwe knooppunten ACL uitvoeren met behulp van de kubectl get nodes -o wide opdracht. De uitvoer moet de ACL OS-image weergeven.

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

    kubectl get pods -o wide -A
    
  3. Controleer of alle knooppuntlabels in de bijgewerkte knooppuntgroep zijn wat u verwacht met behulp van de kubectl get nodes --show-labels 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": "myNodePool",
        "nodeImageVersion": "AKSAzureContainerLinux-202606.01.0",
        "osSku": "AzureContainerLinux"
      }
    ]
    

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. Als u terugdraait van ACL naar uw vorige OS-SKU, gebruikt de knooppuntpool standaard de installatiekopieënvariant Trusted Launch (Gen2), tenzij Trusted Launch expliciet is uitgeschakeld.

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

Zie Wat is Azure Container Linux (ACL) voor Azure Kubernetes Service (AKS)? voor meer informatie over ACL.