Selain kebijakan alokasi biaya default, suite manajemen biaya mendukung kebijakan akuntansi biaya kustom. Jika Anda memiliki persyaratan lebih tinggi terkait alokasi biaya sumber daya cloud atau perlu menyesuaikan alokasi biaya, Anda dapat mengonfigurasi harga sumber daya kustom.
Skenario penggunaan
Anda dapat menerapkan tata kelola pengeluaran IT yang detail berdasarkan kebijakan akuntansi biaya kustom. Kebijakan ini cocok untuk skenario berikut:
Tim O&M perusahaan menjual kembali sumber daya komputasi dasar kepada departemen bisnis yang berbeda di perusahaan.
Perusahaan ingin menghilangkan perbedaan dalam biaya bisnis yang disebabkan oleh harga sumber daya dinamis. Sebagai contoh, ketika pod dengan konfigurasi yang sama dijadwalkan ke node dengan spesifikasi berbeda, biaya yang ditimbulkan oleh node tersebut berbeda.
Departemen yang berbeda dari sebuah perusahaan menerapkan pod dengan permintaan sumber daya yang sama pada node yang sama berdasarkan rasio overcommit yang berbeda. Dalam kasus ini, jika Anda ingin menerapkan akuntansi biaya yang berbeda antar departemen, Anda harus mempertimbangkan batas sumber daya saat menghitung harga satuan pod.
Untuk memenuhi persyaratan penyesuaian data sebelumnya, suite manajemen biaya menyediakan templat yang dapat Anda gunakan untuk mengonfigurasi harga satuan sumber daya kustom. Anda dapat menghitung harga satuan pod dengan menggabungkan harga satuan sumber daya yang digunakan oleh pod.
Setelah Anda mengonfigurasi harga satuan sumber daya kustom, Anda hanya bisa mendapatkan harga satuan pod dengan memanggil Operasi API. Parameter customCost dalam tanggapan menunjukkan harga satuan pod. Untuk informasi lebih lanjut tentang cara memanggil operasi API, lihat Ikhtisar Pemanggilan API untuk Menanyakan Data Biaya.
Prasyarat
Langkah 1: Aktifkan fitur penetapan harga sumber daya kustom cost-exporter
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang ingin Anda kelola dan klik namanya. Di panel navigasi kiri, pilih .
Di bagian atas halaman, pilih kube-system dari daftar drop-down Namespace. Temukan ack-cost-exporter dan pilih More > View in YAML di kolom Actions. Tambahkan
'--enable-custom-price=true'ke parametercommand. Lalu, klik Update.
Langkah 2: Konfigurasikan templat penetapan harga
Prosedur
Buat file bernama price-template.yaml dan salin konten berikut ke file tersebut.
PentingSemua bidang dalam parameter
specbersifat opsional. Jika semua bidang dalam parameterspecsesuai dengan metadata pod, templat berlaku untuk pod tersebut. Jika tidak ada bidang dalam parameterspec, templat berlaku untuk semua pod.Jika beberapa templat sesuai dengan metadata pod, sistem akan memilih templat di bagian atas daftar.
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 di atas menentukan detail berikut:
Pod yang memenuhi semua kondisi berikut menggunakan templat template-nginx untuk penetapan harga sumber daya:
Pod memiliki label
app:nginx.Pod termasuk dalam namespace default atau kube-system.
Permintaan CPU adalah 500 millicores dan batas CPU adalah 1 core CPU.
Permintaan memori adalah 512 MiB dan batas memori adalah 1 GiB.
Pod lainnya menggunakan templat template-default untuk penetapan harga sumber daya.
Tabel berikut menjelaskan parameter dalam templat penetapan harga di atas.
Parameter
Deskripsi
name
Nama templat penetapan harga.
spec.labelSelector
Pemilih label. Jika pod memiliki salah satu label tersebut, pod memenuhi kondisi ini.
spec.namespaceSelector
Pemilih namespace.
spec.resource.cpu
Permintaan CPU pod.
spec.resource.memory
Permintaan memori pod.
spec.resource.cpu-overcommit-ratio
Rasio overcommit CPU, yang sama dengan hasil pembagian batas CPU dengan permintaan CPU.
spec.resource.memory-overcommit-ratio
Rasio overcommit memori, yang sama dengan hasil pembagian batas memori dengan permintaan memori.
spec.price.cpu
Harga satuan CPU pod. Satuan: USD/core-jam.
spec.price.memory
Harga satuan memori pod. Satuan: USD/GiB-jam.
Jalankan perintah berikut untuk membuat ConfigMap price-template di namespace kube-system.
kubectl apply -f price-template.yaml -n kube-system
Referensi
Anda dapat memperkirakan biaya pod berdasarkan watermark sumber daya kluster. Anda dapat menggunakan estimasi biaya sumber daya tunggal (berdasarkan CPU atau memori) atau estimasi biaya sumber daya tertimbang (berdasarkan CPU dan memori). Untuk informasi lebih lanjut, lihat Kebijakan Estimasi Biaya.
Anda dapat mengirim permintaan API HTTP untuk mengambil data wawasan biaya dan menggunakan data tersebut untuk pengembangan kustom. Untuk informasi lebih lanjut, lihat Ikhtisar Pemanggilan API untuk Menanyakan Data Biaya.