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
neboPremium
úroveň, nikoliFree
ú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.
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
Přístup k rozhraní Azure API, včetně rozhraní API Azure Resource Manageru (ARM). Seznam požadovaných plně kvalifikovaných názvů domén (FQDN) najdete v tématu Analýza nákladů AKS – požadovaný plně kvalifikovaný název domény.
Virtuální uzly se v tuto chvíli nepodporují.
Automatická funkce AKS se v tuto chvíli nepodporuje.
Pokud používáte Azure CLI, musíte mít nainstalovanou verzi
2.61.0
nebo novější.
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 neboPremium
vrstvení.Aktualizujte cluster AKS, který už je ve vrstvě nebo
Premium
veStandard
vrstvě.Upgrade clusteru
Free
naStandard
neboPremium
.Upgrade clusteru
Standard
naPremium
.Downgrade clusteru
Premium
naStandard
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í
Doplněk Analýza 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ě o 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. Tyto odhady můžou být více nebo méně v závislosti na různých faktorech a můžou se měnit.
Pokud dochází k problémům, jako jsou problémy, jako je problém s zablokováním nebo Pending
zablokováním OOMKilled
podu doplňku pro analýzu nákladů AKS, projděte si průvodce odstraňováním potíží s analýzou nákladů.
Zakázání analýzy nákladů
Analýzu nákladů můžete kdykoli zakázat pomocí az aks update
ná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ů.
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 ).
Azure Kubernetes Service