Koncepty škálovatelnosti clusteru

Dokončeno

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.

Diagram znázorňující, jak funguje automatické škálování clusteru

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é.

Kontrola znalostí

1.

Jak se automatické škálování clusteru liší od HPA?

2.

Proč je automatické škálování clusteru nezbytné v produkčním prostředí?

3.

Ve které z těchto situací se clusteru nepodaří odebrat uzel?