Dalam kluster Container Service for Kubernetes (ACK), sebuah pod dapat menggunakan beberapa sumber daya cloud, dan satu sumber daya cloud dapat digunakan oleh beberapa pod. Untuk mengalokasikan biaya berdasarkan departemen atau aplikasi, penting untuk menghitung biaya pod dengan mempertimbangkan sumber daya yang digunakan. Guna mendukung kebutuhan estimasi biaya di kluster ACK, suite manajemen biaya dari ACK menyediakan kebijakan estimasi biaya yang diimplementasikan berdasarkan watermark sumber daya.
Pengenalan kebijakan estimasi biaya
Kebijakan | Deskripsi | Skenario |
Estimasi biaya sumber daya tunggal | Memperkirakan biaya berdasarkan CPU atau memori | Kebijakan ini cocok untuk skenario di mana watermark CPU atau memori kluster jauh lebih tinggi daripada yang lainnya. Kebijakan ini juga cocok untuk skenario di mana sebagian besar aplikasi dalam kluster hanya menggunakan satu jenis sumber daya. |
Estimasi biaya sumber daya berbobot | Memperkirakan biaya berdasarkan CPU dan memori sesuai dengan bobot yang direkomendasikan atau bobot kustom. | Kebijakan ini cocok untuk skenario di mana watermark CPU kluster mendekati watermark memori. Kebijakan ini juga cocok untuk skenario di mana aplikasi dalam kluster menggunakan kedua jenis sumber daya. |
Estimasi biaya sumber daya tunggal
Ini adalah kebijakan estimasi biaya default. Jika Anda ingin menghitung biaya kluster berdasarkan watermark sumber daya kluster, disarankan untuk menggunakan kebijakan ini.
Skenario penggunaan
Watermark sumber daya mengacu pada rasio permintaan sumber daya terhadap total sumber daya. Dalam banyak kasus, watermark sumber daya suatu kluster bergantung pada tipe sumber daya yang paling banyak diminta. Oleh karena itu, kebijakan estimasi biaya sumber daya tunggal cocok untuk skenario di mana watermark CPU atau memori kluster jauh lebih tinggi daripada yang lainnya. Dalam skenario ini, sebagian besar aplikasi dalam kluster hanya menggunakan satu jenis sumber daya.
Aplikasi intensif memori seperti aplikasi Java meminta sejumlah besar sumber daya memori dari kluster. Dalam hal ini, biaya memori jauh lebih tinggi daripada biaya CPU. Pasokan sumber daya memori menentukan apakah aplikasi dalam kluster dapat dijadwalkan. Kebijakan estimasi biaya sumber daya tunggal cocok untuk skenario tersebut. Jika watermark memori adalah 90%, biaya memori mencakup 90% dari biaya kluster. Ini berarti bahwa watermark memori sepenuhnya sesuai dengan rasio biaya memori.
Cara kerjanya
Kebijakan ini menghitung biaya CPU atau memori dari sebuah pod.
Menghitung biaya pod
Kebijakan ini menggunakan rumus berikut untuk menghitung biaya CPU atau memori sebuah pod:

Menghitung biaya namespace
Namespace adalah kelompok pod yang memiliki satu atau lebih bidang yang sama. Setelah Anda mendapatkan rasio biaya setiap pod dalam kluster, Anda dapat menghitung biaya namespace dengan mengalikan jumlah rasio biaya setiap pod dalam namespace dengan total pembayaran dalam tagihan kluster.
Biaya namespace dihitung berdasarkan rumus berikut:

Rasio biaya namespace dihitung berdasarkan rumus berikut:

Estimasi biaya sumber daya berbobot
Skenario penggunaan
Jika aplikasi dalam kluster menggunakan kedua jenis sumber daya atau watermark CPU kluster mendekati watermark memori, disarankan untuk menggunakan kebijakan estimasi biaya sumber daya berbobot. Ketika biaya CPU mendekati biaya memori, Anda dapat membandingkan biaya CPU dan biaya memori dengan membandingkan watermark CPU dan watermark memori.
Cara kerjanya
Kebijakan estimasi biaya sumber daya berbobot menghitung biaya pod berdasarkan bobot CPU dan bobot memori pod. Bobot-bobot ini ditentukan oleh watermark CPU dan watermark memori kluster.
Menghitung biaya pod
Berbeda dengan kebijakan estimasi biaya sumber daya tunggal, kebijakan estimasi biaya sumber daya berbobot menghitung biaya pod berdasarkan bobot CPU dan bobot memori pod. Kebijakan ini menggunakan rumus berikut untuk menghitung biaya pod:

Watermark CPU, watermark memori, bobot CPU, dan bobot memori dihitung berdasarkan rumus berikut:
Watermark CPU:

Watermark memori:

Bobot CPU:

Bobot memori:

Contoh
Contoh berikut menunjukkan cara memilih kebijakan estimasi biaya yang sesuai dalam skenario yang berbeda.
Contoh 1: Sebagian besar aplikasi dalam kluster hanya menggunakan satu jenis sumber daya
Pada gambar berikut, dua aplikasi intensif memori diterapkan dalam kluster. Satu aplikasi meminta 1 vCore dan 2 GB memori, dan aplikasi lainnya meminta 1 vCore dan 4 GB memori. Dalam hal ini, watermark memori kluster adalah 90% dan watermark CPU adalah 20%. Anggaplah biaya harian kluster adalah USD 200.
Estimasi biaya sumber daya tunggal:
Jika Anda menghitung biaya memori kluster, biaya pod adalah USD 180 (USD 200 × 90%). Hasilnya mendekati total biaya kluster.
Jika Anda menghitung biaya CPU kluster, biaya pod adalah USD 40 (USD 200 × 20%). Sejumlah besar biaya kluster tidak dialokasikan dan hanya 10% dari memori yang disediakan oleh kluster tersedia untuk penjadwalan pod.
Estimasi biaya sumber daya berbobot:
Bobot memori sekitar 80% dan bobot CPU sekitar 20%. Biaya pod adalah USD 152 (USD 180 × 80% + USD 40 × 20%). USD 28 tidak dialokasikan. Hasilnya lebih rendah daripada hasil ketika Anda menghitung biaya memori.
Hasil menunjukkan bahwa biaya memori mencakup 90% dari biaya kluster ketika kebijakan estimasi biaya sumber daya tunggal digunakan. Oleh karena itu, kebijakan estimasi biaya sumber daya tunggal cocok untuk skenario di mana sebagian besar aplikasi dalam kluster hanya menggunakan satu jenis sumber daya.
Contoh 2: Aplikasi dalam kluster menggunakan kedua jenis sumber daya
Pada gambar berikut, aplikasi intensif memori dan aplikasi intensif CPU diterapkan dalam kluster. Satu aplikasi meminta 1 vCore dan 4 GB memori, dan aplikasi lainnya meminta 4 vCore dan 1 GB memori. Dalam hal ini, watermark CPU kluster adalah 40% dan watermark memori adalah 50%. Anggaplah biaya harian kluster adalah USD 200.
Estimasi biaya sumber daya tunggal:
Jika Anda menghitung biaya memori kluster, biaya pod adalah USD 100 (USD 200 × 50%).
Jika Anda menghitung biaya CPU kluster, biaya pod adalah USD 80 (USD 200 × 40%).
Estimasi biaya sumber daya berbobot:
Bobot memori sekitar 56% dan bobot CPU sekitar 44%. Biaya pod adalah USD 91,2 (USD 100 × 56% + USD 80 × 44%). USD 8,8 tidak dialokasikan. Hasilnya lebih rendah daripada hasil ketika Anda menghitung biaya memori.
Hasil menunjukkan bahwa biaya yang dialokasikan menggunakan kebijakan estimasi biaya sumber daya tunggal (memori) lebih tinggi daripada yang dialokasikan menggunakan kebijakan estimasi biaya sumber daya berbobot. Namun, watermark CPU mendekati watermark memori karena permintaan CPU mendekati permintaan memori. Ini menunjukkan bahwa biaya CPU kluster mendekati biaya memori kluster. Oleh karena itu, kebijakan estimasi biaya sumber daya berbobot cocok untuk skenario di mana aplikasi dalam kluster menggunakan kedua jenis sumber daya.
FAQ
Bagaimana cara mengurangi jumlah biaya yang tidak dialokasikan saat saya menggunakan kebijakan estimasi biaya sumber daya berbobot untuk mengalokasikan biaya kluster?
Penyebab: Saat menggunakan kebijakan estimasi biaya sumber daya berbobot untuk mengalokasikan biaya kluster, sejumlah tertentu biaya mungkin tidak dialokasikan. Hal ini terjadi karena watermark sumber daya yang intensif digunakan oleh kluster jauh lebih tinggi daripada watermark sumber daya lainnya. Jika watermark sumber daya yang intensif digunakan mencapai titik jenuh, sumber daya idle dari jenis lain ada. Misalnya, jika watermark CPU kluster jauh lebih tinggi daripada watermark memori kluster, sumber daya memori idle ada. Dalam hal ini, jika Anda menggunakan kebijakan estimasi biaya sumber daya tunggal untuk mengalokasikan biaya kluster, biaya sumber daya idle juga dapat dialokasikan. Namun, jika Anda menggunakan kebijakan estimasi biaya sumber daya berbobot, biaya sumber daya idle tidak dapat dialokasikan.
Solusi: Pilih tipe instance Elastic Compute Service (ECS) yang tepat berdasarkan permintaan sumber daya beban kerja Anda untuk memastikan bahwa watermark CPU kluster mendekati watermark memori. Atau, Anda dapat menggunakan kebijakan estimasi biaya sumber daya tunggal untuk mengalokasikan biaya kluster.
Referensi
Anda dapat mengirim permintaan HTTP API untuk mengambil data wawasan biaya dan menggunakan data tersebut untuk pengembangan kustom. Untuk informasi lebih lanjut, lihat Ikhtisar pemanggilan API untuk menanyakan data biaya.