Použití profilu automatického škálování ke konfiguraci automatického škálování clusteru v AKS povoleném službou Azure Arc

Platí pro: AKS v Azure Stack HCI 22H2, AKS na Windows Serveru

Pomocí parametrů v objektu profilu automatického škálování můžete definovat události škálování v AKS povolené službou Arc. Profil automatického škálování clusteru má vliv na všechny fondy uzlů, které používají automatické škálování clusteru. Profil automatického škálování není možné nastavit pro fond uzlů. Tento článek vysvětluje, jak automatické škálování funguje, popisuje výchozí hodnoty profilu automatického škálování a popisuje, jak nakonfigurovat a používat definici profilu.

Použití profilů

Profily automatického škálování clusteru mají následující atributy:

  • Profily automatického škálování se vztahují na všechny fondy uzlů v clusteru.
  • Profily jsou globální objekty na úrovni nasazení.
  • V AKS Arc je k dispozici více profilů.
  • K danému clusteru je přiřazen pouze jeden profil. Profil se používá pro všechny fondy uzlů v clusteru.
  • Změny profilu se použijí u všech fondů uzlů, které mají povolenou funkci automatického škálování.

Nastavení profilu

Výchozí profil se skládá z níže uvedených výchozích hodnot. Můžete aktualizovat následující nastavení.

Nastavení Popis Výchozí hodnota
min-node-count Minimální počet uzlů, na který může fond uzlů, ke kterému je tento profil přiřazen, vertikálně snížit kapacitu. 0
max-node-count Maximální počet uzlů, na který se fond uzlů, ke kterému je tento profil přiřazený, může vertikálně navýšit kapacitu. 1
interval kontroly Jak často se cluster znovu vyhodnotuje kvůli vertikálnímu navýšení nebo snížení kapacity. 10 sekund
scale-down-delay-after-add Za jak dlouho po vertikálním navýšení kapacity se hodnocení vertikálního snížení kapacity obnoví. 10 minut
scale-down-delay-after-delete Jak dlouho po odstranění uzlu se hodnocení vertikálního snížení kapacity obnoví. interval kontroly
vertikální snížení kapacity zpoždění po selhání Za jak dlouho po selhání vertikálního snížení kapacity se hodnocení vertikálního snížení kapacity obnoví. 3 minuty
nepotřebný čas vertikálního snížení kapacity Jak dlouho by měl být uzel nepotřebný, než bude mít nárok na vertikální snížení kapacity. 10 minut
vertikální snížení kapacity pro dobu čtení Jak dlouho by měl být uzel bez čtení nepotřebný, než bude mít nárok na vertikální snížení kapacity. 20 minut
mezní hodnota využití vertikálního snížení kapacity Úroveň využití uzlu definovaná jako součet požadovaných prostředků dělených kapacitou, pod kterou je možné uvažovat o vertikálním snížení kapacity uzlu. 0,5
max-graceful-termination-sec Maximální počet sekund, po které automatické škálování clusteru čeká na ukončení podů při pokusu o vertikální snížení kapacity uzlu. 600 sekund
balance-similar-node-groups Zjistí podobné fondy uzlů a vyrovnává počet uzlů mezi nimi. false (nepravda)
Expander Typ expanderu fondu uzlů, který se má použít při vertikálním navýšení kapacity. Možné hodnoty: většina podů, náhodný, nejmenší odpad, priorita. Náhodné
skip-nodes-with-local-storage Pokud je pravda, automatické škálování clusteru nikdy neodstraní uzly s pody s místním úložištěm, například EmptyDir nebo HostPath. true
skip-nodes-with-system-pods Pokud je pravda, automatické škálování clusteru nikdy 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 současně odstranit. 10 uzlů
Zpoždění vertikálního navýšení kapacity nového podu V případě scénářů, jako je shlukové nebo dávkové škálování, kdy nechcete, aby certifikační autorita jednala předtím, než plánovač Kubernetes naplánuje všechny pody, můžete certifikační autoritě říct, aby neplánované pody před určitým věkem ignorovala. 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, po které automatické škálování čeká na zřízení uzlu. 15 minut

Poznámky ke konfiguraci automatického škálování

Nastavení v profilu automatického škálování clusteru můžete změnit pomocí rutiny PowerShellu Set-AksHciAutoScalerConfig .

Automatické škálování clusteru se rozhoduje o škálování na základě minimálního a maximálního počtu nastaveného v každém fondu uzlů, ale po aktualizaci minimálního a maximálního počtu je nevynucuje. Například nastavením minimálního počtu 5, pokud je aktuální počet uzlů 3, nedojde k okamžitému škálování fondu až na 5.

Pokud má minimální počet ve fondu uzlů hodnotu vyšší, než je aktuální počet uzlů, nové nastavení minimálního nebo maximálního počtu se respektuje, pokud je k dispozici dostatek neplánovatelných podů, které vyžadují dva nové další uzly a aktivují událost automatického škálování. Po události škálování se respektují nová omezení počtu.

Můžete také nakonfigurovat podrobnější podrobnosti automatického škálování clusteru změnou výchozích hodnot v profilu automatického škálování v rámci celého clusteru. Událost vertikálního snížení kapacity například nastane, když jsou uzly nevyužité po dobu 10 minut. Pokud máte úlohy, které se spouštějí každých 15 minut, můžete změnit profil automatického škálování tak, aby po 15 nebo 20 minutách vertikálně snižoval kapacitu nevyužitých uzlů. Když povolíte automatické škálování clusteru, použije se výchozí profil, pokud nezadáte jiná nastavení.

Uložení a načtení profilu automatického škálování

Profil automatického škálování můžete uložit do definice profilu jako soubor YAML. Soubor YAML můžete ručně upravit z textového editoru a načíst uložené definice.

Uložení definice profilu

Kopii profilu uložíte jako soubor YAML pomocí kvactlpříkazu . Po definování profilu spusťte následující příkazy:

kvactl.exe autoscalerprofile get --name default --kubeconfig (Get-AksHciConfig).Kva.kubeconfig --outputformat=yaml > def.yaml

Úprava definice profilu

Definici profilu můžete upravit v souboru YAML. Def.yaml můžete otevřít například v poznámkovém bloku, editoru Visual Studio Code nebo jiných textových editorech.

Načtení definice profilu

Definici profilu můžete načíst pomocí příkazu kvactl z uloženého souboru YAML. Spusťte následující příkaz:

kvactl.exe autoscalerprofile create --profileconfig .\def-new.yaml --kubeconfig (Get-AksHciConfig).Kva.kubeconfig

Další kroky