Dela via


Använd autoskalningsprofil för att konfigurera automatisk skalning av kluster i AKS som aktiverats av Arc

Gäller för: AKS på Azure Stack HCI 22H2, AKS på Windows Server

Du kan använda parametrarna i autoskalningsprofilobjektet för att definiera skalningshändelser i AKS som aktiveras av Arc. Autoskalningsprofilen för kluster påverkar alla nodpooler som använder autoskalning av kluster. Du kan inte ange en profil för autoskalning per nodpool. Den här artikeln beskriver hur autoskalning fungerar, beskriver standardvärden för autoskalningsprofil och beskriver hur du konfigurerar och använder en profildefinition.

Använda profiler

Autoskalningsprofiler för kluster har följande attribut:

  • Autoskalningsprofiler gäller för alla nodpooler i ett kluster.
  • Profiler är globala objekt på distributionsnivå.
  • Flera profiler är tillgängliga i AKS Arc.
  • Endast en profil tilldelas till ett visst kluster. Profilen används för alla nodpooler i klustret.
  • Ändringar i profilen tillämpas på alla nodpooler som har funktionen autoskalning aktiverad.

Profilinställningar

Standardprofilen består av standardvärdena nedan. Du kan uppdatera följande inställningar.

Inställning Beskrivning Standardvärde
min-node-count Det minsta antalet noder som nodpoolen som den här profilen har tilldelats kan skalas ned till. 0
max-node-count Det maximala antalet noder som nodpoolen som den här profilen tilldelas till kan skalas upp till. 1
scan-interval Hur ofta klustret omvärderas för upp- eller nedskalning. 10 sekund
scale-down-delay-after-add Hur lång tid efter att utvärderingen av nedskalning har skalats upp återupptas. 10 minuter
scale-down-delay-after-delete Hur lång tid efter borttagning av noder som nedskalningsutvärderingen återupptas. scan-interval
scale-down-delay-after-failure Hur lång tid efter ett nedskalningsfel som nedskalningsutvärderingen återupptas. 3 minuter
scale-down-unneeded-time Hur länge en nod ska vara onödig innan den är berättigad till nedskalning. 10 minuter
scale-down-unready-time Hur länge en oläst nod ska vara onödig innan den är berättigad till nedskalning. 20 minuter
scale-down-utilization-threshold Nodanvändningsnivå, definierad som summan av begärda resurser dividerat med kapacitet, under vilken en nod kan övervägas för nedskalning. 0,5
max-graceful-termination-sec Maximalt antal sekunder som autoskalning av klustret väntar på poddavslut när du försöker skala ned en nod. 600 sekunder
balance-similar-node-groups Identifierar liknande nodpooler och balanserar antalet noder mellan dem. falskt
expander Typ av nodpoolsexp expanderare som ska användas vid uppskalning. Möjliga värden: most-pods, random, least-waste, priority. random
skip-nodes-with-local-storage Om det är sant tar autoskalning av kluster aldrig bort noder med poddar med lokal lagring, till exempel EmptyDir eller HostPath. true
skip-nodes-with-system-pods Om det är sant tar autoskalning av kluster aldrig bort noder med poddar från kube-system (förutom DaemonSet eller speglingspoddar). true
max-empty-bulk-delete Maximalt antal tomma noder som kan tas bort samtidigt. 10
new-pod-scale-up-delay För scenarier som burst-/batchskala där du inte vill att certifikatutfärdaren ska agera innan Kubernetes-schemaläggaren kan schemalägga alla poddar kan du be certifikatutfärdaren att ignorera oplanerade poddar innan de är i en viss ålder. 0 sekunder
max-total-unready-percentage Maximal procentandel olästa noder i klustret. När den här procentandelen har överskridits stoppar ca-certifikatet åtgärder. 45 %
max-node-provision-time Maximal tid som autoskalningen väntar på att en nod ska etableras. 15 minuter

Anteckningar om autoskalningskonfiguration

Du kan ändra inställningarna i autoskalningsprofilen för kluster med hjälp av PowerShell-cmdleten Set-AksHciAutoScalerConfig .

Autoskalning av kluster fattar skalningsbeslut baserat på det minsta och högsta antal som anges för varje nodpool, men det framtvingar dem inte efter uppdatering av minsta eller högsta antal. Om du till exempel anger ett minsta antal på 5 när det aktuella antalet noder är 3 skalas inte poolen upp till 5 omedelbart.

Om det minsta antalet för nodpoolen har ett värde som är högre än det aktuella antalet noder respekteras de nya lägsta eller högsta inställningarna när det finns tillräckligt många oplanerade poddar som kräver två nya ytterligare noder och utlöser en autoskalningshändelse. Efter skalningshändelsen respekteras de nya antalsgränserna.

Du kan också konfigurera mer detaljerad information om autoskalning av kluster genom att ändra standardvärdena i autoskalningsprofilen för hela klustret. En nedskalningshändelse inträffar till exempel när noderna är underutnyttjade i 10 minuter. Om du har arbetsbelastningar som körs var 15:e minut kanske du vill ändra autoskalningsprofilen för att skala ned underutnyttjade noder efter 15 eller 20 minuter. När du aktiverar autoskalning av kluster används en standardprofil om du inte anger olika inställningar.

Spara och läs in autoskalningsprofilen

Du kan spara och lagra din autoskalningsprofil i en profildefinition som en YAML-fil. Du kan redigera YAML-filen manuellt från en textredigerare och läsa in sparade definitioner.

Spara din profildefinition

Du sparar en kopia av profilen som en YAML-fil med .kvactl När du har definierat din profil kör du följande kommandon:

kvactl.exe autoscalerprofile get --name default --kubeconfig (Get-AksHciConfig).Kva.kubeconfig --outputformat=yaml > def.yaml

Redigera din profildefinition

Du kan redigera profildefinitionen i YAML-filen. Du kan till exempel öppna def.yaml i anteckningar, Visual Studio Code eller andra textredigerare.

Läs in din profildefinition

Du kan läsa in profildefinitionen med hjälp av kvactl från den sparade YAML-filen. Kör följande kommando:

kvactl.exe autoscalerprofile create --profileconfig .\def-new.yaml --kubeconfig (Get-AksHciConfig).Kva.kubeconfig

Nästa steg