Koncepty škálovatelnosti clusteru
Hladový uzel
V klíči spec.containers.resources
souboru YAML podu definujete počet prostředků, které pod vyžaduje. Po vytvoření nového podu v rámci uzlu Kubernetes automaticky přidělí zadaný počet prostředků podu, aby běžel s množstvím energie, kterou potřebuje.
Jeden uzel je jeden virtuální počítač, který má k dispozici omezené množství prostředků pro pody, jako je procesor a paměť RAM. V uzlu nemůžete spustit neomezený počet podů. Pokud uzel nesplňuje potřebné požadavky na prostředek podu, pod bude soutěžit se zadanými prostředky pro prostředky uzlu, což vede k hladovění uzlu. Pod zůstane ve stavu Čeká na vyřízení a není naplánovaný na žádné uzly, dokud nebude k dispozici dostatek prostředků.
Škálovatelnost clusteru
Aby se zabránilo hladovění uzlů, musí operátor škálovat cluster a přidat do fondu uzlů další virtuální počítače. Ruční škálování clusteru můžete provést pomocí příkazu Azure CLIaz aks scale
. Cluster můžete škálovat také ručně pomocí webu Azure Portal. Přihlaste se k portálu a vyberte cluster Azure Kubernetes Service (AKS). V části Nastavení vyberte Fondy uzlů. Vyberte fond uzlů, který chcete škálovat, a pak vyberte Škálovat fond uzlů.
Ruční škálování může být ohromující, zejména u clusterů s nekonzistentními a proměnlivými požadavky. Pokud počet podů konzistentně kolísá, musíte ho neustále monitorovat pro neplánované pody a provádět potřebné úpravy v reálném čase.
Automatické škálování clusteru
Nástroj automatického škálování clusteru v AKS automatizuje proces škálování clusteru. Když ho povolíte v clusteru AKS, sleduje neplánované pody s omezeními prostředků a automaticky zvýší počet uzlů, aby splňoval požadavky.
Automatické škálování clusteru může také snížit počet uzlů v clusteru, pokud po určitou dobu není k dispozici nevyužitá kapacita clusteru. Pokud je tato podmínka splněná, kabelony automatického škálování (zpřístupňuje uzel pro plánování nových úloh) a vyprázdní uzel (přesune existující úlohy do jiného uzlu). V důsledku toho se všechny pody naplánované v daném uzlu bezpečně přesunou do jiných uzlů. Zajišťuje také, že během procesu nejsou naplánované žádné další pody. Potom odebere uzel z fondu.
Existují situace, kdy automatické škálování clusteru nemůže odebrat uzel kvůli podům, které se nedají přesunout z tohoto uzlu. Mezi tyto situace patří:
- Pod se vytvoří přímo se souborem YAML a není vázán na žádné kontrolery, jako jsou nasazení nebo sady replik.
- Rozpočet pro přerušení podů (PDB) je příliš omezující a neumožňuje, aby počet podů překročil určitou prahovou hodnotu.
- Pod má selektor uzlu pro daný uzel nebo spřažení uzlu, který mu brání v přechodu jinam.
Pokud je povolené automatické škálování, je ruční škálování clusteru zakázané.