Kostenanalyse van Azure Kubernetes Service

Een AKS-cluster (Azure Kubernetes Service) is afhankelijk van Azure-resources zoals virtuele machines, virtuele schijven, load balancers en openbare IP-adressen. Meerdere toepassingen kunnen deze resources gebruiken, die mogelijk worden onderhouden door verschillende teams binnen uw organisatie. Resourceverbruikspatronen voor deze toepassingen zijn vaak variabel, dus hun bijdrage aan de totale kosten voor clusterresources kan ook variëren. Sommige toepassingen kunnen ook footprints hebben in meerdere clusters, wat een uitdaging kan vormen bij het uitvoeren van kostentoewijzing en kostenbeheer.

Voorheen heeft Microsoft Cost Management (MCM) het verbruik van clusterresources geaggregeerd onder de clusterresourcegroep. U kunt MCM gebruiken om kosten te analyseren, maar er waren verschillende uitdagingen:

  • Er is geen systeemeigen Mogelijkheid van Azure om het gebruik van clusterresources op een niveau gedetailleerder weer te geven dan een cluster. Er is geen uitsplitsing uitgevoerd in afzonderlijke categorieën, zoals rekenkracht (inclusief CPU-kernen en geheugen), opslag en netwerken.

  • Er is geen systeemeigen Functionaliteit van Azure om onderscheid te maken tussen de typen kosten, bijvoorbeeld tussen afzonderlijke toepassingskosten en gedeelde kosten. MCM heeft de kosten van resources gerapporteerd, maar er is geen inzicht in de hoeveelheid resourcekosten die zijn gebruikt voor het uitvoeren van afzonderlijke toepassingen, hoeveel er is gereserveerd voor systeemprocessen die door het cluster zijn vereist of wat de niet-actieve kosten zijn die aan het cluster zijn gekoppeld.

  • Er is geen systeemeigen Azure-mechanisme voor het analyseren van kosten voor meerdere clusters in hetzelfde abonnementsbereik.

Als gevolg hiervan hebt u mogelijk oplossingen van derden gebruikt om resourceverbruik en -kosten te verzamelen en te analyseren op Kubernetes-specifieke niveaus van granulariteit, zoals op naamruimte of pod. Oplossingen van derden vereisen echter moeite om elk AKS-cluster te implementeren, af te stemmen en te onderhouden. In sommige gevallen moet u zelfs betalen voor geavanceerde functies, waardoor de totale eigendomskosten van het cluster worden verhoogd.

Om deze uitdaging aan te pakken, is AKS geïntegreerd met MCM om gedetailleerde kostenanalysebereik te bieden voor Kubernetes-constructies, zoals cluster en naamruimte, naast De categorieën Azure Compute, Netwerk en Opslag.

De AKS-invoegtoepassing voor kostenanalyse is gebaseerd op OpenCost, een opensource Cloud Native Computing Foundation Sandbox-project voor het verzamelen van gebruiksgegevens. De kostenanalyse wordt afgestemd op uw Azure-factuurgegevens. Post-verwerkte gegevens zijn rechtstreeks zichtbaar in de MCM Cost Analysis-portal.

Vereisten en beperkingen

  • Uw cluster moet een Standard van beide of Premium lagen zijn, niet de Free laag.

  • Als u gegevens over kostenanalyse wilt weergeven, moet u een van de volgende rollen hebben voor het abonnement dat als host fungeert voor het cluster: Eigenaar, Inzender, Lezer, Kostenbeheerbijdrager of Lezer voor Kostenbeheer.

  • Zodra u kostenanalyse hebt ingeschakeld, kunt u uw cluster niet downgraden naar de Free laag zonder eerst kostenanalyse uit te schakelen.

  • Uw cluster moet worden geïmplementeerd met een Microsoft Entra Workload-ID geconfigureerd.

  • Als u de Azure CLI gebruikt, moet u versie 2.44.0 of hoger hebben geïnstalleerd en moet de Versie van de aks-preview Azure CLI-extensie 0.5.155 of hoger zijn geïnstalleerd.

  • Kubernetes-kostenweergaven zijn alleen beschikbaar voor de volgende typen Microsoft Azure-aanbiedingen. Zie Ondersteunde Microsoft Azure-aanbiedingen voor meer informatie over aanbiedingstypen.

    • Enterprise Agreement
    • Microsoft-klantovereenkomst
  • Virtuele knooppunten worden momenteel niet ondersteund.

De aks-preview Azure CLI-extensie installeren of bijwerken

Installeer de aks-preview Azure CLI-extensie met behulp van de az extension add opdracht.

az extension add --name aks-preview

Als u de extensieversie wilt bijwerken, kunt u dit doen met behulp van de az extension update opdracht.

az extension update --name aks-preview

Kostenanalyse inschakelen op uw AKS-cluster

U kunt de kostenanalyse met de --enable-cost-analysis vlag inschakelen tijdens een van de volgende bewerkingen:

  • Maak een Standard AKS-cluster of Premium laag.

  • Werk een AKS-cluster bij dat zich al in of Premium op Standard een laag bevindt.

  • Een cluster upgraden Free naar Standard of Premium.

  • Standard Een cluster upgraden naar Premium.

  • Premium Een cluster downgraden naar Standard laag.

In het volgende voorbeeld wordt een nieuw AKS-cluster gemaakt in de Standard laag waarvoor kostenanalyse is ingeschakeld:

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

In het volgende voorbeeld wordt een bestaand AKS-cluster in de Standard laag bijgewerkt om kostenanalyse in te schakelen:

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

Waarschuwing

Het geheugengebruik van de AKS-kostenanalyse is afhankelijk van het aantal geïmplementeerde containers. Geheugenverbruik kan ongeveer worden geschat door 200 MB + 0,5 MB per container. De huidige geheugenlimiet is ingesteld op 4 GB die ongeveer 7000 containers per cluster ondersteunt, maar kan meer of minder zijn, afhankelijk van verschillende factoren. Deze schattingen kunnen worden gewijzigd.

Kostenanalyse uitschakelen

U kunt kostenanalyse op elk gewenst moment uitschakelen met behulp van az aks update.

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

Notitie

Als u van plan bent om uw cluster te downgraden van de Standard of Premium lagen naar de Free laag terwijl kostenanalyse is ingeschakeld, moet u eerst de kostenanalyse expliciet uitschakelen, zoals hier wordt weergegeven.

De kostengegevens weergeven

U kunt kostentoewijzingsgegevens bekijken in Azure Portal. Zie de documentatie van Cost Management voor meer informatie over het navigeren in de gebruikersinterfaceweergave voor kostenanalyses.

Kostendefinities

In de Kubernetes-naamruimten en -assetsweergaven ziet u de volgende kosten:

  • Niet-actieve kosten: vertegenwoordigt de kosten van de beschikbare resourcecapaciteit die niet door workloads is gebruikt.
  • Servicekosten: vertegenwoordigt de kosten die zijn gekoppeld aan de service, zoals SLA voor uptime, Microsoft Defender for Containers, enzovoort.
  • Systeemkosten: vertegenwoordigt de kosten van capaciteit die door AKS op elk knooppunt zijn gereserveerd om systeemprocessen uit te voeren die vereist zijn voor het cluster, inclusief de kubelet- en containerruntime. Meer informatie.
  • Niet-toegewezen kosten: vertegenwoordigt de kosten van resources die niet kunnen worden toegewezen aan naamruimten.

Notitie

Het kan tot één dag duren voordat gegevens zijn voltooid. Na 24 uur zijn eventuele schommelingen in de kosten voor de vorige dag gestabiliseerd.

Probleemoplossing

Zie de volgende handleiding voor het oplossen van problemen met de invoegtoepassing AKS-kostenanalyse.

Meer informatie

Zichtbaarheid is één element van kostenbeheer. Raadpleeg Kosten optimaliseren in Azure Kubernetes Service (AKS) voor andere aanbevolen procedures voor het verkrijgen van controle over uw kubernetes-kosten.