Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku se naučíte, jak povolit analýzu nákladů na službě Azure Kubernetes Service (AKS) pro zobrazení podrobných údajů o nákladech na prostředky clusteru.
Přehled analýzy nákladů AKS
AKS klastrů spoléhají na prostředky Azure, jako jsou virtuální počítače (VMs), virtuální disky, load balancery a veřejné IP adresy. Více aplikací může tyto zdroje využívat. Vzorce spotřeby prostředků se často pro každou aplikaci liší, takže se jejich příspěvek k celkovému nákladům na prostředky clusteru může lišit. Některé aplikace mohou mít stopy napříč několika klustry, což může představovat výzvu při přiřazování nákladů a řízení nákladů.
Když povolíte analýzu nákladů na vašem AKS clusteru, můžete zobrazit podrobnou alokaci nákladů souvisejících s Kubernetes konstrukty, jako jsou clustery a namespaces, a také zdroji Azure výpočetní techniky, sítí a úložiště. Doplněk je postaven na OpenCost, což je projekt z inkubátoru Cloud Native Computing Foundation pro sběr dat o užívání. Data o využití jsou odsouhlasována s daty faktury Azure a poskytují komplexní přehled o nákladech na cluster AKS přímo na portálu Azure.
Pro více informací o Microsoft Cost Management si přečtěte Začněte analyzovat náklady v Azure.
Po povolení doplňku pro analýzu nákladů a po vyčkání až 24 hodin, než se data shromáždí, můžete použít informace v článku Principy využití a nákladů AKS, které vám pomohou lépe porozumět datům.
Požadavky
- Váš cluster musí používat úroveň
StandardneboPremium, nikoli úroveňFree. - Pokud chcete zobrazit informace o analýze nákladů, musíte mít jednu z následujících rolí v předplatném, které je hostitelem clusteru:
Owner,Contributor,Reader,Cost Management ContributorneboCost Management Reader. - Spravovaná identita nakonfigurovaná v clusteru
- Ovladač rozhraní csI (Disk Container Storage Interface) Azure povolený ve vašem clusteru.
- Pokud používáte Azure CLI, potřebujete verzi
2.61.0nebo novější. - Jakmile povolíte analýzu nákladů, nemůžete downgradovat cluster na
Freeúroveň, aniž byste nejprve zakázali analýzu nákladů. - Přístup k rozhraní Azure API, včetně rozhraní API Azure Resource Manageru (ARM). Pro seznam plně kvalifikovaných doménových jmen (FQDN) potřebných viz AKS Cost Analysis required FQDN.
Omezení
- Zobrazení nákladů Kubernetes jsou k dispozici pouze pro typy nabídek Microsoft Azure: Enterprise Agreement a Smlouva se zákazníkem Microsoftu. Další informace najdete v tématu Podporované nabídky Microsoft Azure.
- V současné době nejsou virtuální uzly podporovány.
- Doplněk není k dispozici v oblastech
usnateast,usnatwest,usseceastneboussecwest. Další informace najdete v tématu O problémech s doplňkem analýzy nákladů AKS a řešení potíží. - Doplněk Analýza nákladů AKS podporuje přibližně 7 000 kontejnerů na cluster, na základě aktuálního limitu paměti 4 GB, což se může změnit.
Umožněte analýzu nákladů ve vašem AKS clusteru
Během jedné z následujících operací můžete povolit analýzu nákladů s příznakem --enable-cost-analysis.
- Vytváření cloudu AKS tier
StandardneboPremium. - Aktualizace stávajícího
StandardneboPremiumvrstvy AKS clusteru. - Modernizace clusteru
FreenaStandardneboPremium. - Modernizace clusteru
StandardnaPremium. - Downgradování clusteru
PremiumnaStandardvrstvu
Povolte analýzu nákladů na novém clusteru
Povolte analýzu nákladů na novém clusteru pomocí příkazu az aks create s příznakem --enable-cost-analysis. Následující příklad vytvoří nový AKS cluster v úrovni Standard s umožněnou analýzou nákladů:
export RANDOM_SUFFIX=$(openssl rand -hex 3)
export RESOURCE_GROUP="AKSCostRG$RANDOM_SUFFIX"
export CLUSTER_NAME="AKSCostCluster$RANDOM_SUFFIX"
export LOCATION="WestUS2"
az group create --resource-group $RESOURCE_GROUP --location $LOCATION
az aks create --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --location $LOCATION --enable-managed-identity --generate-ssh-keys --tier standard --enable-cost-analysis
Výsledky:
{
"id": "/subscriptions/xxxxx/resourceGroups/AKSCostRGxxxx/providers/Microsoft.ContainerService/managedClusters/AKSCostClusterxxxx",
"location": "WestUS2",
"name": "AKSCostClusterxxxx",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": "Microsoft.ContainerService/managedClusters"
}
Povolte analýzu nákladů na existujícím clusteru
Povolte analýzu nákladů na existujícím clusteru pomocí příkazu az aks update a příznaku --enable-cost-analysis. Následující příklad aktualizuje existující cluster AKS v úrovni Standard, aby povolil analýzu nákladů. Nahraďte $RESOURCE_GROUP názvem vaší skupiny prostředků a $CLUSTER_NAME názvem vašeho clusteru nebo je nastavte jako proměnné prostředí.
az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --enable-cost-analysis
Výsledky:
{
"id": "/subscriptions/xxxxx/resourceGroups/AKSCostRGxxxx/providers/Microsoft.ContainerService/managedClusters/AKSCostClusterxxxx",
"name": "AKSCostClusterxxxx",
"properties": {
"provisioningState": "Succeeded"
}
}
Poznámka
Agent se nasadí do clusteru, když povolíte doplněk. Agent spotřebovává malé množství prostředků CPU a paměti.
Výstraha
Analýza nákladů AKS, rozšíření pro spotřebu paměti, závisí na počtu nasazených kontejnerů. Přibližnou spotřebu paměti můžete odhadnout pomocí 200 MB + 0,5 MB na kontejner. Aktuální limit paměti je nastavený na 4 GB, který podporuje přibližně 7 000 kontejnerů na cluster. Tyto odhady se můžou změnit.
Poznámka
Povolením analýzy nákladů se také vytvoří spravovaná identita nazvaná cost-analysis-identity s přístupem pro čtení ke skupině prostředků uzlu clusteru a přiřadí ji fondům uzlů v clusteru.
Používá se ke shromažďování identifikátorů ARM prostředků clusteru pro vytváření zpráv.
Vzhledem k tomu, že fond uzlů už má spravovanou identitu, musí všechny příkazy na uzlu, který používá spravované identity, určit identitu, která se má použít , a nespoléhat se na spravovanou identitu fondu uzlů.
Například: az login --identity --resource-id <resource ID of identity>.
Zakázat analýzu nákladů na vašem AKS clusteru
Pomocí příkazu s příznakem az aks update--disable-cost-analysis zakažte analýzu nákladů.
az aks update --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --disable-cost-analysis
Výsledky:
{
"id": "/subscriptions/xxxxx/resourceGroups/AKSCostRGxxxx/providers/Microsoft.ContainerService/managedClusters/AKSCostClusterxxxx",
"name": "AKSCostClusterxxxx",
"properties": {
"provisioningState": "Succeeded"
}
}
Poznámka
Chcete-li snížit úroveň vašeho clusteru z úrovně Standard nebo Premium na úroveň Free při zapnuté analýze nákladů, musíte nejprve analýzu nákladů vypnout.
Zobrazit údaje o nákladech
Můžete si prohlédnout údaje o rozdělení nákladů v portálu Azure.
Na portálu Azure přejděte do Azure předplatného, které hostuje váš cluster AKS. V části Cost Management vyberte Analýzu nákladů. V seznamu Zobrazení vyberte položku v rozevíracím seznamu a pak vyberte clustery Kubernetes.
Pro více informací si prohlédněte Zobrazení nákladů AKS v Microsoft Cost Management.
Definice nákladů
V zobrazeních jmenných prostorů a prostředků Kubernetes můžete vidět některé z následujících poplatků:
| Typ poplatku | Description |
|---|---|
| Nečinné poplatky | Náklady na dostupnou kapacitu prostředků, kterou nevyužívají žádné úlohy. |
| Poplatky za služby | Poplatky spojené se službou, jako je smlouva SLA o provozu, Microsoft Defender pro kontejnery atd. |
| Poplatky za systém | Náklady na kapacitu, kterou AKS rezervuje na každém uzlu pro spouštění systémových procesů, které cluster vyžaduje, včetně kubeletu a kontejnerového modulu runtime. Další informace. |
| Nepřiřazené poplatky | Náklady na prostředky, které nebylo možné přiřadit oborům názvů. |
Poznámka
Systém obvykle dokončuje a zpřístupňuje data o nákladech a využití do 8 až 24 hodin.
Řešení problémů
Pokud se setkáváte s problémy, jako je například cost-agent pod se OOMKilled nebo uvíznutí ve stavu Pending, podívejte se na Řešení problémů s doplňkem analýzy nákladů AKS.
Další kroky
Pro více informací o nákladech v AKS si přečtěte Porozumění používání a nákladům služby Azure Kubernetes Service (AKS).