Partager via


Analyse des coûts d’Azure Kubernetes Service (AKS)

Dans cet article, vous allez apprendre à activer l’analyse des coûts sur Azure Kubernetes Service (AKS) pour afficher des données de coût détaillées pour les ressources de cluster.

À propos de l’analyse des coûts

Les clusters AKS s’appuient sur des ressources Azure, telles que des machines virtuelles, des disques virtuels, des équilibreurs de charge et des adresses IP publiques. Plusieurs applications peuvent utiliser ces ressources. Les modèles de consommation de ressources diffèrent souvent pour chaque application, de sorte que leur contribution au coût total des ressources de cluster peut également varier. Certaines applications peuvent avoir des empreintes sur plusieurs clusters, ce qui peut poser un problème lors de l’attribution des coûts et de la gestion des coûts.

Lorsque vous activez l’analyse des coûts sur votre cluster AKS, vous pouvez afficher les allocations de coûts détaillées délimitées aux constructions Kubernetes, telles que les clusters et les espaces de noms, et les ressources de calcul, de réseau et de stockage Azure. Le module complémentaire est basé sur OpenCost, un projet open-source de la Cloud Native Computing Foundation Incubating pour la collecte de données d'utilisation. Les données d’utilisation sont rapprochées de vos données de facture Azure pour fournir une vue complète des coûts de votre cluster AKS directement dans les vues Cost Management du portail Azure.

Pour plus d’informations sur Microsoft Cost Management, consultez Démarrer l’analyse des coûts dans Azure.

Après avoir activé le module complémentaire d’analyse des coûts et le temps nécessaire à la collecte des données, vous pouvez utiliser les informations de Comprendre l’utilisation et les coûts AKS pour vous aider à comprendre vos données.

Prérequis

  • Votre cluster doit utiliser le niveau Standard ou Premium, et non le niveau Free.
  • Pour afficher les informations d’analyse des coûts, vous devez disposer de l’un des rôles suivants sur l’abonnement hébergeant le cluster : Owner, Contributor, Reader, Cost Management Contributorou Cost Management Reader.
  • ID de charge de travail Microsoft Entra configuré sur votre cluster.
  • Si vous utilisez Azure CLI, vous avez besoin d’une version 2.61.0 ou une version ultérieure installée.
  • Une fois l’analyse des coûts activée, vous ne pouvez pas passer votre cluster au niveau antérieur Free sans désactiver au préalable l’analyse des coûts.
  • Accès à l’API Azure, y compris l’API Azure Resource Manager (ARM). Pour obtenir la liste des noms de domaine complets (FQDN) requis, consultez Nom de domaine complet AKS Cost Analysis requis.

Limites

  • Les vues de coût Kubernetes sont disponibles uniquement pour les types d’offres Contrat Entreprise et Contrat client Microsoft Microsoft Azure. Pour plus d’informations, consultez Offres Microsoft Azure prises en charge.
  • Actuellement, les nœuds virtuels ne sont pas pris en charge.

Activer l’analyse des coûts sur votre cluster AKS

Vous pouvez activer l’analyse des coûts avec l’indicateur --enable-cost-analysis pendant l’une des opérations suivantes :

  • Création d’un cluster AKS de niveau Standard ou Premium .
  • Mise à jour d’un cluster AKS de niveau Standard ou Premium existant.
  • Mise à niveau d’un cluster Free vers Standard ou Premium.
  • Mise à niveau d’un cluster Standard vers Premium.
  • Rétrogradation d’un cluster Premium au niveau Standard.

Activer l’analyse des coûts sur un nouveau cluster

Activez l’analyse des coûts sur un nouveau cluster à l’aide de la commande az aks create avec l’indicateur de --enable-cost-analysis. La commande suivante crée par exemple un cluster AKS dans le niveau Standard avec l’analyse des coûts activée :

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

Activer l’analyse des coûts sur un cluster existant

Activez l’analyse des coûts sur un cluster existant à l’aide de la commande az aks update avec l’indicateur de --enable-cost-analysis. L’exemple suivant met à jour un cluster AKS existant dans le niveau Standard afin d’activer l’analyse des coûts :

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

Remarque

Un agent est déployé sur le cluster lorsque vous activez le module complémentaire. L’agent consomme une petite quantité de ressources processeur et mémoire.

Avertissement

L’utilisation de la mémoire du module complémentaire d’analyse des coûts AKS dépend du nombre de conteneurs déployés. Vous pouvez approximativement estimer la consommation de mémoire à l’aide de 200 Mo + 0,5 Mo par conteneur. La limite de mémoire actuelle est définie sur 4 Go, qui prend en charge environ 7 000 conteneurs par cluster. Ces estimations sont susceptibles d’être modifiées.

Désactiver l’analyse des coûts sur votre cluster AKS

Désactivez l’analyse des coûts à l’aide de la commande az aks update avec l’indicateur de --disable-cost-analysis.

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

Remarque

Si vous souhaitez rétrograder votre cluster du niveau Standard ou Premium au niveau Free pendant que l’analyse des coûts est activée, vous devez d’abord désactiver l’analyse des coûts.

Afficher les données de coût

Vous pouvez afficher les alertes d’allocation des coûts dans le Portail Microsoft Azure. Pour plus d’informations, consultez Afficher les coûts AKS dans Microsoft Cost Management.

Définitions des coûts

Dans les vues des espaces de noms et des ressources Kubernetes, vous pouvez voir l’un des frais suivants :

  • Frais inactifs représentent le coût de la capacité de ressource disponible qui n’est pas utilisée par les charges de travail.
  • Frais de service représentent les frais associés au service, tels que le contrat SLA de temps d’activité, Microsoft Defender pour les conteneurs, etc.
  • Frais de système représentent le coût de la capacité réservée par AKS sur chaque nœud pour exécuter les processus système requis par le cluster, y compris le kubelet et le runtime de conteneur. Plus d’informations
  • Frais non alloués représentent le coût des ressources qui n’ont pas pu être allouées aux espaces de noms.

Remarque

La finalisation des données peut prendre jusqu’à un jour. Après 24 heures, toutes les fluctuations de coûts du jour précédent sont stabilisées.

Dépannage

Si vous rencontrez des problèmes, tels que le cost-agent pod OOMKilled ou bloqué dans un état Pending, consultez Résoudre les problèmes liés à l’analyse des coûts AKS.

Étapes suivantes

Pour plus d’informations sur les coûts dans AKS, consultez Comprendre l’utilisation et les coûts d’Azure Kubernetes Service (AKS).