您可以通過Allocation API查詢業務分攤到的叢集賬單費用,用於財務治理周期內的業務對賬。
前提條件
已參見通過API擷取成本資料概述完成準備工作。
請求與返回參數
請求文法
GET /v2/allocation
請求參數
欄位 | 類型 | 是否必選 | 描述 |
window | string | 是 | 查詢的期間。由於成本資料需要結合雲產品賬單資料來輸出,所以最小期間為24h。接受以下幾種格式的輸入:
|
filter | string | 否 | 對指定資源類別進行過濾。支援的類別包括:
同一個類別支援指定多個過濾項,使用英文半形逗號(,)分隔,例如 同時,支援多欄位組合過濾,使用 |
step | string | 否 | 對返回結果按時間段切分為多個成本集,step描述單個成本集的期間,例如“1d”、“1w”。如果未指定,預設為 說明 成本集指一個時間段內Kubernetes對象成本的集合,例如一個Pod在期間內的成本集合。 |
aggregate | string | 否 | 對返回結果按照不同維度進行彙總。支援的類別包括:
|
format | string | 否 | 成本匯出格式。支援的類別包括:
|
返回參數
名稱 | 類型 | 描述 |
properties | object | 描述關聯Kubernetes對象的屬性。 |
pod | string | Pod名稱。 |
namespace | string | 命名空間。 |
controllerKind | string | 控制器類型。 |
controller | string | 控制器名稱。 |
start | string | 成本集的開始時間。 |
end | string | 成本集的結束時間。 |
cpuCoreRequestAverage | float | 請求的平均CPU核心數。 |
cpuCoreUsageAverage | float | 使用的平均CPU核心數。 |
ramByteRequestAverage | float | 請求的平均記憶體量。 |
ramByteUsageAverage | float | 使用的平均記憶體量。 |
cost | float | 分攤叢集總賬單的成本。 |
costRatio | float | 成本佔比。描述目前成本占叢集總成本的比例。 |
customCost | float | 自訂成本。 |
擷取成本資料
本小節使用curl命令訪問Kubernetes API。具體操作,請參見使用Kubernetes API。
樣本:擷取某個DsaemonSet昨天分攤叢集賬單的費用
擷取命令
curl -G -k --cert ./client-cert.pem --key ./client-key.pem \
-d 'window=yesterday' \
-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 .