All Products
Search
Document Center

Container Service for Kubernetes:Cara menggunakan wawasan biaya untuk kluster terdaftar

Last Updated:Mar 26, 2026

Fitur cost insights memungkinkan Anda melihat rincian penagihan tingkat kluster, alokasi biaya per namespace, dan tren pemanfaatan sumber daya untuk kluster terdaftar—memberikan data yang diperlukan untuk mengidentifikasi pemborosan dan mengurangi pengeluaran.

Prasyarat

Sebelum memulai, pastikan Anda telah:

Batasan

  • Data penagihan tersedia pada pukul 08.00.00 (UTC+8) hari berikutnya. Data biaya sebelum Anda mengaktifkan cost insights tidak disertakan.

  • Metrik Day-on-day ratio dan Estimated cost of next day memerlukan data dua hari berturut-turut untuk ditampilkan.

  • Biaya kumulatif mingguan dan bulanan diatur ulang ke nol pada hari pertama setiap periode penagihan karena tagihan dibuat satu hari setelah tanggal transaksi.

  • Analisis biaya hanya melacak sumber daya cloud yang eksklusif untuk kluster Anda. Sumber daya yang digunakan bersama oleh beberapa kluster tidak disertakan.

  • Jika Anda menonaktifkan tag alokasi biaya (kunci: ack.aliyun.com) di konsol Expenses and Costs, pengumpulan data biaya kluster akan berhenti. Untuk mengaktifkan kembali pengumpulan tersebut, aktifkan tag dengan kunci ack.aliyun.com dan tag dengan kunci ack.alibabacloud.com/nodepool-id pada halaman Cost allocation tags.

  • Kluster harus memiliki akses internet (melalui NAT gateway atau setara) untuk mengkueri data penagihan di wilayah tertentu.

Aktifkan cost insights

Aktifkan cost insights dalam satu akun

Langkah 1: Berikan izin RAM kepada ack-cost-exporter

Gunakan onectl

  1. Instal onectl di mesin lokal Anda. Lihat Gunakan onectl untuk mengelola kluster terdaftar.

  2. Jalankan perintah berikut:

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

    Output yang diharapkan:

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

Gunakan konsol

  1. Buat RAM user.

  2. Buat kebijakan kustom dengan konten berikut, yang memberikan akses ack-cost-exporter ke API penagihan dan penetapan harga sumber daya yang diperlukan:

    {
        "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. Lampirkan kebijakan kustom ke RAM user.

  4. Buat Pasangan Kunci Akses untuk RAM user tersebut.

    Peringatan

    Konfigurasikan kebijakan pembatasan akses jaringan AccessKey untuk membatasi pemanggilan AccessKey hanya pada lingkungan jaringan tepercaya.

  5. Buat Secret bernama alibaba-addon-secret di namespace kube-system kluster terdaftar:

    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>'

Langkah 2: Instal ack-cost-exporter

Gunakan onectl

onectl addon install ack-cost-exporter

Output yang diharapkan:

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

Gunakan konsol

  1. Login ke Konsol ACK dan klik Clusters di panel navigasi kiri.

  2. Klik nama kluster, lalu pilih Applications > Helm di panel navigasi kiri. Jika ack-cost-exporter sudah muncul dalam daftar rilis Helm, hapus terlebih dahulu sebelum melanjutkan.

  3. Di halaman detail kluster, pilih Operations > Add-ons di panel navigasi kiri.

  4. Pada halaman Add-ons, klik tab Logs and Monitoring, temukan ack-cost-exporter, lalu klik Install di pojok kanan bawah. Kemudian klik OK.

Aktifkan cost insights lintas akun

Gunakan konfigurasi ini ketika kluster terdaftar di akun A mengelola kluster ACK di akun B. Anda perlu mengotorisasi cost insights di akun B agar dapat mengakses data penagihan akun B, serta mengonfigurasi ack-cost-exporter di akun A untuk mengarah ke kluster akun B.

Rangkuman peran:

AkunPeranTindakan yang diperlukan
Akun BMenampung kluster ACKBerikan izin RAM untuk mengakses data penagihannya sendiri
Akun AMenampung kluster terdaftarInstal ack-arms-prometheus dan konfigurasikan ack-cost-exporter

Langkah 1: Konfigurasikan izin RAM untuk akun B

  1. Login ke Konsol ACK menggunakan kredensial akun B dan klik Clusters di panel navigasi kiri.

  2. Temukan kluster dan klik namanya. Di panel navigasi kiri, pilih Cost Suite > Cost Insights.

  3. Otorisasi kluster ACK untuk mengakses data penagihan di Pusat Pengguna. Langkah otorisasi berbeda tergantung jenis kluster: ACK managed clusters — sistem secara otomatis membuat peran RAM AliyunCSManagedCostRole dan memberikan izin yang diperlukan. Managed Service for Prometheus mengasumsikan peran ini untuk mengakses data penagihan. Sebagai alternatif, otorisasi langsung di halaman RAM Quick Authorization. ACK dedicated clusters

    1. Pada halaman Cost Insights, klik KubernetesWorkerRole-***.

    2. Di tab Permissions halaman detail peran RAM, klik k8sWorkerRole** in the Policy**.

    3. Di tab Policy Document, klik Edit Policy Document.

    4. Di editor kode, tambahkan berikut ini ke bidang Statement, lalu klik 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" }
      Catatan

      Tambahkan koma setelah setiap blok aksi sebelum menyisipkan blok berikutnya.

    Kluster ACK di akun B tidak boleh memiliki ack-arms-prometheus yang terinstal. Jika sudah terinstal, uninstall terlebih dahulu sebelum melanjutkan.

Langkah 2: Instal komponen di akun A

  1. Instal ack-arms-prometheus di akun A, tempat kluster terdaftar berjalan. Lihat Aktifkan Managed Service for Prometheus untuk kluster terdaftar.

  2. Konfigurasikan ack-cost-exporter di akun A untuk mengarah ke kluster ACK akun B:

    1. Login ke Konsol ACK menggunakan kredensial akun A dan klik Clusters di panel navigasi kiri.

    2. Klik nama kluster terdaftar, lalu pilih Applications > Helm di panel navigasi kiri. Jika ack-cost-exporter sudah muncul dalam daftar rilis Helm, hapus terlebih dahulu sebelum melanjutkan.

    3. Di panel navigasi kiri, pilih Operations > Add-ons.

    4. Pada halaman Add-ons, klik tab Logs And Monitoring, temukan ack-cost-exporter, lalu klik Install di pojok kanan bawah.

    5. Di dialog Install ack-cost-exporter, atur registeredAckClusterId ke ID kluster ACK di akun B, lalu klik OK.

Definisi biaya

Sebelum meninjau dasbor, pahami metrik biaya utama dan cara perhitungannya:

IstilahDeskripsi
Actual billing cost with discountJumlah pembayaran untuk sumber daya cloud di kluster, setelah diskon. Ini adalah tampilan default.
Original billing cost without discountJumlah tagihan berdasarkan harga daftar di situs Alibaba Cloud International. Lihat Bill Details.
Real-time estimated costPerkiraan biaya namespace dihitung sebagai Σ (Permintaan sumber daya Pod / Kapasitas Node) × Harga satuan Node. Perhitungan ini mempertimbangkan perbedaan harga antar node dengan spesifikasi dan metode penagihan berbeda. Karena penagihan diskon, voucher, dan langganan dilakukan secara tertunda, biaya perkiraan mungkin berbeda dari jumlah tagihan aktual.
Allocated costBiaya kluster aktual dikalikan dengan rasio biaya namespace. Gunakan ini untuk memperkirakan pengeluaran aktual namespace.
Day-on-day ratioRasio biaya hari sebelumnya terhadap biaya dua hari sebelumnya. Hijau menunjukkan penurunan; merah menunjukkan kenaikan.
Biaya aplikasi berdasarkan namespace atau pod dihitung berdasarkan jumlah tagihan. Namespace yang tidak memiliki konfigurasi permintaan sumber daya CPU dikecualikan dari perhitungan biaya namespace.

Catatan penggunaan

Setelah cost insights diaktifkan, data penagihan muncul pada pukul 08.00.00 (UTC+8) hari berikutnya. Gunakan daftar drop-down di pojok kanan atas dasbor apa pun untuk mengubah rentang waktu. Rentang waktu default adalah 7 hari terakhir.

Dimensi kluster

Kriteria filter

image.png
FiturNomorDeskripsi
Opsi analisis biaya kluster(1)Dua opsi: Actual billing cost with discount (default) — jumlah pembayaran untuk sumber daya cloud di kluster; Original billing cost without discount — jumlah tagihan berdasarkan harga daftar. Lihat Bill Details.
Model alokasi biaya(2)Empat model: CPU model (default) — memperkirakan biaya pod berdasarkan permintaan sumber daya CPU; Memory model — memperkirakan biaya pod berdasarkan permintaan sumber daya memori; CPU-Memory hybrid model (recommended weights) — menggunakan bobot CPU dan memori yang direkomendasikan; CPU-Memory hybrid model (custom weights) — menggunakan bobot kustom; memerlukan pengaturan CPU weight setting (%). Lihat Kebijakan estimasi biaya.
Rentang waktu(3)Rentang waktu data yang ditampilkan di dasbor. Default adalah 7 hari terakhir.

Ikhtisar biaya kluster

image
FiturNomorDeskripsi
Model alokasi biaya yang digunakan(1)Menampilkan model alokasi biaya aktif. Model CPU dipilih secara default.
Biaya hari sebelumnya, biaya kumulatif mingguan, dan biaya kumulatif bulanan(2)Semua angka didasarkan pada jumlah tagihan untuk sumber daya cloud di kluster. Biaya kumulatif mingguan diatur ulang setiap Senin dan biaya kumulatif bulanan diatur ulang pada hari pertama setiap bulan, karena tagihan dibuat satu hari setelah tanggal transaksi. Rasio day-on-day membandingkan biaya hari sebelumnya dengan hari sebelumnya lagi. Hijau menunjukkan penurunan; merah menunjukkan kenaikan.
Tren biaya dan kapasitas kluster(3)Kurva kuning menunjukkan biaya kluster dan kurva biru menunjukkan kapasitas kluster aktual. Ketika kurva menyimpang, biasanya berarti biaya rata-rata per core CPU telah berubah — periksa apakah sumber daya berharga lebih tinggi sedang digunakan.
Biaya perkiraan real-time per namespace(4)Perkiraan biaya setiap namespace, dihitung sebagai jumlah biaya semua pod di namespace tersebut.
Biaya teralokasi per namespace(5)Biaya kluster yang dialokasikan ke setiap namespace berdasarkan rasio biayanya. Cost insights menggunakan rumus ini: Σ (Permintaan sumber daya Pod / Kapasitas Node) × Harga satuan Node. Untuk mendapatkan biaya teralokasi, kalikan total biaya kluster dengan rasio biaya namespace.

Analisis stabilitas dan efisiensi

image
FiturNomorDeskripsi
Total penggunaan sumber daya kluster(1)Menunjukkan jumlah pod berdasarkan kelas QoS dan total penggunaan sumber daya di kluster.
Penggunaan sumber daya pod(2)Mencantumkan informasi dasar dan penggunaan sumber daya (Usage/Request) untuk semua pod. Mendukung penyaringan dan pengurutan — gunakan ini untuk mengidentifikasi beban kerja dengan penggunaan sumber daya tertinggi atau terendah.
Konfigurasi sumber daya pod Burstable(3)Mencantumkan permintaan dan batas sumber daya untuk pod Burstable. Gunakan penyaringan dan pengurutan untuk mengidentifikasi hambatan sumber daya dan memahami berapa banyak sumber daya kluster yang dikonsumsi setiap pod Burstable.
Konfigurasi sumber daya pod BestEffort(4)Mencantumkan pod BestEffort, yang memiliki risiko stabilitas lebih tinggi karena tidak memiliki permintaan atau batas sumber daya. Lakukan penyaringan dan pengurutan untuk memeriksa adanya pod BestEffort yang tidak terduga dan tangani risiko sedini mungkin.

Untuk detail selengkapnya, lihat Gunakan cost insights untuk mengidentifikasi risiko beban kerja kluster.

Analisis biaya kluster

image
FiturNomorDeskripsi
Rasio biaya sumber daya cloud(1) dan (2)Menunjukkan bagian biaya setiap jenis sumber daya cloud di kluster dan bagaimana biaya tersebut berubah seiring waktu. Gunakan ini untuk mengidentifikasi jenis sumber daya yang mendorong kenaikan biaya.
Tren total biaya kluster(3)Menunjukkan perubahan harian pada total biaya kluster.
Biaya kelompok node dan node virtual(4)Menunjukkan biaya setiap kelompok node atau node virtual di kluster.
Tren biaya perkiraan real-time namespace(5)Menunjukkan bagaimana biaya perkiraan namespace berubah seiring waktu. Dihitung menggunakan: Σ (Permintaan sumber daya Pod / Kapasitas Node) × Harga satuan Node. Untuk mendapatkan biaya teralokasi, kalikan total biaya kluster dengan rasio biaya namespace.
Permintaan dan pemanfaatan sumber daya kluster(6)Membantu Anda menganalisis watermark sumber daya dan mengidentifikasi pemborosan. Sumbu-Y: total sumber daya yang dapat dialokasikan di kluster. Kolom hijau: sumber daya yang diminta dalam jam saat ini. Kolom kuning: penggunaan sumber daya aktual dalam jam saat ini. Sumber daya dialokasikan tetapi tidak digunakan = Kolom hijau − Kolom kuning. Sumber daya kluster yang dapat dialokasikan = Sumbu-Y − Kolom hijau. Gunakan metrik ini untuk: menghindari pemborosan sumber daya yang tidak dialokasikan (simpan ~20% sebagai buffer dan sesuaikan permintaan sumber daya pod atau turunkan spesifikasi instans sesuai kebutuhan); mengurangi pemborosan sumber daya yang dialokasikan tetapi tidak digunakan (identifikasi pod dengan permintaan berlebihan menggunakan statistik tingkat namespace, lalu sesuaikan); menyesuaikan ukuran untuk beban kerja periodik (gunakan tren watermark untuk mengubah ukuran kapasitas kluster dan konfigurasikan kebijakan penskalaan).
Detail penagihan kluster(7) dan (8)Catatan penagihan harian yang diorganisir berdasarkan jenis sumber daya cloud atau instans.

Tetapkan harga kustom untuk node on-premises

Secara default, cost insights menghitung biaya node dan aplikasi on-premises sebesar CNY 0,2/vCore per jam. Dua opsi konfigurasi memungkinkan Anda mengganti nilai default ini.

Opsi 1: Tetapkan harga seragam untuk semua node on-premises

Tambahkan variabel lingkungan DefaultIDCPricePerCPUCoreHour ke Deployment ack-cost-exporter di namespace kube-system. Satuannya adalah CNY/vCore per jam.

env:
# Tetapkan harga satuan CPU menjadi CNY 0,3/vCore per jam.
- name: DefaultIDCPricePerCPUCoreHour
  value: "0.3"

Opsi 2: Tetapkan harga untuk node tertentu

Tambahkan label node.kubernetes.io/price-per-day ke sebuah node. Satuannya adalah CNY/hari. Perintah berikut menetapkan harga untuk sebuah node menjadi CNY 100/hari:

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

FAQ

Mengapa tidak ada data yang ditampilkan setelah saya mengaktifkan analisis biaya?

Periksa apakah Anda telah menyelesaikan otorisasi peran RAM—ini adalah penyebab paling umum. Data pemantauan mulai dikumpulkan dalam waktu 3 menit setelah Anda mengaktifkan cost insights, tetapi data penagihan hanya muncul pada pukul 08.00.00 (UTC+8) hari berikutnya. Pastikan juga kluster Anda memiliki akses internet melalui NAT gateway atau setara, karena beberapa wilayah memerlukannya untuk mengkueri data penagihan.

Mengapa biaya namespace berbeda dari jumlah tagihan aktual?

Biaya namespace merupakan perkiraan berdasarkan harga daftar, bukan biaya aktual. Diskon, voucher, dan rencana penghematan mengurangi tagihan kluster aktual Anda, tetapi tidak tercermin dalam perkiraan per namespace. Untuk mendapatkan perkiraan biaya namespace aktual yang lebih akurat, kalikan tagihan kluster aktual Anda dengan rasio biaya namespace tersebut.

Mengapa data biaya pod hilang untuk beberapa node?

Kemungkinan besar peran RAM tidak memiliki izin ecs:DescribeDisks. Verifikasi bahwa kebijakan izin mencakupnya. Lihat Langkah 1 dalam topik Aktifkan cost insights.

Mengapa tagihan tidak menampilkan semua layanan cloud yang digunakan oleh kluster saya?

Analisis biaya hanya mengumpulkan data untuk sumber daya cloud yang secara eksklusif terkait dengan kluster Anda, diidentifikasi oleh tag ack.aliyun.com:{{ClusterId}}. Sumber daya yang digunakan bersama oleh beberapa kluster tidak dilacak. Jika tag tersebut dinonaktifkan, aktifkan kembali tag ack.aliyun.com dan ack.alibabacloud.com/nodepool-id di halaman Cost allocation tags pada konsol Expenses and Costs.

Mengapa pengeluaran bulanan atau mingguan lebih rendah dari yang diharapkan?

Data biaya hanya dikumpulkan sejak tanggal Anda mengaktifkan cost insights. Data penagihan historis sebelum tanggal tersebut tidak disertakan dalam perhitungan.