Autoskalning 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 målklustren.
I den här artikeln beskrivs 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 horizontal pod autoscaler, som är en Kubernetes-standardkomponent. Mer information om kubernetes horizontal pod autoscaler finns i Horizontal pod autoscaling (Horisontell autoskalning av poddar).
Autoskalning av kluster
I AKS söker autoskalning av kluster 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 programefterfrågan. 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 ditt AKS-kluster 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 beräknar 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 noder som anges. 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. Skalningen använder dessa data för att fatta ett välgrundat beslut. När autoskalningen ökar nodpoolen söker autoskalningen efter resursernas tillgänglighet.
AKS Arc använder den inbyggda funktionen för autoskalning i Kubernetes för att stödja åtgärder som liknar Autoskalning i Azure.
Så här fungerar autoskalning av kluster
Autoskalningen anpassas till ändrade programkrav. När kraven ändras mellan belastningen på arbetsdagen och kvällen flyttar autoskalningen 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 autoskalning i en nodpool tillämpas standardprofilen om 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 både när klustret och nodpoolen skapas.
När du aktiverar autoskalning för ett kluster och du inte anger något autoscalerconfig-objekt 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 autoskalning. 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 automatisk skalning av kluster.
Autoskalning av kluster under en klusteruppgradering
Under en klusteruppgradering och uppdatering pausas autoskalningen och ingen skalningsåtgärd utförs förrän klustret och alla nodpooler i klustret slutför uppdateringsåtgärden. Om en specifik nodpool i ett kluster uppdateras till en nyare Kubernetes-version pausas autoskalningen för den nodpoolen. Autoskalningsåtgärden fortsätter i alla andra nodpooler.