Analýza nákladů služby Azure Kubernetes Service

Cluster Azure Kubernetes Service (AKS) je závislý na prostředcích Azure, jako jsou virtuální počítače, virtuální disky, nástroje pro vyrovnávání zatížení a veřejné IP adresy. Tyto prostředky může používat více aplikací, které můžou udržovat různé týmy ve vaší organizaci. Vzorce spotřeby prostředků pro tyto aplikace jsou často proměnlivé, takže jejich příspěvek k celkovému nákladům na prostředky clusteru se také může lišit. Některé aplikace můžou mít také nároky na více clusterů, což může představovat výzvu při provádění nákladů a správy nákladů.

Dříve služba Microsoft Cost Management (MCM) agregovala spotřebu prostředků clusteru v rámci skupiny prostředků clusteru. Pomocí MCM můžete analyzovat náklady, ale došlo k několika výzvám:

  • Nebyla k dispozici žádná nativní funkce Azure pro zobrazení využití prostředků clusteru na úrovni podrobnějšího než clusteru. Nebyly rozděleny do samostatných kategorií, jako jsou výpočetní prostředky (včetně jader procesoru a paměti), úložiště a sítě.

  • Neexistovaly žádné funkce nativní pro Azure, které by rozlišovaly mezi typy nákladů, například mezi náklady na jednotlivé aplikace a sdílenými náklady. MCM oznámil náklady na prostředky, ale nebyl žádný přehled o tom, kolik nákladů na prostředky bylo použito ke spouštění jednotlivých aplikací, kolik bylo vyhrazeno pro systémové procesy vyžadované clusterem nebo jaké byly náklady na nečinnost spojené s clusterem.

  • Nebyl žádný nativní mechanismus Azure pro analýzu nákladů napříč několika clustery ve stejném oboru předplatného.

V důsledku toho jste možná použili řešení třetích stran ke shromažďování a analýze spotřeby prostředků a nákladů podle úrovní podrobností specifických pro Kubernetes, jako je obor názvů nebo pod. Řešení třetích stran ale vyžadují úsilí o nasazení, vyladění a údržbu pro každý cluster AKS. V některých případech dokonce potřebujete platit za pokročilé funkce a zvýšit celkové náklady na vlastnictví clusteru.

Aby bylo možno tento problém vyřešit, služba AKS je integrovaná s MCM, která nabízí podrobné informace o nákladech omezené na konstrukty Kubernetes, jako je cluster a obor názvů, kromě kategorií Azure Compute, Network a Storage.

Doplněk analýzy nákladů AKS je založený na openCost, opensourcovém projektu sandboxu Cloud Native Computing Foundation pro shromažďování dat o využití. Analýza nákladů se shoduje s daty faktury Za Azure. Po zpracování dat se zobrazují přímo v prostředí portálu MCM Cost Analysis Portal.

Předpoklady a omezení

  • Váš cluster musí být buď Standard nebo Premium úroveň, nikoli Free úroveň.

  • Pokud chcete zobrazit informace o analýze nákladů, musíte mít u předplatného hostujícího cluster jednu z následujících rolí: Vlastník, Přispěvatel, Čtenář, Přispěvatel Cost Management nebo Čtenář služby Cost Management.

  • Jakmile povolíte analýzu nákladů, nemůžete cluster downgradovat na Free úroveň, aniž byste nejprve zakázali analýzu nákladů.

  • Cluster musí být nasazen s nakonfigurovaným ID úloh Microsoft Entra.

  • Pokud používáte Azure CLI, musíte mít nainstalovanou verzi 2.44.0 nebo novější verzi a nainstalovanou aks-preview verzi 0.5.155 rozšíření Azure CLI nebo novější.

  • Zobrazení nákladů Kubernetes jsou dostupná jenom pro následující typy nabídek Microsoft Azure. Další informace o typech nabídek najdete v tématu Podporované nabídky Microsoft Azure.

    • Smlouva Enterprise
    • Smlouva se zákazníkem Microsoftu
  • Virtuální uzly se v tuto chvíli nepodporují.

Instalace nebo aktualizace aks-preview rozšíření Azure CLI

aks-preview Nainstalujte rozšíření Azure CLI pomocí az extension add příkazu.

az extension add --name aks-preview

Pokud potřebujete aktualizovat verzi rozšíření, můžete to provést pomocí az extension update příkazu.

az extension update --name aks-preview

Povolení analýzy nákladů v clusteru AKS

Analýzu nákladů můžete povolit příznakem --enable-cost-analysis během jedné z následujících operací:

  • Vytvořte Standard cluster AKS nebo Premium vrstvení.

  • Aktualizujte cluster AKS, který už je ve vrstvě nebo Premium ve Standard vrstvě.

  • Upgrade clusteru Free na Standard nebo Premium.

  • Upgrade clusteru Standard na Premium.

  • Downgrade clusteru Premium na Standard vrstvu.

Následující příklad vytvoří nový cluster AKS na Standard úrovni s povolenou analýzou nákladů:

az aks create --resource-group <resource-group> --name <cluster-name> --location <location> --enable-managed-identity --generate-ssh-keys --tier standard --enable-cost-analysis

Následující příklad aktualizuje existující cluster AKS na Standard úrovni, aby se povolila analýza nákladů:

az aks update --resource-group <resource-group> --name <cluster-name> --enable-cost-analysis

Upozorňující

Využití paměti analýzy nákladů AKS závisí na počtu nasazených kontejnerů. Spotřeba paměti může být přibližně přibližně přibližně 200 MB + 0,5 MB na kontejner. Aktuální limit paměti je nastavený na 4 GB, což bude podporovat přibližně 7000 kontejnerů na cluster, ale může být více nebo méně v závislosti na různých faktorech. Tyto odhady se můžou změnit.

Zakázání analýzy nákladů

Analýzu nákladů můžete kdykoli zakázat pomocí az aks updatenástroje .

az aks update --name myAKSCluster --resource-group myResourceGroup --disable-cost-analysis

Poznámka:

Pokud máte v úmyslu downgradovat cluster z Standard úrovní nebo Premium vrstev na Free úroveň, zatímco je povolená analýza nákladů, musíte nejprve explicitně zakázat analýzu nákladů, jak je znázorněno tady.

Zobrazení dat o nákladech

Data alokace nákladů můžete zobrazit na webu Azure Portal. Další informace o procházení zobrazení uživatelského rozhraní analýzy nákladů najdete v dokumentaci ke službě Cost Management.

Definice nákladů

V zobrazeních oborů názvů a prostředků Kubernetes se zobrazí následující poplatky:

  • Nečinné poplatky: Představuje náklady na dostupnou kapacitu prostředků, kterou nepoužívaly žádné úlohy.
  • Poplatky za služby: Představuje poplatky spojené se službou, jako je smlouva SLA pro dobu provozu, Microsoft Defender for Containers atd.
  • Systémové poplatky: Představuje náklady na kapacitu vyhrazenou službou AKS na každém uzlu pro spouštění systémových procesů vyžadovaných clusterem, včetně kubeletu a modulu runtime kontejneru. Další informace.
  • Nepřidělené poplatky: Představuje náklady na prostředky, které se nedají přidělit oborům názvů.

Poznámka:

Dokončení dat může trvat až jeden den. Po 24 hodinách se všechny výkyvy nákladů za předchozí den stabilizují.

Řešení problému

Informace o řešení potíží s doplňkem analýzy nákladů AKS najdete v následujícím průvodci.

Další informace

Viditelnost je jedním prvkem správy nákladů. Další osvědčené postupy, jak získat kontrolu nad náklady kubernetes, najdete v tématu Optimalizace nákladů ve službě Azure Kubernetes Service (AKS ).