Sdílet prostřednictvím


Použití automatického škálování clusteru v clusteru AKS Arc

Platí pro: Azure Local, verze 23H2

Pokud chcete držet krok s požadavky aplikací v Kubernetes, možná budete muset upravit počet uzlů, na kterých běží vaše úlohy. Komponenta automatického škálování clusteru sleduje pody v clusteru, které nelze naplánovat kvůli omezením prostředků. Když automatické škálování clusteru zjistí problémy, škáluje počet uzlů ve fondu uzlů tak, aby splňoval požadavky aplikace. Také pravidelně kontroluje, jestli uzly nemají spuštěné pody, a podle potřeby vertikálně navyšuje kapacitu počtu uzlů. V tomto článku se dozvíte, jak povolit a spravovat automatické škálování clusteru v AKS Arc.

Povolení automatického škálování clusteru v novém clusteru

Pomocí příkazu vytvořte cluster az aksarc create AKS Arc a povolte a nakonfigurujte automatické škálování clusteru ve fondu uzlů pro cluster pomocí parametru --enable-cluster-autoscaler a určení --min-count a --max-count uzlu. Následující ukázkový příkaz vytvoří cluster s jedním uzlem, povolí automatické škálování clusteru a nastaví minimálně jeden a maximálně tři uzly:

az aksarc create \
--resource-group myResourceGroup \
--name my-aks-arc-cluster \
--custom-location $customLocationId 
--vnet-ids $vnetId
--generate-ssh-keys
--aad-admin-group-object-ids $entraIds
--node-count 1 \
--enable-cluster-autoscaler \
--min-count 1 \
--max-count 3

Vytvoření clusteru a konfigurace nastavení automatického škálování clusteru trvá několik minut.

Povolení automatického škálování clusteru v existujícím clusteru

Pomocí příkazu aktualizujte existující cluster az aksarc update a povolte a nakonfigurujte automatické škálování clusteru pomocí parametru --enable-cluster-autoscaler a určení --min-count a --max-count pro uzel. Následující ukázkový příkaz aktualizuje existující cluster AKS Arc, aby v clusteru povolil automatické škálování clusteru a nastavil minimálně jeden a maximálně tři uzly:

az aksarc update \
  --resource-group myResourceGroup \
  --name my-aks-arc-cluster \
  --enable-cluster-autoscaler \
  --min-count 1 \
  --max-count 3

Aktualizace clusteru a konfigurace nastavení automatického škálování clusteru trvá několik minut.

Zakázání automatického škálování clusteru v clusteru

Pomocí příkazu a parametru az aksarc update zakažte automatické škálování clusteru --disable-cluster-autoscaler :

az aksarc update \
  --resource-group myResourceGroup \
  --name my-aks-arc-cluster \
  --disable-cluster-autoscaler

Uzly se neodeberou, když je automatické škálování clusteru zakázané.

Aktualizace nastavení automatického škálování clusteru

S tím, jak vaše aplikace vyžaduje změnu, může být potřeba upravit počet uzlů automatického škálování clusteru tak, aby se škálovat efektivně. Pomocí příkazu změňte počet az aksarc update uzlů a aktualizujte automatické škálování clusteru pomocí parametru --update-cluster-autoscaler a zadejte aktualizovaný --min-count a --max-count pro uzel.

az aksarc update \
  --resource-group myResourceGroup \
  --name myAKSCluster \
  --update-cluster-autoscaler \
  --min-count 1 \
  --max-count 5

Použití profilu automatického škálování clusteru

Podrobnější podrobnosti automatického škálování clusteru můžete nakonfigurovat změnou výchozích hodnot v profilu automatického škálování v rámci celého clusteru. Například událost vertikálního snížení kapacity se stane, když se uzly po 10 minutách nevyužívají. Pokud máte úlohy, které běží každých 15 minut, možná budete chtít změnit profil automatického škálování tak, aby po 15 nebo 20 minutách vertikálně snížil kapacitu nevyužitých uzlů. Pokud povolíte automatické škálování clusteru, použije se výchozí profil, pokud nezadáte jiná nastavení.

Nastavení profilu automatického škálování clusteru

Následující tabulka uvádí dostupná nastavení pro profil automatického škálování clusteru:

Nastavení Popis Default value
scan-interval Jak často se cluster znovu vyhodnocuje pro vertikální navýšení nebo snížení kapacity. 10 sekund
scale-down-delay-after-add Jak dlouho po vertikálním navýšení kapacity se hodnocení obnoví. 10 minut
scale-down-delay-after-delete Jak dlouho po odstranění uzlu se obnoví vyhodnocení vertikálního snížení kapacity. scan-interval
scale-down-delay-after-failure Jak dlouho po selhání vertikálního snížení kapacity se obnoví vyhodnocení vertikálního snížení kapacity. Tři minuty
scale-down-unneeded-time Jak dlouho by měl být uzel nepotřebný, než bude mít nárok na vertikální snížení kapacity. 10 minut
scale-down-unready-time Jak dlouho by měl být nepřečtený uzel nepotřebný, než bude mít nárok na vertikální snížení kapacity. 20 minut
scale-down-utilization-threshold Úroveň využití uzlu definovaná jako součet požadovaných prostředků rozdělených kapacitou, ve které se uzel dá zvážit pro vertikální snížení kapacity. 0.5
max-graceful-termination-sec Maximální počet sekund, po které automatické škálování clusteru čeká na ukončení podu při pokusu o vertikální snížení kapacity uzlu 600 s
balance-similar-node-groups Detekuje podobné fondy uzlů a vyrovnává počet uzlů mezi nimi. false
expander Typ fondu uzlů, který rozšíření používá při vertikálním navýšení kapacity Možné hodnoty zahrnují most-pods, random, least-wastea priority.
skip-nodes-with-local-storage Pokud trueautomatické škálování clusteru neodstraní uzly s pody s místním úložištěm, například EmptyDir nebo HostPath. true
skip-nodes-with-system-pods Pokud trueautomatické škálování clusteru neodstraní uzly s pody ze systému kube-system (s výjimkou daemonSet nebo zrcadlových podů). true
max-empty-bulk-delete Maximální počet prázdných uzlů, které lze odstranit současně. 10 uzlů
new-pod-scale-up-delay Ve scénářích, jako je nárazové nebo dávkové škálování, kdy nechcete, aby certifikační autorita fungovala před tím, než plánovač Kubernetes může naplánovat všechny pody, můžete certifikační autoritě říct, aby ignorovala neplánované pody, než dosáhnou určitého věku. 0 sekund
max-total-unready-percentage Maximální procento nepřečtených uzlů v clusteru Po překročení tohoto procenta certifikační autorita zastaví operace. 45 %
max-node-provision-time Maximální doba čekání automatického škálování na zřízení uzlu 15 minut

Nastavení profilu automatického škálování clusteru v novém clusteru

Pomocí příkazu vytvořte cluster az aksarc create AKS Arc a pomocí parametru nastavte profil automatického škálování clusteru cluster-autoscaler-profile :

az aksarc create \
  --resource-group myResourceGroup \
  --name my-aks-arc-cluster \
  --node-count 1 \
  --enable-cluster-autoscaler \
  --min-count 1 \
  --max-count 3 \
  --cluster-autoscaler-profile scan-interval=30s

Nastavení profilu automatického škálování clusteru v existujícím clusteru

Pomocí příkazu a parametru nastavte automatické škálování clusteru v existujícím clusteru az aksarc update cluster-autoscaler-profile . Následující příklad nakonfiguruje nastavení intervalu kontroly jako 30s:

az aksarc update \
  --resource-group myResourceGroup \
  --name my-aks-arc-cluster \
  --cluster-autoscaler-profile scan-interval=30s

Resetování profilu automatického škálování clusteru na výchozí hodnoty

Resetujte profil automatického škálování clusteru az aksarc update pomocí příkazu:

az aksarc update \
  --resource-group myResourceGroup \
  --name my-aks-arc-cluster \
  --cluster-autoscaler-profile ""

Další kroky

Tento článek vám ukázal, jak automaticky škálovat počet uzlů AKS Arc. Pokud chcete fondy uzlů škálovat ručně, přečtěte si téma Správa fondů uzlů v clusterech AKS Arc.