Automatisk skalning av kluster i AKS aktiverat av Azure Arc
Gäller för: AKS på Azure Stack HCI 22H2, AKS på Windows Server
Du kan justera antalet noder som kör programarbetsbelastningar i AKS Arc med hjälp av Azure Kubernetes Service (AKS) för att hålla jämna steg med efterfrågan. Du kan använda PowerShell för att aktivera autoskalning och för att hantera automatisk skalning av nodpooler i dina målkluster.
Den här artikeln beskriver kontexten för autoskalning i AKS som aktiveras av Arc och hur autoskalningen fungerar. För att autoskalning av kluster ska fungera effektivt kan du också använda kubernetes vågräta autoskalning av poddar, som är en Kubernetes-standardkomponent. Mer information om kubernetes vågrät autoskalning av poddar finns i Horisontell autoskalning av poddar.
Autoskalning av kluster
I AKS letar autoskalningsenheten efter poddar i klustret som inte kan schemaläggas på grund av resursbegränsningar. När problem identifieras ökar antalet noder i en nodpool för att möta programbehovet. Noder kontrolleras också regelbundet på grund av brist på poddar som körs och sedan minskar antalet noder efter behov. Med den här möjligheten att automatiskt skala upp eller skala ned antalet noder i AKS-klustret kan du köra effektiva och kostnadseffektiva kluster. Autoskalning är systemets möjlighet att automatiskt justera dina arbetsbelastningar genom automatisering och konfiguration som innehåller specifika parametrar baserat på indata, mått och regler.
För att aktivera autoskalning av kluster måste AKS implementera grundläggande resurshantering. AKS uppskattar resurskrav som utlöser autoskalningshändelser vid en tidpunkt. AKS tar inte hänsyn till resursförbrukning utanför AKS Arc. När du till exempel lägger till virtuella datorer när du har aktiverat autoskalning sker den här händelsen utanför autoskalningskontexten.
Syftet med autoskalning av kluster
Autoskalningen ökar automatiskt storleken på en nodpool från det lägsta till det maximala antalet angivna noder. När du aktiverar automatisk skalning avgör autoskalningen om det maximala antalet noder är möjligt och varnar dig om överetablering av tillgängliga maskinvaruresurser.
Autoskalningen spårar tillgängliga och utlovade resurser i alla distribuerade målkluster och nodpooler. Skalningsaren använder dessa data för att fatta ett välgrundat beslut. När autoskalningen ökar nodpoolen söker autoskalningsenheten efter resursernas tillgänglighet.
AKS Arc använder den inbyggda autoskalningsfunktionen i Kubernetes för att stödja åtgärder som liknar Autoskalning i Azure.
Så här fungerar autoskalning av kluster
Autoskalningen anpassas efter ändrade programkrav. När kraven ändras mellan arbetsdag och kvällsbelastning flyttar autoskalningsenheten dina klusterresurser. Kubernetes-kluster skalas på två sätt:
- Utlösare baserat på nodanvändning. Den automatiska omskalaren söker efter poddar som inte kan schemaläggas på noder på grund av resursbegränsningar. Autoskalning av kluster minskar antalet noder när det har funnits outnyttjad kapacitet under en tid.
- Utlösare som definierats i autoskalningsprofilerna. Autoskalning av kluster använder startparametrar för utlösare som tidsintervall mellan skalningshändelser och resurströsklar. Se Autoskalningsprofiler.
När du aktiverar automatisk skalning i en nodpool tillämpas standardprofilen såvida du inte åsidosätter en eller flera av inställningarna med parametern -ClusterAutoScalingProfile
på Set-AksHciCluster
. Om du inte aktiverar dem inaktiveras standardtillståndet för autoskalning av noderna vid skapandetiden för både klustret och nodpoolen.
När du aktiverar autoskalning för ett kluster och du inte anger något autoskalningskonfigurationsobjekt läggs standardprofilen för autoskalning till i klustret. Du kan sedan finjustera parametrarna i profilen med hjälp Set-AksHciCluster
av kommandot och skicka ett autoscalerconfig-objekt med de uppdaterade värdena. Du behöver inte ange alla parametrar i objektet. Du kan bara ange dina uppdaterade parametrar i objektet.
Arbeta med autoskalning
Du kan ange parametrarna i autoskalningsprofilen för att konfigurera autoskalningen. Mer information finns i Så här använder du autoskalningsprofilerna.
Du kan använda PowerShell för att aktivera, konfigurera och inaktivera autoskalning. Mer information finns i Använda PowerShell för autoskalning av kluster.
Autoskalning av kluster under en klusteruppgradering
Under en klusteruppgradering och uppdatering pausas autoskalningsåtgärden och ingen skalningsåtgärd utförs förrän klustret och alla nodpooler i klustret har slutfört uppdateringsåtgärden. Om en specifik nodpool i ett kluster uppdateras till en nyare Kubernetes-version pausas autoskalningen för nodpoolen. Autoskalningsåtgärden fortsätter på alla andra nodpooler.