您可以通過Cost API查詢叢集指定命名空間或Pod在指定時間周期內的即時估算成本和資源監控資料。
前提條件
已參見通過API擷取成本資料概述完成準備工作。
成本資料匯出命令
串連叢集後,您可以執行命令擷取成本資料。擷取成本資料的命令參數如下。
參數 | 描述 |
DimensionType | 成本統計維度,預設為叢集下所有Pod。取值:
|
Dimension | 成本篩選值,若填寫即指定請求某個維度值。
|
LabelSelector | 通過應用( |
TimeUnit | 成本資料統計時間。可選值包括 |
Summary | 設定為 |
成本資料指標
cpu
:單位為核。gpu
:單位為卡。memory
:單位為KB。perCorePricing
:當前Pod或所查詢應用所在的節點的單位CPU核的價格,中國站單位為¥,國際站單位為$。costRatio
:當前Pod或所查詢應用占整個叢集成本比例,例如值為0.2時,表明所選應用的成本佔總叢集成本的20%。cost
:當前Pod或所查詢應用在查詢時間範圍內的成本,中國站單位為¥,國際站單位為$。customCost
:當前Pod或所查詢應用在查詢時間範圍內的定價成本。
擷取成本資料命令
樣本一:擷取叢集所有Pod資料最近一小時的成本資料
擷取命令
kubectl get --raw "/api/v1/namespaces/kube-system/services/ack-metrics-adapter-api-service:8080/proxy/cost"
預期輸出
樣本二:擷取某一個命名空間所有Pod的資料最近一小時的成本資料
樣本說明
擷取default命名空間所有Pod最近一小時的成本資料。請替換命名空間取值為實際命名空間名稱。
擷取命令
kubectl get --raw "/api/v1/namespaces/kube-system/services/ack-metrics-adapter-api-service:8080/proxy/cost?DimensionType=Namespace&Dimension=default"| jq .
預期輸出
樣本三:擷取某一個Pod最近一小時的成本資料
樣本說明
擷取名為nginx-deployment-basic-75d6678cbb-lg8v5的Pod的最近一小時的成本資料。請替換Pod名稱為實際的Pod名稱。
擷取命令
kubectl get --raw "/api/v1/namespaces/kube-system/services/ack-metrics-adapter-api-service:8080/proxy/cost?DimensionType=Pod&Dimension=pod=nginx-deployment-basic-75d6678cbb-lg8v5"| jq .
預期輸出
樣本四:通過LabelSelector篩選的方式擷取成本資料
樣本說明
LabelSelector與DimensionType可以同時作為篩選條件使用,兩個條件為“且”的關係。以下樣本為擷取帶有Labelapp=sample-app
的所有Pod的最近一小時的成本資料。請將應用標籤替換為實際標籤。
擷取命令
kubectl get --raw "/api/v1/namespaces/kube-system/services/ack-metrics-adapter-api-service:8080/proxy/cost?LabelSelector=app=nginx"| jq .
預期輸出
樣本五:擷取最近1天的Pod資料
樣本說明
擷取名為nginx-deployment-basic-75d6678cbb-lg8v5的Pod的最近一天的成本資料。請替換Pod名稱為實際Pod名稱。
擷取命令
kubectl get --raw "/api/v1/namespaces/kube-system/services/ack-metrics-adapter-api-service:8080/proxy/cost?DimensionType=Pod&Dimension=pod=nginx-deployment-basic-75d6678cbb-lg8v5&TimeUnit=day"| jq .
預期輸出
樣本六:擷取某一命名空間的成本資料總量
樣本說明
擷取default命名空間的成本資料總量。請替換命名空間名稱為實際命名空間。
擷取命令
kubectl get --raw "/api/v1/namespaces/kube-system/services/ack-metrics-adapter-api-service:8080/proxy/cost?DimensionType=Namespace&Dimension=default&Summary=true"| jq .
預期輸出
相關文檔
Cost V2 API支援設定更靈活的時間範圍,提供Pod、Namespace、Label、Controller、Controller Kind等維度即時估算成本查詢,請參見通過Cost V2 API擷取。
Allocation API結合了賬單資料,提供業務分攤賬單的費用,可用於對賬,請參見通過Allocation API擷取。