Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här självstudien, del tre av fem, migrerar du dina befintliga noder till ACL. Du kan migrera dina befintliga noder med någon av följande metoder:
- Ta bort befintliga nodpooler och lägg till nya ACL-nodpooler.
- Utför en på plats-migrering av operativsystemets SKU.
Kommandona i den här självstudien använder miljövariablerna som anges i Självstudie 1: Skapa ett kluster med ACL för AKS.
Om du inte har några befintliga noder att migrera går du vidare till nästa handledning. I senare självstudier får du lära dig hur du aktiverar telemetri och övervakning i dina kluster och uppgraderar ACL-noder.
Förutsättningar
- I tidigare självstudier skapade och distribuerade du ett ACL-kluster. Om du inte har slutfört de här stegen och vill följa med kan du läsa Självstudie 1: Skapa ett kluster med ACL för AKS.
- Azure Container Linux kräver Azure CLI version 2.86.0 eller senare.
az versionAnvänd kommandot för att hitta versionen. Om du vill uppgradera till den senaste versionen använder duaz upgradekommandot .
överväganden och begränsningar för Azure Container Linux (ACL)
Innan du börjar bör du granska följande överväganden och begränsningar för ACL:
- ACL är allmänt tillgängligt från och med AKS v1.34.
- ACL kräver betrodd start med säker start och vTPM. Icke-betrodda startvarianter är inte tillgängliga.
- ACL på Arm64 kräver Cobalt-baserade SKU:er (v6) för kompatibilitet med Trusted Launch.
-
NodeImageochNoneär de enda operativsystemuppgraderingskanalerna som stöds.UnmanagedochSecurityPatchär inte kompatibla med ACL på grund av den oföränderliga/usrkatalogen. - Streaming av artefakter stöds inte.
- Poddsandboxning stöds inte.
- Konfidentiella virtuella datorer stöds inte.
- Virtuella datorer i generation 1 stöds inte.
Lägga till ACL-nodpooler och ta bort befintliga nodpooler
Lägg till en ny ACL-nodpool med kommandot
az aks nodepool add. Använd--mode Systemså att den nya poolen kan fungera som systemagentpool, vilket gör att du kan ta bort den ursprungliga nodpoolen i nästa steg. I följande exempel skapas en nodpool med namnet aclsystem som lägger till tre noder i klustret:az aks nodepool add \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --name aclsystem \ --mode System \ --os-sku AzureContainerLinux \ --node-count 3Exempel på utdata:
{ "id": "/subscriptions/xxxxx/resourceGroups/myACLResourceGroup/providers/Microsoft.ContainerService/managedClusters/myACLCluster/nodePools/aclsystem", "name": "aclsystem", "osSku": "AzureContainerLinux", "provisioningState": "Succeeded" }Ta bort din befintliga nodpool med kommandot
az aks nodepool delete.az aks nodepool delete \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --name <existing-node-pool-name>
Migrering av operativsystem-SKU direkt
Begränsningar för migrering av operativsystems SKU på befintligt system
Det finns flera inställningar som kan blockera begäran om OS SKU-migrering. Granska följande riktlinjer och begränsningar för att säkerställa en lyckad migrering:
- Os SKU-migreringsfunktionen är inte tillgänglig via PowerShell eller Azure Portal.
- Migreringsfunktionen för OS SKU har inte stöd för att byta namn på befintliga nodpooler.
- Ubuntu, Azure Linux och AzureContainerLinux är de enda linux OS SKU-migreringsmål som stöds.
- ACL kräver betrodd start. Om det inte redan är aktiverat för din nodpool måste du inkludera
--enable-secure-bootoch--enable-vtpmvid migrering tillAzureContainerLinuxOS-SKU. Nodpoolens VM-storlek måste också ha stöd för betrodd start. Om din aktuella VM-storlek inte stöder den måste du ändra storlek på eller återskapa nodpoolen med en vm-storlek som stöds innan du migrerar. - Virtuella datorer i generation 1 stöds inte.
- En Ubuntu OS SKU med
UseGPUDedicatedVHDaktiverad kan inte utföra en OS SKU-migrering. - Konfidentiella virtuella datorer stöds inte.
- Poddsandboxning stöds inte.
- Windows OS SKU-migrering stöds inte.
Förutsättningar för OS SKU-migrering direkt på plats
- Ett befintligt AKS-kluster med minst en Linux-nodpool.
- Vi rekommenderar att du verifierar att dina arbetsbelastningar körs på ACL genom att distribuera ett ACL-kluster i en utvecklings- eller mellanlagringsmiljö innan du migrerar produktionskluster.
- Se till att migreringsfunktionen fungerar för dig i test/utveckling innan du använder processen i ett produktionskluster.
- Se till att dina poddar har tillräckligt med poddstörningsbudget (PDB) så att AKS kan flytta poddar mellan virtuella datorer under uppgraderingen.
- Du behöver Azure CLI version 2.61.0 eller senare.
az versionAnvänd kommandot för att hitta versionen. Om du vill uppgradera till den senaste versionen använder duaz upgradekommandot .
Migrera till ACL med migrering av OS-SKU på plats
Du kan migrera dina befintliga Ubuntu- eller Azure Linux-nodpooler till ACL genom att ändra OS SKU för nodpoolen, som rullar klustret genom uppgraderingsprocessen för standardnodavbildning. Den här metoden kräver inte att nya nodpooler skapas. i stället återskapas dina befintliga nodpooler automatiskt.
Important
ACL kräver betrodd start. Du måste inkludera --enable-secure-boot och --enable-vtpm när du migrerar till AzureContainerLinux OS-SKU:n. Nodpoolens VM-storlek måste också ha stöd för betrodd start.
Migrera OS SKU:n för nodpoolen till ACL med hjälp av az aks nodepool update kommandot . Det här kommandot utlöser en återimering av nodpoolen. Os SKU-ändringen utlöser en omedelbar uppgraderingsåtgärd, vilket tar flera minuter att slutföra.
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
Exempel på utdata:
{
"id": "/subscriptions/xxxxx/resourceGroups/myACLResourceGroup/providers/Microsoft.ContainerService/managedClusters/myACLCluster/nodePools/nodepool1",
"name": "nodepool1",
"osSku": "AzureContainerLinux",
"provisioningState": "Succeeded"
}
Note
Om du får problem under OS SKU-migreringen kan du återställa till din tidigare OS SKU.
Verifiera OS SKU-migreringen
När migreringen är klar i dina testkluster kontrollerar du följande för att säkerställa en lyckad migrering:
Bekräfta att de nya noderna kör ACL med följande kommando:
kubectl get nodes -o wideKontrollera att alla dina poddar och daemonsets körs i den nya nodpoolen med hjälp av följande kommando:
kubectl get pods -o wide -AKontrollera att alla nodetiketter i den uppgraderade nodpoolen är det du förväntar dig med följande kommando:
kubectl get nodes --show-labelsKontrollera nodbildversionen med kommandot
az aks nodepool list.az aks nodepool list \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --query '[].{name: name, osSku: osSku, nodeImageVersion: nodeImageVersion}'Exempel på utdata:
[ { "name": "nodepool1", "nodeImageVersion": "AKSAzureContainerLinux-202606.01.0", "osSku": "AzureContainerLinux" } ]
Tip
Vi rekommenderar att du övervakar hälsotillståndet för din tjänst i ett par veckor innan du migrerar dina produktionskluster.
Gå tillbaka till din tidigare OS-produktversion
Om du får problem under OS SKU-migreringen kan du återställa till din tidigare OS SKU. Det gör du genom att ändra tillbaka OS SKU-fältet till ditt tidigare värde och skicka distributionen igen, vilket utlöser en annan uppgraderingsåtgärd och återskapar nodpoolen till dess tidigare OS SKU.
Återställ till din tidigare OS SKU med kommandot az aks nodepool update . Det här exemplet återgår från ACL till Azure Linux:
az aks nodepool update \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name <existing-node-pool-name> \
--os-sku AzureLinux
Nästa steg
I den här handledningen migrerade du befintliga noder till ACL. I nästa självstudie får du lära dig hur du aktiverar telemetri och övervakning för ditt ACL-kluster.