Rezervace prostředků uzlu v Azure Kubernetes Service (AKS)

V tomto článku se dozvíte o rezervacích prostředků uzlů v Azure Kubernetes Service (AKS).

Rezervace prostředků

AKS používá prostředky uzlů, které pomáhají uzlům fungovat jako součást clusteru. Toto využití může způsobit nesrovnalosti mezi celkovými prostředky uzlu a přidělováním prostředků v AKS.

AKS si na každém uzlu vyhrazuje dva typy prostředků, procesoru a paměti, aby se zachoval výkon a funkce uzlů. S tím, jak uzel roste z hlediska prostředků, rostou i rezervace prostředků kvůli větší potřebě správy podů nasazených uživatelem.

Rezervace procesoru

Vyhrazený procesor je závislý na typu uzlu a konfiguraci clusteru, což může mít za následek méně využití procesoru kvůli spouštění dalších funkcí. Následující tabulka uvádí rezervace procesoru v milicores:

Jádra procesoru na hostiteli 1 jádro 2 jádra 4 jádra 8 jader 16 jader 32 jader 64 jader
CPU rezervované pro Kube (millicores) 60 100 140 180 260 420 740

Rezervace paměti

V AKS se rezervovaná paměť skládá ze součtu dvou hodnot:

AKS 1.29 a novější

  • kubelet daemon má ve výchozím nastavení pravidlo vyřazení memory.available < 100 Mi. Toto pravidlo zajišťuje, že uzel má vždy k dispozici alespoň 100 Mi alokovatelné kapacity. Pokud je hostitel nižší než prahová hodnota dostupné paměti, kubelet aktivuje ukončení jednoho ze spuštěných podů a uvolní paměť na hostitelském počítači.

  • Frekvence rezervací paměti nastavená na nižší hodnotu: 20 MB * Maximální počet podů podporovaných na uzlu + 50 MB nebo 25% celkových systémových paměťových prostředků.

    Examples:

    • Pokud virtuální stroj (VM) poskytuje 8 GB paměti a uzel podporuje až 30 podů, AKS rezervuje 20 MB * 30 max. počet podů + 50 MB = 650 MB pro kube-reserved. Allocatable space = 8 GB - 0.65 GB (kube-reserved) - 0.1 GB (eviction threshold) = 7.25 GB or 90.625% allocatable.
    • Pokud VM poskytuje 4 GB paměti a uzel podporuje až 70 podů, AKS si rezervuje 25 % * 4 GB = 1000 MB pro kube-reserved, protože je to méně než 20 MB * 70 max. počtu podů + 50 MB = 1450 MB.

    Další informace najdete v tématu Konfigurace maximálního počtu podů na uzel v clusteru AKS.

Poznámka

Pokud chcete v uzlových fondech se systémem Linux použít posílené výchozí hodnoty kube-reserved, system-reserved a evikce, zaregistrujte příznak funkce CustomNodeConfigPreview a povolte posílení zabezpečení uzlů v clusteru pomocí parametru --enable-node-hardening. Chcete-li přizpůsobit kubeReserved hodnoty procesoru a paměti nebo prahové hodnoty vyřazení, použijte nastavení konfigurace vlastního uzlu ve verzi Preview. Další informace najdete v tématu Posílení zabezpečení uzlu (Preview) v AKS.

Verze AKS starší než 1.29

  • kubelet daemon má ve výchozím nastavení pravidlo vyřazení při memory.available < 750 Mi. Toto pravidlo zajišťuje, že uzel má za všech okolností k dispozici alespoň 750 Mi alokovatelné paměti. Pokud dostupná paměť hostitele klesne pod tuto prahovou hodnotu, kubelet spustí ukončení jednoho ze spuštěných podů a tím uvolní paměť na hostitelském počítači.
  • Regresivní míra rezervace paměti, aby démon kubelet správně fungoval (kube-reserved).
    • 25% prvních 4 GB paměti
    • 20% dalších 4 GB paměti (až 8 GB)
    • 10% dalších 8 GB paměti (až 16 GB)
    • 6% z dalších 112 GB paměti (až 128 GB)
    • 2% jakékoli paměti větší než 128 GB

Poznámka

AKS si pro systémové procesy v Windows uzlech, které nejsou součástí počítané paměti, vyhrazuje dodatečných 2 GB.

Pravidla přidělování paměti a procesoru jsou navržená tak, aby:

  • Udržujte uzly agentů v pořádku, včetně některých podů hostitelského systému, které jsou důležité pro stav clusteru.
  • Způsobit, aby uzel hlásil méně alokovatelné paměti a CPU, než kolik by hlásil, kdyby nebyl součástí klastru Kubernetes.

Pokud například uzel nabízí 7 GB, hlásí 34% paměti, která není k dispozici, včetně prahové hodnoty 750 Mi pro vyřazování.

0.75 + (0.25*4) + (0.20*3) = 0.75 GB + 1 GB + 0.6 GB = 2.35 GB / 7 GB = 33.57% reserved

Kromě rezervací pro samotný Kubernetes si základní operační systém uzlu také vyhrazuje množství prostředků procesoru a paměti pro údržbu funkcí operačního systému.

Přidružené osvědčené postupy najdete v tématu Osvědčené postupy pro základní funkce plánovače v AKS.

Další kroky