Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Z tego artykułu dowiesz się, jak włączyć analizę kosztów w usłudze Azure Kubernetes Service (AKS), aby wyświetlić szczegółowe dane dotyczące kosztów dla zasobów klastra.
Informacje o analizie kosztów
Klastry usługi AKS korzystają z zasobów platformy Azure, takich jak maszyny wirtualne, dyski wirtualne, moduły równoważenia obciążenia i publiczne adresy IP. Te zasoby mogą być używane przez wiele aplikacji. Wzorce zużycia zasobów często różnią się dla każdej aplikacji, więc ich wkład w łączny koszt zasobu klastra może się również różnić. Niektóre aplikacje mogą mieć ślady w wielu klastrach, co może stanowić wyzwanie podczas przypisywania kosztów i zarządzania kosztami.
Po włączeniu analizy kosztów w klastrze usługi AKS można wyświetlić szczegółowe alokacje kosztów w zakresie konstrukcji platformy Kubernetes, takich jak klastry i przestrzenie nazw, a także zasoby obliczeniowe platformy Azure, sieć i magazyn. Dodatek jest oparty na OpenCost, projekcie inkubacyjnym open source Fundacji Cloud Native Computing do zbierania danych o użyciu. Dane użycia są uzgadniane z danymi faktur Azure, aby zapewnić kompleksowy widok kosztów klastra AKS bezpośrednio w widokach Zarządzania Kosztami w portalu Azure.
Aby uzyskać więcej informacji na temat usługi Microsoft Cost Management, zobacz Rozpoczynanie analizowania kosztów na platformie Azure.
Po włączeniu dodatku analizy kosztów i umożliwieniu zbierania danych możesz użyć informacji w artykule Omówienie użycia i kosztów usługi AKS, aby ułatwić zrozumienie danych.
Wymagania wstępne
- Klaster musi używać warstwy
Standard
lub warstwyPremium
, a nie warstwyFree
. - Aby wyświetlić informacje dotyczące analizy kosztów, musisz mieć jedną z następujących ról w subskrypcji hostowania klastra:
Owner
, ,Contributor
Reader
,Cost Management Contributor
lubCost Management Reader
. - Tożsamość zarządzana skonfigurowana na Twoim klastrze.
- Jeśli korzystasz z interfejsu wiersza polecenia platformy Azure, potrzebujesz zainstalowanej wersji
2.61.0
lub nowszej. - Po włączeniu analizy kosztów nie można obniżyć poziomu klastra do warstwy "
Free
" bez wcześniejszego wyłączenia analizy kosztów. - Dostęp do interfejsu API platformy Azure, w tym interfejsu API usługi Azure Resource Manager (ARM). Aby uzyskać listę wymaganych w pełni kwalifikowanych nazw domen (FQDN), zobacz AKS Cost Analysis required FQDN.
Ograniczenia
- Widoki kosztów platformy Kubernetes są dostępne tylko dla typów ofert platformy Microsoft Azure Umowa Enterprise i Umowa z Klientem Microsoft. Aby uzyskać więcej informacji, zobacz Obsługiwane oferty platformy Microsoft Azure.
- Obecnie węzły wirtualne nie są obsługiwane.
Włącz analizę kosztów na klastrze AKS
Analizę kosztów można włączyć za pomocą flagi --enable-cost-analysis
podczas jednej z następujących operacji:
- Tworzenie klastra AKS na poziomie
Standard
lubPremium
. - Aktualizowanie istniejącego klastra AKS lub warstwy
Standard
alboPremium
. - Aktualizacja klastra
Free
doStandard
lubPremium
. - Aktualizacja klastra
Standard
do programuPremium
. - Obniżanie poziomu klastra
Premium
do poziomuStandard
.
Włącz analizę kosztów w nowym klastrze
W nowym klastrze włącz analizę kosztów przy użyciu polecenia az aks create
z flagą --enable-cost-analysis
. Poniższy przykład tworzy nowy klaster AKS w warstwie Standard
z włączoną analizą kosztów.
export RANDOM_SUFFIX=$(openssl rand -hex 3)
export RESOURCE_GROUP="AKSCostRG$RANDOM_SUFFIX"
export CLUSTER_NAME="AKSCostCluster$RANDOM_SUFFIX"
export LOCATION="WestUS2"
az aks create --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --location $LOCATION --enable-managed-identity --generate-ssh-keys --tier standard --enable-cost-analysis
Wyniki:
{
"id": "/subscriptions/xxxxx/resourceGroups/AKSCostRGxxxx",
"location": "WestUS2",
"name": "AKSCostClusterxxxx",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": "Microsoft.ContainerService/managedClusters"
}
Włączanie analizy kosztów w istniejącym klastrze
Włącz analizę kosztów w istniejącym klastrze używając polecenia az aks update
z flagą --enable-cost-analysis
. Poniższy przykład aktualizuje istniejący klaster AKS w warstwie Standard
, aby umożliwić analizę kosztów.
az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --enable-cost-analysis
Wyniki:
{
"id": "/subscriptions/xxxxx/resourceGroups/AKSCostRGxxxx",
"name": "AKSCostClusterxxxx",
"properties": {
"provisioningState": "Succeeded"
}
}
Uwaga
Agent jest wdrażany w klastrze po włączeniu dodatku. Agent zużywa niewielką ilość zasobów procesora CPU i pamięci.
Ostrzeżenie
Użycie pamięci przez dodatek Analizy kosztów usługi AKS jest zależne od liczby wdrożonych kontenerów. Przybliżone zużycie pamięci można uzyskać przy użyciu 200 MB + 0,5 MB na kontener. Bieżący limit pamięci jest ustawiony na 4 GB, który obsługuje około 7000 kontenerów na klaster. Te szacunki mogą ulec zmianie.
Wyłącz analizę kosztów w klastrze AKS
Wyłącz analizę kosztów przy użyciu az aks update
polecenia z flagą --disable-cost-analysis
.
az aks update --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --disable-cost-analysis
Wyniki:
{
"id": "/subscriptions/xxxxx/resourceGroups/AKSCostRGxxxx",
"name": "AKSCostClusterxxxx",
"properties": {
"provisioningState": "Succeeded"
}
}
Uwaga
Jeśli chcesz obniżyć poziom klastra z Standard
warstwy lub Premium
do Free
warstwy podczas włączania analizy kosztów, musisz najpierw wyłączyć analizę kosztów.
Wyświetlanie danych kosztów
Dane alokacji kosztów można wyświetlić w witrynie Azure Portal. Aby uzyskać więcej informacji, zobacz Wyświetlanie kosztów usługi AKS w usłudze Microsoft Cost Management.
Definicje kosztów
W widokach przestrzeni nazw i zasobów platformy Kubernetes mogą pojawić się następujące opłaty:
- Opłaty za bezczynność reprezentują koszt dostępnej pojemności zasobów, która nie jest używana przez żadne obciążenia.
- Opłaty za usługi reprezentują opłaty skojarzone z usługą, takie jak umowa SLA dotycząca czasu pracy, usługa Microsoft Defender dla kontenerów itp.
- Opłaty systemowe reprezentują koszt pojemności zarezerwowanej przez AKS na każdym węźle do uruchomienia procesów systemowych wymaganych przez klaster, w tym kubelet i środowisko uruchomieniowe kontenera. Dowiedz się więcej.
- Nieprzydzielone opłaty reprezentują koszt zasobów, których nie można przydzielić do przestrzeni nazw.
Uwaga
Sfinalizowanie danych może potrwać do jednego dnia . Po 24 godzinach wszelkie wahania kosztów w ciągu poprzedniego dnia zostaną ustabilizowane.
Rozwiązywanie problemów
Jeśli występują problemy, takie jak cost-agent
, lub zablokowanie zasobnika w stanie OOMKilled
, sprawdź Pending
.
Następne kroki
Aby uzyskać więcej informacji na temat kosztów w usłudze AKS, zobacz Omówienie użycia i kosztów usługi Azure Kubernetes Service (AKS).
Azure Kubernetes Service