All Products
Search
Document Center

Container Service for Kubernetes:Kebijakan alokasi biaya kustom

Last Updated:Jun 21, 2026

Selain strategi alokasi biaya default, suite manajemen biaya memungkinkan Anda membuat kebijakan akuntansi biaya kustom. Dengan membuat file konfigurasi yang menetapkan harga sumber daya kustom, Anda dapat menentukan logika chargeback sendiri terhadap biaya sumber daya cloud, sehingga data biaya lebih selaras dengan logika bisnis Anda.

Use cases

Harga kustom memberikan kontrol detail halus atas biaya TI Anda. Use case umum meliputi:

  • Tim operasi internal membeli sumber daya komputasi dasar secara massal dan menjualnya kembali ke berbagai tim bisnis.

  • Normalisasi biaya di tingkat bisnis dengan menghilangkan variasi harga akibat penjadwalan Pod identik pada node dengan spesifikasi berbeda.

  • Untuk menerapkan harga diferensiasi, Anda harus menyertakan batas resource saat menghitung harga satuan Pod.

Untuk mengatasi skenario tersebut, suite manajemen biaya menyediakan fitur templat harga kustom. Anda dapat mengedit templat untuk mengonfigurasi harga satuan setiap resource Pod, yang kemudian diagregasi guna menentukan biaya kustom Pod tersebut.

Catatan

Saat ini, biaya kustom Pod hanya tersedia melalui API. Setelah Anda mengaktifkan dan mengonfigurasi harga kustom, Anda dapat mengambil biaya tersebut dari bidang customCost dalam tanggapan API. Untuk detail penggunaan API, lihat Retrieve cost data by API.

Prasyarat

Langkah 1: Aktifkan harga kustom untuk cost-exporter

  1. Masuk ke ACK console. Di panel navigasi kiri, klik Clusters.

  2. Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Workloads > Deployments.

  3. Di bagian atas halaman, alihkan namespace ke kube-system. Pada kolom Actions daftar Deployment, klik More > View in YAML untuk ack-cost-exporter. Di bagian command, tambahkan '--enable-custom-price=true' untuk mengaktifkan fitur harga kustom. Lalu, klik 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'

Langkah 2: Konfigurasikan templat harga

Prosedur

  1. Buat file bernama price-template.yaml dengan konten contoh berikut.

    Penting
    • Bidang-bidang di bawah bidang spec dalam templat bersifat opsional. Jika semua bidang yang dikonfigurasi di bawah spec sesuai dengan metadata Pod, Pod tersebut dianggap cocok dengan templat tersebut. Templat dengan spec kosong dapat mencocokkan semua Pod.

    • Templat dicocokkan secara berurutan. Jika sebuah Pod cocok dengan beberapa templat dalam file YAML, sistem menggunakan templat pertama yang cocok untuk menghitung biaya Pod tersebut.

    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

    Templat harga ini menetapkan aturan berikut:

    • Templat template-nginx berlaku untuk Pod yang memenuhi semua kondisi berikut:

      • Label-nya berisi app:nginx

      • Pod berada di namespace default atau kube-system.

      • Permintaan CPU sebesar 500m dan limit-nya 1 Core.

      • Permintaan memori sebesar 512 MiB dan limit-nya 1 GiB.

    • Semua Pod lain di kluster menggunakan templat template-default.

    Tabel berikut menjelaskan parameter-parameter tersebut.

    Parameter

    Deskripsi

    name

    Nama templat harga.

    spec.labelSelector

    Peta pasangan kunci-nilai. Sebuah Pod dianggap cocok jika memiliki semua label yang ditentukan dalam selector ini.

    spec.namespaceSelector

    Daftar namespace. Namespace Pod harus ada dalam daftar ini agar dianggap cocok.

    spec.resource.cpu

    Permintaan CPU Pod.

    spec.resource.memory

    Permintaan memori Pod.

    spec.resource.cpu-overcommit-ratio

    Rasio overcommitment CPU Pod, dihitung sebagai CPU limit / CPU request.

    spec.resource.memory-overcommit-ratio

    Rasio overcommitment memori Pod, dihitung sebagai memory limit / memory request.

    price.cpu

    Harga satuan untuk CPU, diukur dalam biaya per core-jam.

    price.memory

    Harga satuan untuk memori, diukur dalam biaya per GiB-jam.

  2. Jalankan perintah berikut untuk membuat ConfigMap price-template di namespace kube-system dan menerapkan konfigurasi harga kustom Anda.

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

Dokumen terkait

  • Anda dapat memperkirakan biaya Pod berdasarkan pemanfaatan sumber daya kluster menggunakan model single-resource (CPU atau memori) atau weighted (CPU dan memori). Untuk informasi selengkapnya, lihat Cost estimation policies.

  • Kirim permintaan API HTTP untuk mengambil data cost insights guna pengembangan kustom. Untuk informasi selengkapnya, lihat Overview of calling an API to query cost data.