Selain kebijakan alokasi biaya default, suite manajemen biaya mendukung kebijakan akuntansi biaya kustom. Jika Anda memerlukan logika alokasi biaya atau chargeback yang disesuaikan, Anda dapat membuat file konfigurasi dengan harga resource kustom agar data biaya selaras dengan logika bisnis Anda.
Kasus penggunaan
Akuntansi biaya kustom memungkinkan tata kelola biaya TI yang lebih terperinci. Kasus penggunaan umum meliputi:
-
Tim operasi internal membeli sumber daya komputasi dasar secara massal dan menjualnya kembali ke berbagai tim bisnis.
-
Anda ingin menstandarkan biaya di tingkat bisnis dan menghilangkan variasi biaya akibat penjadwalan pod dengan spesifikasi yang sama ke node dengan spesifikasi berbeda.
-
Unit bisnis yang berbeda menerapkan pod dengan permintaan resource yang sama tetapi rasio overcommit berbeda pada node yang sama. Anda perlu menerapkan akuntansi biaya yang berbeda antar unit tersebut dengan mempertimbangkan batas resource dalam harga satuan pod.
Untuk mengatasi kebutuhan akuntansi biaya kustom ini, suite manajemen biaya menyediakan templat penetapan harga kustom. Anda dapat mengedit templat tersebut untuk mengonfigurasi harga satuan resource pod, yang kemudian diagregasi guna menentukan biaya pod tersebut.
Saat ini, biaya pod hanya tersedia melalui API. Setelah Anda mengaktifkan dan mengonfigurasi penetapan harga kustom, Anda dapat mengambil data biaya dari bidang customCost dalam respons API. Untuk informasi selengkapnya tentang cara menggunakan API, lihat Ikhtisar pengambilan data biaya melalui API.
Prasyarat
Langkah 1: Aktifkan penetapan harga kustom di cost-exporter
Masuk ke ACK console. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik .
-
Di bagian atas halaman, pilih kube-system dari daftar drop-down Namespace. Temukan Deployment ack-cost-exporter. Pada kolom Actions, pilih More > View in YAML. Di bagian
command, tambahkan'--enable-custom-price=true'. Lalu, klik Update.
Langkah 2: Konfigurasikan templat penetapan harga
Prosedur
-
Buat file bernama price-template.yaml yang berisi kode contoh berikut.
Penting-
Semua bidang di bawah bidang
specdalam templat bersifat opsional. Sebuah Pod cocok dengan templat jika semua bidang yang dikonfigurasi di bawahspeckonsisten dengan metadata Pod tersebut. Templat denganspeckosong dapat cocok dengan semua Pod. -
Templat dicocokkan secara berurutan. Jika sebuah pod cocok dengan beberapa templat, sistem memilih templat pertama yang cocok dari atas ke bawah dalam file YAML untuk menetapkan harga 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.02Templat penetapan harga ini menentukan hal-hal berikut:
-
Templat penetapan harga template-nginx memberi harga pod di kluster yang memenuhi semua kondisi berikut:
-
Pod memiliki label
app:nginx. -
Pod berada di namespace default atau kube-system.
-
Permintaan resource CPU adalah 500m dan batas resource-nya adalah 1 Core.
-
Permintaan resource memori adalah 512 MiB dan batas resource-nya adalah 1 GiB.
-
-
Templat penetapan harga template-default memberi harga semua pod lainnya di kluster.
Tabel berikut menjelaskan parameter-parameter tersebut.
Parameter
Deskripsi
name
Nama templat penetapan harga.
spec.labelSelector
Selektor untuk mencocokkan label pod.
spec.namespaceSelector
Daftar namespace yang akan dicocokkan.
spec.resource.cpu
Permintaan resource CPU pod.
spec.resource.memory
Permintaan resource memori pod.
spec.resource.cpu-overcommit-ratio
Rasio overcommit CPU pod, dihitung sebagai: batas resource CPU / permintaan resource CPU.
spec.resource.memory-overcommit-ratio
Rasio overcommit memori pod, dihitung sebagai: batas resource memori / permintaan resource memori.
price.cpu
Harga satuan CPU pod. Satuan: Core-Jam.
price.memory
Harga satuan memori pod. Satuan: GiB-Jam.
-
-
Jalankan perintah berikut untuk membuat ConfigMap bernama
price-templatedi namespacekube-systemguna menerapkan konfigurasi penetapan harga kustom Anda.kubectl apply -f price-template.yaml -n kube-system
Dokumen terkait
-
Anda dapat melakukan estimasi biaya pod berdasarkan watermark penjadwalan kluster, termasuk estimasi sumber daya tunggal (CPU atau memori) dan estimasi campuran berbobot (CPU dan memori). Untuk informasi selengkapnya, lihat Pengantar kebijakan estimasi biaya.
-
Kirim permintaan API HTTP untuk mengambil data cost insights guna pengembangan kustom. Untuk informasi selengkapnya, lihat Ikhtisar pemanggilan API untuk mengkueri data biaya.