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