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-waste a priority . |
|
skip-nodes-with-local-storage |
Pokud true automatické š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 true automatické š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.