Anda dapat memanggil API Alokasi untuk meminta data alokasi biaya kluster, yang digunakan dalam akuntansi selama siklus tata kelola keuangan.
Prasyarat
Pastikan prasyarat yang dijelaskan dalam topik Ikhtisar Memanggil API untuk Meminta Data Biaya telah terpenuhi.
Parameter permintaan dan respons
Sintaks permintaan
GET /v2/allocationParameter permintaan
Parameter | Tipe | Diperlukan | Deskripsi |
window | string | Ya | Rentang waktu yang akan diminta. Output data wawasan biaya harus digunakan bersama dengan data penagihan layanan cloud. Rentang waktu minimum yang dapat diminta adalah 24 jam. Format berikut diterima:
|
filter | string | Tidak | Opsi filter untuk beban kerja. Jenis opsi filter berikut didukung:
Anda dapat menentukan beberapa opsi filter dari jenis yang sama. Pisahkan opsi filter dengan koma (,). Contoh: Anda juga dapat menentukan beberapa jenis opsi filter. Pisahkan jenis opsi filter yang berbeda dengan tanda tambah ( |
step | string | Tidak | Interval yang digunakan untuk membagi rentang waktu. Parameter step menentukan interval set biaya. Contoh: 1h atau 1m. Nilai defaultnya adalah nilai parameter Catatan Set biaya mencakup data biaya objek Kubernetes, seperti pod, dalam interval tersebut. |
aggregate | string | Tidak | Opsi agregat untuk hasil yang dikembalikan dari dimensi yang berbeda. Jenis opsi filter berikut didukung:
|
idle | boolean | Tidak | Menentukan apakah akan menampilkan atau memproses biaya idle. Nilai default: true. |
shareIdle | boolean | Tidak | Menentukan apakah akan mengalokasikan biaya idle ke setiap sumber daya. Nilai default: false. |
shareSplit | string | Tidak | Kebijakan alokasi biaya idle. Jenis opsi filter berikut didukung:
|
idleByNode | boolean | Tidak | Menentukan apakah akan menggabungkan biaya idle setiap node. Parameter ini hanya berlaku jika Anda menetapkan parameter aggregate ke node dan parameter shareIdle ke false. Nilai default: false. |
targetType | string | Tidak | Jenis target alokasi biaya. Secara default, biaya untuk semua sumber daya yang terkait dengan kluster dialokasikan.
|
format | string | Tidak | Format yang digunakan untuk mengekspor biaya. Jenis opsi filter berikut didukung:
|
Parameter respons
Parameter | Tipe | Deskripsi |
properties | object | Properti objek Kubernetes terkait. |
pod | string | Nama pod. |
node | string | Nama node. |
namespace | string | Namespace. |
controllerKind | string | Jenis controller. |
controller | string | Nama controller. |
providerID | string | ID instance Elastic Compute Service (ECS) dari node. |
labels | map[string]string | Label pod. Catatan Prometheus hanya mengizinkan penggunaan garis bawah (_) dalam label. Jika label Anda mengandung simbol, seperti tanda hubung (-) dan titik (.), Prometheus akan mengonversi simbol tersebut menjadi garis bawah (_). |
start | string | Waktu mulai set biaya. |
end | string | Waktu akhir set biaya. |
cpuCoreRequestAverage | float | Jumlah rata-rata vCPU yang diminta. |
cpuCoreUsageAverage | float | Jumlah rata-rata vCPU yang digunakan. |
ramByteRequestAverage | float | Jumlah rata-rata memori yang diminta. |
ramByteUsageAverage | float | Jumlah rata-rata memori yang digunakan. |
cost | float | Biaya yang dialokasikan ke layanan dari total biaya kluster. |
costRatio | float | Rasio biaya yang dialokasikan terhadap total biaya kluster. |
customCost | float | Biaya kustom. |
Meminta data wawasan biaya
Pada bagian ini, curl digunakan untuk mengakses API Kubernetes. Untuk informasi lebih lanjut, lihat Gunakan API Kubernetes.
Contoh: Meminta biaya yang dialokasikan ke DaemonSet dari total biaya kluster hari sebelumnya
Perintah
curl -G -k --cert ./client-cert.pem --key ./client-key.pem \
-d 'window=kemarin' \
-d 'filter=namespace:"kube-system"+controllerKind:"DaemonSet"+label[app]:"terway-eniip"' \
"$APISERVER/api/v1/namespaces/kube-system/services/ack-metrics-adapter-api-service:8080/proxy/v2/allocation" | jq .