Skalning av lodrät nod
Gäller för: AKS på Azure Local 22H2, AKS på Windows Server
Du kan ändra storleken på de virtuella datorerna i en viss nodpool för att öka de resurser som är tillgängliga för nodpoolen i AKS som aktiveras av Azure Arc.
Om du vill hänga med i appkraven i Azure Kubernetes Service (AKS) kan du behöva justera antalet noder som kör dina arbetsbelastningar. I vissa fall räcker det inte med att skala ett kluster horisontellt genom att lägga till noder för att uppfylla kraven från din app på fler CPU-kärnor eller minne.
Utan vertikal nodskalning måste du distribuera om till en ny nodpool och flytta appen. Den här situationen kanske inte är idealisk i resursbegränsade gränsmiljöer. För att möjliggöra den här flexibiliteten introducerar AKS Arc möjligheten att ändra storleken på den virtuella datorn (VM) för de virtuella datorerna i en viss nodpool.
Så här fungerar vertikal nodskalning i AKS Arc
I AKS Arc hanteras målklusternodpooler internt som en machineDeployment. En egenskap för en machineDeployment är den VM-storlek (SKU) som valdes när New-AksHciNodePool
kommandot kördes.
Om du vill ändra nodpoolen till en annan vm-storlek (SKU) kan du använda Set-AksHciNodePool
kommandot för att ändra vm-storleken för arbetsnoder och Set-AksHciCluster
kommandot för att ändra vm-storleken för kontrollplansnoder.
När du skickar kommandot med den nya storleken på den virtuella datorn (SKU) skapas en ny machineDeployment för nodpoolen eller klustret och ersätter den befintliga datoruppsättningen. Den här händelsen utlöser ett uppdateringsflöde i det underliggande distributionssystemet. I likhet med en uppgradering av operativsystemet eller Kubernetes-versionen använder den nya datornDistribution en löpande uppdatering för att ersätta en virtuell dator i nodpoolen eller kontrollplanet efter den andra. Varje uppgradering kontrollerar att den gamla noden är korrekt avspärrad och tömd innan den tas bort.
Kommentar
Systemet förutsätter att det finns tillräckligt med maskinvaruresurser för att skala upp den nya datorn i stället för den gamla datoruppsättningen.
Exempelprocess
I följande exempel visas lodrät nodskalning.
Ändra vm-storleken för en Linux-arbetsnodpool från 4 kärnor och 6 GB minne till 4 kärnor och 8 GB minne
Kontrollera först den aktuella VM-storleken för nodpoolen i klustret mycluster
. Från utdata kan du se att vm-storleken är Standard_K8S3_v1
:
get-akshcinodepool -clustername mycluster
Status : {Error, Phase, Details}
ClusterName : mycluster
NodePoolName : mycluster-linux
Version : v1.22.4
OsType : Linux
NodeCount : 2
VmSize : Standard_K8S3_v1
Phase : scaling
Standard_K8S3_v1
I listan över tillgängliga VM-storlekar visas att den har 4 kärnor och 6 GB minne:
Get-AksHciVmSize
VmSize CPU MemoryGB
------ --- --------
Default 4 4
Standard_A2_v2 2 4
Standard_A4_v2 4 8
Standard_D2s_v3 2 8
Standard_D4s_v3 4 16
Standard_D8s_v3 8 32
Standard_D16s_v3 16 64
Standard_D32s_v3 32 128
Standard_DS2_v2 2 7
Standard_DS3_v2 2 14
Standard_DS4_v2 8 28
Standard_DS5_v2 16 56
Standard_DS13_v2 8 56
Standard_K8S_v1 4 2
Standard_K8S2_v1 2 2
Standard_K8S3_v1 4 6
Den nya storleken som du vill ange för 4 kärnor och 8 GB minne är Standard_A4_v2
. Om du vill uppdatera nodpoolen mycluster-linux
använder du cmdleten Set-AksHciNodePool
, som har uppdaterats för att acceptera en -VMsize
parameter:
Set-AksHciNodePool -ClusterName mycluster -name mycluster-linux -vmsize Standard_A4_v2
Efter några minuter är processen klar. Du kan kontrollera resultatet genom att köra Get-AksHciNodePool
igen och kontrollera att VmSize
är nu Standard_A4_v2
:
get-akshcinodepool -clustername mycluster
Status : {Error, Phase, Details}
ClusterName : mycluster
NodePoolName : mycluster-linux
Version : v1.22.4
OsType : Linux
NodeCount : 2
VmSize : Standard_A4_v2
Phase : scaling
Nästa steg
Se dokumentationen för de uppdaterade PowerShell-kommandona: