Automatické škálování SLUŽBY HDInsight v clusterech AKS
Poznámka:
Azure HDInsight vyřadíme ze služby AKS 31. ledna 2025. Před 31. lednem 2025 budete muset migrovat úlohy do Microsoft Fabric nebo ekvivalentního produktu Azure, abyste se vyhnuli náhlému ukončení úloh. Zbývající clustery ve vašem předplatném se zastaví a odeberou z hostitele.
Do data vyřazení bude k dispozici pouze základní podpora.
Důležité
Tato funkce je aktuálně dostupná jako ukázková verze. Doplňkové podmínky použití pro Microsoft Azure Preview obsahují další právní podmínky, které se vztahují na funkce Azure, které jsou v beta verzi, ve verzi Preview nebo ještě nejsou vydány v obecné dostupnosti. Informace o této konkrétní verzi Preview najdete v tématu Azure HDInsight o službě AKS ve verzi Preview. Pokud máte dotazy nebo návrhy funkcí, odešlete prosím žádost na AskHDInsight s podrobnostmi a sledujte nás o dalších aktualizacích v komunitě Azure HDInsight.
Určení velikosti libovolného clusteru tak, aby splňovalo výkon úloh a spravuje náklady předem, je vždy složité a těžko určit! Jednou z lukrativních výhod vytváření datového jezera přes Cloud je jeho elasticita, což znamená použití funkce automatického škálování k maximalizaci využití prostředků v ruce. Automatické škálování pomocí Kubernetes je jedním z klíčových klíčů k vytvoření ekosystému optimalizovaného pro náklady. S různými vzory využití v libovolném podniku se můžou v průběhu času měnit zatížení clusteru, což by mohlo vést k tomu, že clustery jsou nedostatečně zřízené (lousovatelní výkon) nebo nadměrné (zbytečné náklady způsobené nečinnými prostředky).
Funkce automatického škálování nabízená ve službě HDInsight v AKS může automaticky zvýšit nebo snížit počet pracovních uzlů ve vašem clusteru. Automatické škálování používá metriky clusteru a zásady škálování používané zákazníky.
Tato funkce je vhodná pro klíčové úlohy, které můžou mít
- Proměnlivé nebo nepředvídatelné vzorce provozu a vyžadují smlouvy SLA s vysokým výkonem a škálováním nebo
- Předem určený plán, aby byly požadované pracovní uzly k dispozici pro úspěšné spuštění úloh v clusteru.
Automatické škálování pomocí HDInsightu v clusterech AKS zpřístupňuje clustery nákladově efektivní a elastické v Azure.
Díky automatickému škálování můžou zákazníci vertikálně snížit kapacitu clusterů, aniž by to mělo vliv na úlohy. Je povolená s pokročilými funkcemi, jako je řádné vyřazení z provozu a doba chlazení. Tyto funkce umožňují uživatelům provádět informované volby o přidávání a odebírání uzlů na základě aktuálního zatížení clusteru.
Jak to funguje
Tato funkce funguje škálováním počtu uzlů v rámci přednastavených limitů na základě metrik clusteru nebo definovaného plánu operací vertikálního navýšení a snížení kapacity. Existují dva typy podmínek pro aktivaci událostí automatického škálování: triggery založené na prahových hodnotách pro různé metriky výkonu clusteru (označované jako škálování založené na zatížení) a triggery založené na čase (označované jako škálování založené na plánu).
Škálování na základě zatížení změní počet uzlů v clusteru v rozsahu, který nastavíte, aby se zajistilo optimální využití procesoru a minimalizovalo provozní náklady.
Škálování na základě plánu mění počet uzlů v clusteru na základě plánu operací vertikálního navýšení a snížení kapacity.
Poznámka:
Automatické škálování nepodporuje změnu typu skladové položky existujícího clusteru.
Kompatibilita clusteru
Následující tabulka popisuje typy clusterů, které jsou kompatibilní s funkcí automatického škálování a co je dostupné nebo plánované.
Úloha | Na základě zatížení | Podle plánu |
---|---|---|
Flink | Naplánováno | Ano |
Trino | Ano** | Ano** |
Spark | Ano** | Ano** |
**Řádné vyřazení z provozu je možné konfigurovat.
Metody škálování
Škálování na základě plánu:
Škálování na základě zatížení:
Pokud vzorce zatížení během dne výrazně a nepředvídatelně kolísají, například zpracování dat objednávek s náhodnými výkyvy zatížení na základě různých faktorů.
S novou možností pravidla škálování můžete nyní přizpůsobit pravidla škálování.
Tip
- Pravidla vertikálního navýšení kapacity mají přednost při aktivaci jednoho nebo více pravidel. I když jen jedno z pravidel vertikálního navýšení kapacity navrhuje, aby cluster byl nedostatečně zřízený, cluster se pokusí vertikálně navýšit kapacitu. Aby bylo možné vertikálně snížit kapacitu, nemělo by se aktivovat žádné pravidlo vertikálního navýšení kapacity.
Podmínky škálování na základě zatížení
Když se zjistí následující podmínky, automaticky škáluje žádost o škálování.
Vertikální navýšení kapacity | Vertikální snížení kapacity |
---|---|
Přidělená jádra jsou po dobu 5 minut delší než 80 % intervalu dotazování (1 minutové období kontroly). | Přidělená jádra jsou kratší nebo rovna 20 % pro 5minutový interval dotazování (1 minutové období kontroly). |
V případě vertikálního navýšení kapacity automaticky škáluje požadavek na vertikální navýšení kapacity, aby se přidal požadovaný počet uzlů. Vertikální navýšení kapacity vychází z toho, kolik nových pracovních uzlů je potřeba ke splnění aktuálních požadavků na procesor a paměť. Tato hodnota je omezena na maximální počet pracovních uzlů nastavených.
V případě vertikálního snížení kapacity vydá automatické škálování žádost o odebrání některých uzlů. Aspekty vertikálního snížení kapacity zahrnují počet podů na uzel, aktuální požadavky na procesor a paměť a pracovní uzly, které jsou kandidáty na odebrání na základě aktuálního spuštění úlohy. Operace vertikálního snížení kapacity nejprve vyřadí uzly z provozu a pak je odebere z clusteru.
Důležité
Modul pravidel automatického škálování proaktivně vyprázdní staré události každých 30 minut za účelem optimalizace systémové paměti. V důsledku toho existuje horní mez 30 minut v intervalu pravidla škálování. Aby se zajistilo konzistentní a spolehlivé spouštění akcí škálování, je nezbytné nastavit interval pravidla škálování na hodnotu, která je nižší než limit. Dodržováním tohoto návodu můžete zaručit hladký a efektivní proces škálování při efektivní správě systémových prostředků.
Metriky clusteru
Automatické škálování nepřetržitě monitoruje cluster a shromažďuje následující metriky pro automatické škálování na základě zatížení:
Metriky clusteru dostupné pro účely škálování
Metrický | Popis |
---|---|
Procento dostupných jader | Celkový počet jader dostupných v clusteru v porovnání s celkovým počtem jader v clusteru. |
Dostupné procento paměti | Celková paměť (v MB) dostupná v clusteru ve srovnání s celkovým množstvím paměti v clusteru. |
Procento přidělených jader | Celkový počet jader přidělených v clusteru v porovnání s celkovým počtem jader v clusteru. |
Přidělené procento paměti | Množství paměti přidělené v clusteru v porovnání s celkovým množstvím paměti v clusteru. |
Ve výchozím nastavení se výše uvedené metriky kontrolují každých 300 sekund, je také možné nakonfigurovat při přizpůsobení intervalu hlasování s možností přizpůsobení automatického škálování. Automatické škálování provádí rozhodnutí o vertikálním navýšení nebo snížení kapacity na základě těchto metrik.
Poznámka:
Ve výchozím nastavení automatické škálování používá výchozí kalkulačku prostředků pro YARN pro Apache Spark. Škálování na základě zatížení je k dispozici pro clustery Apache Spark.
Řádné vyřazení z provozu
Podniky potřebují způsoby, jak dosáhnout petabajtového škálování s automatickým škálováním a řádně vyřadit prostředky z provozu, když už nejsou potřeba. V takovém scénáři je užitečné funkce elegantního vyřazení z provozu.
Řádné vyřazení z provozu umožňuje dokončení úloh i po aktivaci automatického škálování vyřazení pracovních uzlů z provozu. Tato funkce umožňuje uzly dál zřizovat, dokud nebudou dokončeny úlohy.
Trino : Pracovní procesy mají ve výchozím nastavení povolené řádné vyřazení z provozu. Koordinátor umožňuje ukončení pracovního procesu dokončit své úkoly po nakonfigurovanou dobu před odebráním pracovního procesu z clusteru. Časový limit můžete nakonfigurovat buď pomocí nativního parametru
shutdown.grace-period
Trino, nebo na stránce konfigurace služby webu Azure Portal.Apache Spark : Vertikální snížení kapacity může ovlivnit nebo zastavit všechny spuštěné úlohy v clusteru. Pokud na webu Azure Portal povolíte řádné vyřazení z provozu, zahrnuje řádné vyřazení uzlů YARN a zajistí, že se veškerá probíhající práce na pracovním uzlu dokončí před odebráním uzlu ze služby HDInsight v clusteru AKS.
Období chladnutí
Aby se zabránilo průběžným operacím vertikálního navýšení kapacity, modul automatického škálování před zahájením jiné sady operací vertikálního navýšení kapacity počká na konfigurovatelný interval. Výchozí hodnota je nastavená na 180 sekund.
Poznámka:
- Ve vlastních pravidlech škálování nemůže mít žádný aktivační událost interval aktivační události delší než 30 minut. Jakmile dojde k události automatického škálování, doba čekání před vynucením jiné zásady škálování.
- Období ochladnutí by mělo být větší než interval zásad, aby se metriky clusteru mohly resetovat.
Začínáme
Aby automatické škálování fungovalo, musíte přiřadit msi oprávnění vlastníka nebo přispěvatele (použité při vytváření clusteru) na úrovni clusteru pomocí IAM v levém podokně.
Projděte si následující obrázek a postup přidání přiřazení role.
Vyberte přidat přiřazení role.
- Typ přiřazení: Role privilegovaného správce
- Role: Vlastník nebo Přispěvatel
- Členové: Zvolte spravovanou identitu a vyberte spravovanou identitu přiřazenou uživatelem, která byla udělena během fáze vytváření clusteru.
- Přiřaďte roli.
Vytvoření clusteru s automatickým škálováním na základě plánu
Po vytvoření fondu clusterů vytvořte nový cluster s požadovanou úlohou (na typu clusteru) a proveďte další kroky v rámci normálního procesu vytváření clusteru.
Na kartě Konfigurace povolte přepínač automatického škálování.
Výběr automatického škálování na základě plánu
Vyberte časové pásmo a potom klikněte na + Přidat pravidlo.
Vyberte dny v týdnu, na které má nová podmínka platit.
Upravte čas, kdy se má podmínka projevit, a počet uzlů, na které se má cluster škálovat.
Poznámka:
- Aby automatické škálování fungovalo, měl by mít uživatel v MSI clusteru roli vlastníka nebo přispěvatele.
- Výchozí hodnota definuje počáteční velikost clusteru při jeho vytvoření.
- Rozdíl mezi dvěma plány je ve výchozím nastavení nastavený na 30 minut.
- Hodnota času se řídí 24hodinovým formátem.
- V případě průběžného intervalu delšího než 24 hodin napříč dny musíte nastavit plán automatického škálování napříč dny a automatické škálování předpokládá, že 23:59 je 00:00 (se stejným počtem uzlů) přesahující dva dny od 22:00 do 23:59, 00:00 až 02:00 jako 22:00 až 02:00.
- Plány jsou ve výchozím nastavení nastavené ve standardu UTC (Coordinated Universal Time). V rozevíracím seznamu můžete vždy aktualizovat časové pásmo, které odpovídá místnímu časovému pásmu. Pokud jste v časovém pásmu, které sleduje letní úspory, plán se automaticky neupraví, budete muset odpovídajícím způsobem spravovat aktualizace plánu.
Vytvoření clusteru s automatickým škálováním na základě zatížení
Po vytvoření fondu clusterů vytvořte nový cluster s požadovanou úlohou (na typu clusteru) a proveďte další kroky v rámci normálního procesu vytváření clusteru.
Na kartě Konfigurace povolte přepínač automatického škálování.
Výběr automatického škálování na základě zatížení
Na základě typu úlohy máte možnosti přidat časový limit pro řádné vyřazení z provozu, období ochladnutí.
Vyberte minimální a maximální počet uzlů a v případě potřeby nakonfigurujte pravidla škálování tak, aby přizpůsobila automatické škálování vašim potřebám.
Tip
- Vaše předplatné má kvótu kapacity pro každou oblast. Celkový počet jader hlavních uzlů a maximální počet pracovních uzlů nesmí překročit kvótu kapacity. Tato kvóta je však měkkým limitem; Kdykoli můžete vytvořit lístek podpory, abyste ho mohli snadno zvýšit.
- Pokud překročíte limit celkové kvóty jader, zobrazí se chybová zpráva s oznámením
The maximum node count you can select is {maxCount} due to the remaining quota in the selected subscription ({remaining} cores)
. - Pravidla vertikálního navýšení kapacity mají přednost při aktivaci jednoho nebo více pravidel. I když jen jedno z pravidel vertikálního navýšení kapacity navrhuje, aby cluster byl nedostatečně zřízený, cluster se pokusí vertikálně navýšit kapacitu. Aby bylo možné vertikálně snížit kapacitu, nemělo by se aktivovat žádné pravidlo vertikálního navýšení kapacity.
- Ve verzi Public Preview podporuje HDInsight v AKS až 500 uzlů v clusteru.
Vytvoření clusteru pomocí šablony Resource Manageru
Automatické škálování na základě plánu
Službu HDInsight můžete vytvořit v clusteru AKS s automatickým škálováním na základě plánu pomocí šablony Azure Resource Manageru přidáním automatického škálování do oddílu clusterProfile –> autoscaleProfile.
Uzel automatického škálování obsahuje opakování s časovým pásmem a plánem, který popisuje, kdy se změna provede. Kompletní šablonu Resource Manageru najdete v ukázce JSON.
{
"autoscaleProfile": {
"enabled": true,
"autoscaleType": "ScheduleBased",
"gracefulDecommissionTimeout": 60,
"scheduleBasedConfig": {
"schedules": [
{
"days": [
"Monday",
"Tuesday",
"Wednesday"
],
"startTime": "09:00",
"endTime": "10:00",
"count": 2
},
{
"days": [
"Sunday",
"Saturday"
],
"startTime": "12:00",
"endTime": "22:00",
"count": 5
},
{
"days": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
],
"startTime": "22:00",
"endTime": "23:59",
"count": 6
},
{
"days": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
],
"startTime": "00:00",
"endTime": "05:00",
"count": 6
}
],
"timeZone": "UTC",
"defaultCount": 110
}
}
}
Tip
- Abyste se vyhnuli selháním operace škálování, musíte nastavit nekonfliktní plány pomocí nasazení ARM.
Automatické škálování na základě zatížení
Službu HDInsight můžete vytvořit v clusteru AKS s automatickým škálováním na základě zatížení pomocí šablony Azure Resource Manageru přidáním automatického škálování do oddílu clusterProfile –> autoscaleProfile.
Uzel automatického škálování obsahuje
- interval dotazování, období ochladnutí,
- řádné vyřazení z provozu,
- minimální a maximální počet uzlů,
- standardní prahová pravidla,
- metriky škálování, které popisují, kdy se změna provede.
Kompletní šablonu Resource Manageru najdete v ukázkovém formátu JSON následujícím způsobem:
{
"autoscaleProfile": {
"enabled": true,
"autoscaleType": "LoadBased",
"gracefulDecommissionTimeout": 60,
"loadBasedConfig": {
"minNodes": 2,
"maxNodes": 157,
"pollInterval": 300,
"cooldownPeriod": 180,
"scalingRules": [
{
"actionType": "scaleup",
"comparisonRule": {
"threshold": 80,
"operator": " greaterThanOrEqual"
},
"evaluationCount": 1,
"scalingMetric": "allocatedCoresPercentage"
},
{
"actionType": "scaledown",
"comparisonRule": {
"threshold": 20,
"operator": " lessThanOrEqual"
},
"evaluationCount": 1,
"scalingMetric": "allocatedCoresPercentage"
}
]
}
}
}
S využitím REST API
Pokud chcete povolit nebo zakázat automatické škálování na spuštěném clusteru pomocí rozhraní REST API, vytvořte požadavek PATCH na koncový bod automatického škálování: https://management.azure.com/subscriptions/{{USER_SUB}}/resourceGroups/{{USER_RG}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSTER_POOL_NAME}}/clusters/{{CLUSTER_NAME}}?api-version={{HILO_API_VERSION}}
- Použijte příslušné parametry v datové části požadavku. Datová část JSON se dá použít k povolení automatického škálování.
- K zakázání automatického škálování použijte datovou část (autoscaleProfile: null) nebo použijte příznak (povoleno, nepravda).
- Referenční informace najdete v ukázkách JSON uvedených v předchozím kroku.
Pozastavení automatického škálování pro spuštěný cluster
Zavedli jsme funkci pozastavení v automatickém škálování. Teď můžete pomocí webu Azure Portal pozastavit automatické škálování na spuštěném clusteru. Následující diagram znázorňuje výběr pozastavení a obnovení automatického škálování.
Jakmile budete chtít obnovit operace automatického škálování, můžete pokračovat.
Tip
Když nakonfigurujete více plánů a pozastavíte automatické škálování, neaktivuje se další plán. Počet uzlů zůstane stejný, i když jsou uzly v vyřazeném stavu.
Kopírování konfigurací automatického škálování
Pomocí webu Azure Portal teď můžete zkopírovat stejné konfigurace automatického škálování pro stejný obrazec clusteru napříč fondem clusterů. Tuto funkci můžete použít a exportovat nebo importovat stejné konfigurace.
Monitorování aktivit automatického škálování
Stav clusteru
Stav clusteru uvedený na webu Azure Portal vám může pomoct monitorovat aktivity automatického škálování. Všechny stavové zprávy clusteru, které se můžou zobrazit, jsou vysvětlené v seznamu.
Stav clusteru | Popis |
---|---|
Úspěšný | Cluster funguje normálně. Všechny předchozí aktivity automatického škálování byly úspěšně dokončeny. |
Přijato | Akceptuje se operace clusteru (například vertikální navýšení kapacity), která čeká na dokončení operace. |
Neúspěšný | To znamená, že aktuální operace selhala z nějakého důvodu, cluster možná není funkční. |
Zrušeno | Aktuální operace je zrušena. |
Pokud chcete zobrazit aktuální počet uzlů v clusteru, přejděte na graf velikostí clusteru na stránce Přehled vašeho clusteru.
Historie operací
Historii vertikálního navýšení a snížení kapacity clusteru můžete zobrazit jako součást metrik clusteru. Můžete také zobrazit seznam všech akcí škálování za poslední den, týden nebo jiné období.
Další materiály