Notatka
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.
Omówienie analizy kosztów usługi AKS
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 o użyciu są zestawiane z danymi z faktur platformy Azure, aby zapewnić kompleksowy widok kosztów klastra AKS bezpośrednio 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 odczekaniu do 24 godzin na zebranie danych możesz skorzystać z informacji zawartych w artykule Opis użycia i kosztów usługi AKS, aby lepiej zrozumieć swoje dane.
Wymagania wstępne
- Klaster musi używać warstwy
Standardlub 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, ,ContributorReader,Cost Management ContributorlubCost Management Reader. - Tożsamość zarządzana skonfigurowana na Twoim klastrze.
- Sterownik Azure Disk Container Storage Interface (CSI) włączony w klastrze.
- Jeśli korzystasz z interfejsu wiersza polecenia platformy Azure, potrzebujesz zainstalowanej wersji
2.61.0lub nowszej. - Po włączeniu analizy kosztów nie można obniżyć klastra do warstwy
Freebez uprzedniego 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.
- Dodatek nie jest dostępny w regionach
usnateast,usnatwest,usseceastlubussecwest. Aby uzyskać więcej informacji, zobacz Problemy i rozwiązywanie problemów dotyczących dodatku analizy kosztów dla usługi AKS. - Dodatek do analizy kosztów w AKS obsługuje około 7000 kontenerów na klaster, bazując na obecnym limicie pamięci wynoszącym 4 GB, który może zostać zmieniony.
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
StandardlubPremium. - Aktualizowanie istniejącego klastra AKS lub warstwy
StandardalboPremium. - Aktualizacja klastra
FreedoStandardlubPremium. - Aktualizacja klastra
Standarddo programuPremium. - Obniżanie poziomu klastra
Premiumdo 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 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
Wyniki:
{
"id": "/subscriptions/xxxxx/resourceGroups/AKSCostRGxxxx/providers/Microsoft.ContainerService/managedClusters/AKSCostClusterxxxx",
"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 usługi AKS w warstwie Standard, aby włączyć analizę kosztów. Zastąp $RESOURCE_GROUP i $CLUSTER_NAME nazwami grupy zasobów i klastra lub ustaw je jako zmienne środowiskowe.
az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --enable-cost-analysis
Wyniki:
{
"id": "/subscriptions/xxxxx/resourceGroups/AKSCostRGxxxx/providers/Microsoft.ContainerService/managedClusters/AKSCostClusterxxxx",
"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.
Uwaga
Włączenie analizy kosztów powoduje również utworzenie tożsamości zarządzanej o nazwie cost-analysis-identity z dostępem do odczytu do grupy zasobów węzła klastra i przypisanie jej do pul węzłów w klastrze.
Służy do zbierania identyfikatorów ARM zasobów klastra do raportowania.
Ponieważ pula węzłów ma już tożsamość zarządzaną, wszystkie polecenia w węźle używające tożsamości zarządzanych muszą określać tożsamość do użycia zamiast polegać na tożsamości zarządzanej puli węzłów.
Na przykład az login --identity --resource-id <resource ID of identity>.
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/providers/Microsoft.ContainerService/managedClusters/AKSCostClusterxxxx",
"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.
W portalu Azure przejdź do subskrypcji platformy Azure, w której znajduje się Twój klaster AKS. W obszarze Zarządzanie kosztami wybierz pozycję Analiza kosztów. Na liście Widok wybierz element listy rozwijanej, a następnie wybierz pozycję Klastry Kubernetes.
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:
| typ opłaty | Opis |
|---|---|
| Opłaty bezczynności | Koszt dostępnej pojemności zasobów, która nie jest wykorzystywana przez żadne obciążenia robocze. |
| Opłaty za usługi | Opłaty związane z usługą, takie jak umowa SLA dotycząca dostępności, Microsoft Defender for Containers itp. |
| Opłaty systemowe | Koszt zasobów zarezerwowanych przez usługę AKS na każdym węźle w celu uruchamiania procesów systemowych wymaganych przez klaster, w tym kubelet oraz środowiska uruchomieniowego kontenerów. Dowiedz się więcej. |
| Opłaty nieprzydzielone | Koszt zasobów, których nie można przydzielić do przestrzeni nazw. |
Uwaga
Zazwyczaj system finalizuje i udostępnia dane dotyczące kosztów i użycia w ciągu od 8 do 24 godzin.
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).