Udostępnij za pośrednictwem


Analiza kosztów usługi Azure Kubernetes Service

Klaster usługi Azure Kubernetes Service (AKS) jest zależny od zasobów platformy Azure, takich jak maszyny wirtualne, dyski wirtualne, moduły równoważenia obciążenia i publiczne adresy IP. Z tych zasobów może korzystać wiele aplikacji, które mogą być obsługiwane przez różne zespoły w organizacji. Wzorce zużycia zasobów dla tych aplikacji są często zmienne, więc ich udział w łącznym koszcie zasobów klastra może się również różnić. Niektóre aplikacje mogą również mieć ślady w wielu klastrach, co może stanowić wyzwanie podczas przypisywania kosztów i zarządzania kosztami.

Wcześniej zagregowane użycie zasobów klastra w usłudze Microsoft Cost Management (MCM) w ramach grupy zasobów klastra. Możesz użyć narzędzia MCM do analizowania kosztów, ale wystąpiło kilka wyzwań:

  • Nie było możliwości natywnej dla platformy Azure do wyświetlania użycia zasobów klastra na poziomie bardziej szczegółowym niż klaster. Nie było podziału na odrębne kategorie, takie jak obliczenia (w tym rdzenie procesora CPU i pamięć), magazyn i sieć.

  • Nie było natywnej funkcji platformy Azure do rozróżnienia między typami kosztów, na przykład między kosztami poszczególnych aplikacji a kosztami współdzieloną. McM zgłosił koszt zasobów, ale nie było wglądu w to, ile kosztów zasobów zostało użyte do uruchamiania poszczególnych aplikacji, ile zostało zarezerwowane dla procesów systemowych wymaganych przez klaster lub jakie były koszty bezczynności związane z klastrem.

  • Nie było żadnego mechanizmu natywnego dla platformy Azure do analizowania kosztów w wielu klastrach w tym samym zakresie subskrypcji.

W związku z tym możesz użyć rozwiązań innych firm do zbierania i analizowania zużycia zasobów i kosztów według poziomów szczegółowości specyficznych dla platformy Kubernetes, takich jak przestrzeń nazw lub zasobnik. Rozwiązania innych firm wymagają jednak nakładu pracy, aby wdrożyć, dostosować i obsługiwać każdy klaster usługi AKS. W niektórych przypadkach trzeba nawet płacić za funkcje zaawansowane, zwiększając całkowity koszt posiadania klastra.

Aby rozwiązać to wyzwanie, usługa AKS zintegrowała się z rozwiązaniem MCM, aby oferować szczegółowe przechodzenie do szczegółów kosztów w zakresie konstrukcji Kubernetes, takich jak klaster i przestrzeń nazw, oprócz kategorii Azure Compute, Network i Storage.

Dodatek analizy kosztów usługi AKS jest oparty na technologii OpenCost, czyli projekcie piaskownicy Cloud Native Computing Foundation typu open source na potrzeby zbierania danych użycia. Analiza kosztów jest uzgadniana z danymi faktur za platformę Azure. Dane przetwarzane po przetworzeniu są widoczne bezpośrednio w środowisku portalu ANALIZY kosztów mcM.

Wymagania wstępne i ograniczenia

  • Klaster musi być albo Standard Premium warstwą, a nie warstwą Free .

  • Aby wyświetlić informacje dotyczące analizy kosztów, musisz mieć jedną z następujących ról w subskrypcji hostowania klastra: Właściciel, Współautor, Czytelnik, Współautor zarządzania kosztami lub Czytelnik zarządzania kosztami.

  • Po włączeniu analizy kosztów nie można obniżyć poziomu klastra do warstwy bez wcześniejszego Free wyłączania analizy kosztów.

  • Klaster należy wdrożyć przy użyciu skonfigurowanego Tożsamość obciążeń Microsoft Entra.

  • Widoki kosztów platformy Kubernetes są dostępne tylko dla następujących typów ofert platformy Microsoft Azure. Aby uzyskać więcej informacji na temat typów ofert, zobacz Obsługiwane oferty platformy Microsoft Azure.

    • Enterprise Agreement
    • Umowa klienta firmy Microsoft
  • 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 (Wymagana nazwa FQDN usługi AKS Analiza kosztów).

  • Węzły wirtualne nie są obecnie obsługiwane.

  • Usługa AKS Automatic nie jest obecnie obsługiwana.

  • Jeśli używasz interfejsu wiersza polecenia platformy Azure, musisz mieć zainstalowaną wersję 2.61.0 lub nowszą.

Włączanie analizy kosztów w klastrze usługi AKS

Analizę kosztów można włączyć za pomocą flagi --enable-cost-analysis podczas jednej z następujących operacji:

  • Utwórz klaster usługi AKS w warstwie Standard lub Premium .

  • Zaktualizuj klaster usługi AKS, który jest już w Standard warstwie lub Premium .

  • Uaktualnij Free klaster do programu Standard lub Premium.

  • Uaktualnij Standard klaster do Premiumprogramu .

  • Obniżanie poziomu klastra Premium do Standard warstwy.

Poniższy przykład tworzy nowy klaster usługi AKS w warstwie Standard z włączoną analizą kosztów:

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

Poniższy przykład aktualizuje istniejący klaster usługi AKS w warstwie Standard , aby umożliwić analizę kosztów:

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

Ostrzeżenie

Dodatek Analizy kosztów usługi AKS jest zależny od liczby wdrożonych kontenerów. Zużycie pamięci może być w przybliżeniu przybliżone o 200 MB + 0,5 MB na kontener. Bieżący limit pamięci jest ustawiony na 4 GB, co będzie obsługiwać około 7000 kontenerów na klaster. Te szacunki mogą być bardziej lub mniej zależne od różnych czynników i mogą ulec zmianie.

Jeśli występują problemy, takie jak pobieranie lub blokowanie zasobnika OOMKilled dodatku, zapoznaj się z przewodnikiem rozwiązywania problemów z dodawaniem Pending do analizy kosztów usługi AKS.

Wyłączanie analizy kosztów

Analizę kosztów można wyłączyć w dowolnym momencie przy użyciu polecenia az aks update.

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

Uwaga

Jeśli zamierzasz obniżyć poziom klastra z Standard warstwy lub Premium do Free warstwy podczas włączania analizy kosztów, musisz najpierw jawnie wyłączyć analizę kosztów.

Wyświetlanie danych kosztów

Dane alokacji kosztów można wyświetlić w witrynie Azure Portal. Aby dowiedzieć się więcej na temat sposobu nawigowania po widoku interfejsu użytkownika analizy kosztów, zobacz dokumentację usługi Cost Management.

Definicje kosztów

W widokach przestrzeni nazw i zasobów platformy Kubernetes zobaczysz następujące opłaty:

  • Opłaty za bezczynność: reprezentuje koszt dostępnej pojemności zasobów, która nie była używana przez żadne obciążenia.
  • Opłaty za usługę: reprezentuje opłaty skojarzone z usługą, na przykład umowa SLA dotycząca czasu pracy, usługa Microsoft Defender dla kontenerów itp.
  • Opłaty za system: reprezentuje koszt pojemności zarezerwowanej przez usługę AKS w każdym węźle w celu uruchamiania procesów systemowych wymaganych przez klaster, w tym środowiska uruchomieniowego kubelet i kontenera. Dowiedz się więcej.
  • Opłaty nieprzydzielone: reprezentuje 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

Zapoznaj się z poniższym przewodnikiem, aby rozwiązać problemy z dodatkiem do analizy kosztów usługi AKS.

Dowiedz się więcej

Widoczność jest jednym z elementów zarządzania kosztami. Zapoznaj się z artykułem Optymalizowanie kosztów w usłudze Azure Kubernetes Service (AKS), aby zapoznać się z innymi najlepszymi rozwiązaniami dotyczącymi sposobu kontrolowania kosztów platformy Kubernetes.