Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Custom cost allocation policies

Dernière mise à jour :Sep 21, 2026

En plus des stratégies de répartition des coûts par défaut, la suite de gestion des coûts vous permet de créer des politiques de comptabilisation des coûts personnalisées. Pour définir votre propre logique de refacturation des coûts des ressources cloud, créez un fichier de configuration qui définit les prix personnalisés des ressources. Cela permet d'aligner plus étroitement les données de coûts sur votre logique métier.

Cas d'utilisation

La tarification personnalisée offre un contrôle granulaire sur vos coûts informatiques. Voici quelques cas d'utilisation courants :

  • Une équipe opérationnelle interne achète des ressources de calcul sous-jacentes en gros et les revend à différentes équipes métier.

  • Normalisez les coûts au niveau métier en éliminant les variations de prix résultant de la planification de pods identiques sur des nœuds aux spécifications différentes.

  • Pour mettre en œuvre une tarification différenciée, incluez la limite de ressource lors du calcul du prix unitaire du pod.

Pour répondre à ces scénarios, la suite de gestion des coûts propose une fonctionnalité de modèle de tarification personnalisé. Vous pouvez modifier un modèle pour configurer le prix unitaire de chaque ressource d'un pod ; ces prix sont ensuite agrégés pour déterminer le coût personnalisé du pod.

Remarque

Le coût personnalisé d'un pod est actuellement disponible uniquement via l'API. Après avoir activé et configuré la tarification personnalisée, récupérez le coût à partir du champ customCost dans la réponse de l'API. Pour plus de détails sur l'utilisation de l'API, consultez Récupération des données de coûts par API.

Prérequis

Étape 1 : Activer la tarification personnalisée pour cost-exporter

  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 Workloads > Deployments.

  3. En haut de la page, basculez le namespace vers kube-system. Dans la colonne Actions de la liste des Deployments, cliquez sur More > View in YAML pour ack-cost-exporter. Dans la section command, ajoutez '--enable-custom-price=true' pour activer la fonctionnalité de prix personnalisé. Ensuite, cliquez sur Update.

    spec:
            containers:
            - command:
                - /root/alibaba-cloud-price-exporter
                - '--listen-address=:9091'
                - '--ali-user-id=1251182063904492'
                - '--cluster-id=c66b9e33984194a219813f6a7d402cdba'
                - '--region-id=cn-hangzhou'
                - '--cluster-type=ManagedKubernetes'
                - '--cluster-profile=Default'
                - '--enable-custom-price=true'
              env:
                - name: DefaultIDCPricePerCPUCoreHour
                  value: '0.2'

Étape 2 : Configurer le modèle de tarification

Procédure

  1. Créez un fichier nommé price-template.yaml avec le contenu d'exemple suivant.

    Important
    • Les champs sous le champ spec d'un modèle sont facultatifs. Si tous les champs configurés sous spec correspondent aux métadonnées du Pod, le Pod est considéré comme correspondant au modèle. Un modèle avec un spec vide peut correspondre à tous les Pods.

    • Les modèles sont appariés dans l'ordre. Si un pod correspond à plusieurs modèles dans le fichier YAML, le système utilise le premier modèle correspondant pour calculer le coût du pod.

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: price-template
      namespace: kube-system
    data:
      template.yaml: |
        - name: template-nginx
          spec:
            labelSelector:
              app: nginx
            namespaceSelector:
              - default
              - kube-system
            resource:
              cpu: 500m
              memory: 512Mi
              cpu-overcommit-ratio: 2
              memory-overcommit-ratio: 2
          price:
            cpu: 0.2
            memory: 0.03
        - name: template-default
          price:
            cpu: 0.1
            memory: 0.02

    Ce modèle de tarification spécifie les règles suivantes :

    • Le modèle template-nginx s'applique aux pods qui remplissent toutes les conditions suivantes :

      • Le label contient app:nginx

      • Le pod se trouve dans le namespace default ou kube-system.

      • La requête CPU est de 500 m et la limite est de 1 cœur.

      • La requête mémoire est de 512 MiB et la limite est de 1 GiB.

    • Tous les autres pods du cluster utilisent le modèle template-default.

    Le tableau suivant décrit les paramètres.

    Paramètre

    Description

    name

    Le nom du modèle de tarification.

    spec.labelSelector

    Une carte de paires clé-valeur. Un pod est considéré comme correspondant s'il possède tous les labels spécifiés dans ce sélecteur.

    spec.namespaceSelector

    Une liste de namespaces. Le namespace du pod doit figurer dans cette liste pour correspondre.

    spec.resource.cpu

    La requête CPU du pod.

    spec.resource.memory

    La requête mémoire du pod.

    spec.resource.cpu-overcommit-ratio

    Le ratio de surengagement CPU du pod, calculé comme CPU limit / CPU request.

    spec.resource.memory-overcommit-ratio

    Le ratio de surengagement mémoire du pod, calculé comme memory limit / memory request.

    price.cpu

    Le prix unitaire du CPU, mesuré en coût par cœur-heure.

    price.memory

    Le prix unitaire de la mémoire, mesuré en coût par GiB-heure.

  2. Exécutez la commande suivante pour créer le ConfigMap price-template dans le namespace kube-system et appliquer votre configuration de tarification personnalisée.

    kubectl apply -f price-template.yaml -n kube-system

Documents connexes