Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:How to use the cost insights feature of a registered cluster

Dernière mise à jour :Sep 21, 2026

Découvrez comment activer et utiliser la fonctionnalité cost insights pour les registered clusters. Cette fonctionnalité vous aide à analyser la répartition des coûts, à surveiller l'utilisation des ressources et à optimiser les dépenses de votre cluster.

Prérequis

Activation des insights sur les coûts

Compte unique

Configurez les autorisations RAM et activez cost insights pour un registered cluster au sein d'un seul compte Alibaba Cloud.

Étape 1 : Configuration des autorisations RAM

onectl

  1. Installez et configurez onectl sur votre machine locale. Pour plus d'informations, consultez la rubrique Gestion des registered clusters à l'aide d'onectl.

  2. Accordez les autorisations RAM au module complémentaire ack-cost-exporter :

    onectl ram-user grant --addon ack-cost-exporter

    Résultat attendu :

    Ram policy ack-one-registered-cluster-policy-ack-cost-exporter granted to ram user ack-one-user-ce313528c3 successfully.

Console

  1. Création d'un utilisateur RAM.

  2. Création d'une stratégie personnalisée. Le module complémentaire ack-cost-exporter nécessite les autorisations définies dans la stratégie suivante :

    Stratégie personnalisée

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "bssapi:QueryInstanceBill",
                    "bssapi:DescribeInstanceBill"
                ],
                "Resource": "*",
                "Effect": "Allow"
            },
            {
                "Action": [
                    "ecs:DescribeDisks",
                    "ecs:DescribeSpotPriceHistory",
                    "ecs:DescribeInstances",
                    "ecs:DescribePrice"
                ],
                "Resource": "*",
                "Effect": "Allow"
            },
            {
                "Action": "eci:DescribeContainerGroupPrice",
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }
  3. Attachement de la stratégie personnalisée à l'utilisateur RAM.

  4. Création d'une AccessKey pour l'utilisateur RAM.

    Avertissement

    Pour renforcer la sécurité, configurez une politique de contrôle d'accès réseau pour l'AccessKey afin de restreindre l'accès aux environnements réseau de confiance. Pour plus d'informations, consultez la rubrique Politiques de restriction d'accès réseau basées sur les AccessKeys.

  5. Utilisez la paire AccessKey pour créer un Secret nommé alibaba-addon-secret pour le module complémentaire ack-cost-exporter dans le registered cluster.

    kubectl -n kube-system create secret generic alibaba-addon-secret --from-literal='access-key-id=<your AccessKey ID>' --from-literal='access-key-secret=<your AccessKey Secret>'

Étape 2 : Installation d'ack-cost-exporter

onectl

Installez le module complémentaire ack-cost-exporter :

onectl addon install ack-cost-exporter

Résultat attendu :

Addon ack-cost-exporter, version **** installed.

Console

  1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, cliquez sur le nom du cluster cible, puis dans la barre de navigation de gauche, sélectionnez Applications > Helm.

    Si une version d'ack-cost-exporter existe déjà sur la page Helm, supprimez-la et réinstallez-la en suivant les étapes suivantes.

  3. Dans la barre de navigation de gauche de la page de gestion du cluster, sélectionnez Operations > Add-ons.

  4. Sur la page Add-ons, cliquez sur l'onglet Observability, recherchez le module complémentaire ack-cost-exporter, puis cliquez sur Install dans le coin inférieur droit. Ensuite, cliquez sur OK.

Multi-comptes

Pour gérer un cluster ACK du compte B à partir d'un registered cluster du compte A, vous devez accorder des autorisations dans le compte B afin que la fonctionnalité cost insights puisse accéder aux données de billing du compte B.

Étape 1 : Configuration des autorisations RAM pour le compte B

  1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur Cost Suite > Cost Insights.

  3. Accordez les autorisations nécessaires pour accéder aux données de facturation du cluster ACK.

    • Clusters gérés par ACK

      Le système crée automatiquement le rôle RAM AliyunCSManagedCostRole. Prometheus assume ce rôle pour accéder à vos données de facturation.

      Vous pouvez également procéder à l'autorisation depuis la page Autorisation rapide RAM.

    • Clusters dédiés ACK

      Ajoutez les autorisations de facturation à la stratégie du rôle worker :

      Afficher les étapes d'autorisation

      1. Sur la page Cost Insights, cliquez sur KubernetesWorkerRole-***.

      2. Dans l'onglet Permissions, cliquez sur k8sWorkerRole******** dans la colonne Policy.

      3. Dans l'onglet Policy Document, cliquez sur Edit Policy Document.

      4. Ajoutez ces instructions au tableau Statement, puis cliquez sur OK.

        {
            "Action": [
                "bssapi:QueryInstanceBill",
                "bssapi:DescribeInstanceBill"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "ecs:DescribeDisks",
                "ecs:DescribeSpotPriceHistory",
                "ecs:DescribeInstances",
                "ecs:DescribePrice"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "eci:DescribeContainerGroupPrice"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
        Remarque

        Séparez chaque instruction par une virgule lors de l'ajout de plusieurs entrées.

    Remarque

    Le cluster ACK du compte B ne nécessite pas le service Managed Service for Prometheus. Si ce service est déjà activé sur le cluster, désinstallez d'abord le module complémentaire ack-arms-prometheus. Pour plus d'informations, consultez la rubrique Gestion des modules complémentaires.

Étape 2 : Installation du module complémentaire dans le compte A

  1. Dans le compte A où réside le registered cluster, installez Managed Service for Prometheus. Pour plus d'informations, consultez la rubrique Connexion d'un registered cluster à Managed Service for Prometheus.

  2. Dans le compte A où réside le registered cluster, configurez le paramètre AckRegisteredClusterId pour le module complémentaire ack-cost-exporter. Définissez ce paramètre sur le clusterId du cluster ACK du compte B.

    1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

    2. Sur la page Clusters, cliquez sur le nom du cluster cible, puis dans la barre de navigation de gauche, sélectionnez Applications > Helm.

      Si une version d'ack-cost-exporter existe déjà sur la page Helm, supprimez-la et réinstallez-la en suivant les étapes suivantes.

    3. Dans la barre de navigation de gauche de la page de gestion du cluster, sélectionnez Operations > Add-ons.

    4. Sur la page Add-ons, cliquez sur l'onglet Observability, recherchez le module complémentaire ack-cost-exporter, puis cliquez sur Install dans le coin inférieur droit.

    5. Sur la page Install Component, définissez registeredAckClusterId sur le clusterId du cluster du compte B, puis cliquez sur OK.

Notes d'utilisation

Les données de facturation s'affichent à 08 h 00 (UTC+8) le lendemain de l'activation de la fonctionnalité cost insights. Pour modifier la plage de temps d'un tableau de bord, cliquez sur la liste déroulante située dans le coin supérieur droit du tableau de bord.

Aperçu des coûts du cluster

image

Métrique

Numéro

Description

Modèle d'allocation des coûts

(1)

Affiche le modèle d'allocation des coûts actif. Le modèle CPU est sélectionné par défaut.

Coût de la veille et coûts cumulés

(2)

Indique le coût de la veille, le ratio jour sur jour, le coût cumulé de la semaine en cours et le coût cumulé du mois en cours, tous basés sur les montants facturés. Les coûts hebdomadaires et mensuels sont calculés selon la période calendaire ; ainsi, le coût hebdomadaire revient à zéro le lundi et le coût mensuel revient à zéro le premier jour de chaque mois. Les factures sont générées un jour après la date de la transaction. Un ratio jour sur jour vert signifie que les coûts ont diminué ; rouge signifie qu'ils ont augmenté.

Graphiques de tendance des coûts et de la capacité

(3)

La courbe jaune représente le coût du cluster et la courbe bleue la capacité réelle du cluster. Lorsque les deux courbes divergent, le coût moyen par cœur CPU a changé : vérifiez si des ressources plus coûteuses sont consommées.

Coûts estimés et alloués par namespace

(4) et (5)

La section (4) affiche le coût estimé en temps réel de chaque namespace, calculé comme la somme des coûts de tous les pods. La section (5) affiche le coût alloué par namespace, soit le coût total du cluster multiplié par le ratio de coût de chaque namespace.

Remarque

Les namespaces sans demandes de ressources CPU sont exclus des calculs de coûts. La formule de coût du namespace est : Σ (Demande de ressources Pod / Capacité du nœud) × Prix unitaire du nœud. Cette formule peut différer du montant facturé lorsque des remises, des bons ou une facturation par abonnement s'appliquent.

Analyse des coûts pour les nœuds de centre de données sur site

La fonctionnalité cost insights permet d'analyser les coûts des on-premises data center nodes dans un registered cluster ainsi que ceux des applications déployées sur ces nœuds. Par défaut, cost insights calcule ces coûts sur la base d'un prix unitaire de 0,2 USD par cœur par heure. Configurez un prix unitaire personnalisé pour vos on-premises data center nodes en utilisant l'une des méthodes suivantes :

  • Configuration d'un prix uniforme pour tous les on-premises data center nodes

    Dans le namespace kube-system, ajoutez la variable d'environnement DefaultIDCPricePerCPUCoreHour au déploiement ack-cost-exporter.

    Le prix est exprimé en USD par cœur par heure.
    env:
    # Set the price per core hour for each on-premises data center node to USD 0.3.
    - name: DefaultIDCPricePerCPUCoreHour
      value: "0.3"
  • Configuration d'un prix distinct pour un nœud spécifique

    Ajoutez l'étiquette "node.kubernetes.io/price-per-day" à un nœud spécifique.

    Le prix correspond au prix total journalier pour ce nœud.

    Définissez le prix journalier total d'un nœud spécifique à 100 USD :

    kubectl label nodes <node-name> node.kubernetes.io/price-per-day="100"

FAQ

Pourquoi aucune donnée ne s'affiche-t-elle après l'activation de l'analyse des coûts ?

Les données de coût s'affichent à 08 h 00 (UTC+8) le lendemain, et la collecte des données de surveillance commence dans les 3 minutes suivant l'activation de la fonctionnalité. Si des données manquent toujours, vérifiez les points suivants :

  • Autorisation du rôle RAM : Assurez-vous d'avoir effectué l'étape 3 de la rubrique Activation des insights sur les coûts.

  • Accès Internet : Dans certaines régions, le point de terminaison interne ne permet pas d'interroger les factures. Assurez-vous que votre cluster dispose d'un accès Internet, généralement via une passerelle NAT.

  • Ratio jour sur jour et estimation des coûts du lendemain : Ces métriques nécessitent deux jours consécutifs de données et n'apparaissent pas immédiatement après l'activation de la fonctionnalité.

Pourquoi le coût du namespace diffère-t-il du montant réel de la facture ?

Le coût du namespace est une estimation basée sur les prix catalogue, et non sur la facture réelle. Les bons, les remises et les plans d'économie de coûts réduisent la facture réelle du cluster, mais ne sont pas reflétés dans les estimations par namespace. Pour calculer le coût alloué d'un namespace, multipliez le coût réel du cluster par le ratio de coût du namespace.

Pourquoi ne puis-je pas obtenir les données de coût pour les pods sur certains nœuds ?

L'autorisation ecs:DescribeDisks manque au rôle RAM. Ajoutez cette autorisation en suivant l'étape 3 de la rubrique Activation des insights sur les coûts.

Pourquoi la facture n'affiche-t-elle pas tous les services cloud utilisés par mon cluster ?

Cost insights ne collecte des données que pour les services cloud exclusifs à votre cluster. Les services partagés entre plusieurs clusters ne sont pas suivis.

La fonctionnalité utilise les étiquettes d'allocation des coûts dans la console Dépenses et coûts — plus précisément l'étiquette Gestion de la facturationack.aliyun.com:{{ClusterId}}page Étiquettes d'allocation des coûts — pour identifier les ressources du cluster. Si cette étiquette est désactivée, les données de coût ne peuvent pas être collectées. Sur la page Étiquettes d'allocation des coûts de la console Dépenses et coûts, activez l'étiquette avec la clé ack.aliyun.com et l'étiquette avec la clé ack.alibabacloud.com/nodepool-id.

Pourquoi les dépenses hebdomadaires ou mensuelles sont-elles inférieures au montant réel ?

Les données de coût antérieures à l'activation de la fonctionnalité cost insights ne sont pas incluses. La fonctionnalité analyse uniquement les données à partir du moment de son activation.