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 :Aug 11, 2026

Cette rubrique explique 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 de Cost Insights

Compte unique

Étape 1 : Configuration des autorisations RAM

onectl

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

  2. Exécutez la commande suivante pour accorder les autorisations RAM au composant 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 composant 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. Association 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 approuvés. Pour plus d'informations, consultez la section Politiques de restriction d'accès réseau basées sur l'AccessKey.

  5. Utilisez la paire AccessKey pour créer un Secret nommé alibaba-addon-secret dans le cluster enregistré. Exécutez la commande suivante pour créer le Secret pour le composant ack-cost-exporter.

    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 de ack-cost-exporter

onectl

Exécutez la commande suivante pour installer le composant 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 sélectionnez Applications > Helm.

    Si une version d'ack-cost-exporter existe déjà sur la page Helm, supprimez-la, puis suivez les étapes suivantes pour la réinstaller.

  3. Dans le volet 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 Logs and Monitoring, 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 bill de ce compte.

Étape 1 : Configuration des autorisations 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 Managed Service for Prometheus. Si ce service est déjà activé sur le cluster, désinstallez d'abord le composant ack-arms-prometheus. Pour plus d'informations, consultez la section Gestion des modules complémentaires.

Étape 2 : Installation du composant dans le compte A

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

  2. Dans le compte A où réside le cluster enregistré, configurez le paramètre AckRegisteredClusterId pour le composant ack-cost-exporter. Définissez ce paramètre sur l'ID 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 sélectionnez Applications > Helm.

      Si une version d'ack-cost-exporter existe déjà sur la page Helm, supprimez-la, puis suivez les étapes suivantes pour la réinstaller.

    3. Dans le volet 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 Logs and Monitoring, recherchez le module complémentaire ack-cost-exporter, puis cliquez sur Install dans le coin inférieur droit.

    5. Sur la page Install ack-cost-exporter, définissez registeredAckClusterId sur l'ID du cluster du compte B, puis cliquez sur OK.

Remarques 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 par 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 que les coûts 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 représente 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 à prix plus élevé 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 de tous les coûts des pods. La section (5) affiche le coût alloué par namespace — le coût total du cluster multiplié par le ratio de coût de chaque namespace.

Remarque

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

Analyse des coûts pour les nœuds IDC sur site

La fonctionnalité cost insights peut analyser les coûts des on-premises IDC nodes dans un cluster enregistré et des applications déployées sur ces nœuds. Par défaut, cost insights calcule ces coûts à un prix unitaire de 0,2 USD par cœur*heure. Vous pouvez configurer un prix unitaire personnalisé pour vos on-premises IDC nodes de différentes manières.

  • Configuration d'un prix uniforme pour tous les nœuds IDC sur site

    Dans le namespace kube-system, ajoutez la variable d'environnement DefaultIDCPricePerCPUCoreHour au déploiement ack-cost-exporter pour spécifier un prix uniforme pour tous les on-premises IDC nodes.

    Remarque

    Le prix est exprimé en USD par cœur*heure.

    env:
    # Set the price per core hour for each on-premises IDC 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 pour configurer un prix unique pour ce nœud.

    Remarque

    Le prix correspond au prix total par jour pour ce nœud.

    Exécutez la commande suivante pour définir le prix quotidien 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 les données sont toujours manquantes, vérifiez les points suivants :

  • Autorisation du rôle RAM : Assurez-vous d'avoir effectué l'étape 3 de la section Activation de Cost Insights.

  • Accès Internet : Dans certaines régions, l'endpoint 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 du coût du lendemain : Ces métriques nécessitent deux jours consécutifs de données et n'apparaîtront 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'économies 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 des pods sur certains nœuds ?

Il manque l'autorisation ecs:DescribeDisks au rôle RAM. Ajoutez cette autorisation en suivant l'étape 3 de la section Activation de Cost Insights.

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

Cost Insights collecte uniquement les données des 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 des é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.