Cost APIを呼び出して、ある期間内の名前空間またはポッドの推定リアルタイムコストおよびリソースモニタリングデータを照会できます。
前提条件
「APIを呼び出してコストデータを照会する概要」トピックで説明されている前提条件が満たされています。
コストデータを照会するためのパラメータ
クラスターに接続した後、対応するコマンドを実行してコストデータを照会します。 下表に、各パラメーターを説明します。
パラメーター | 説明 |
ディメンションタイプ | クエリされるコストインサイトデータに基づくディメンション。 デフォルトでは、コストインサイトデータはポッドによって照会されます。 有効な値:
|
ディメンション | コストインサイトデータをフィルタリングするかどうかを指定します。
|
LabelSelector | アプリケーション ( |
TimeUnit | 照会されるコストインサイトデータの時間範囲。 有効な値: |
概要 | このパラメーターを |
コストデータ指標
cpu
: 単位: vCores。gpu
: 単位: カウント。memory
: 単位: KB。perCorePricing
: 現在のポッドまたはクエリされたアプリケーションをホストするノードのvCoresの単価。 中国サイトのリソースの通貨単位は ¥ で、国際サイトのリソースの通貨単位は $です。costRatio
: 現在のポッドまたはクエリされたアプリケーションのコストとクラスターコストの合計の比率。 たとえば、比率が0.2の場合、クラスターコストの20% は現在のポッドまたはクエリされたアプリケーションに費やされます。cost
: 指定された時間範囲内の現在のポッドまたは照会されたアプリケーションのコスト。 中国サイトのリソースの通貨単位は ¥ で、国際サイトのリソースの通貨単位は $です。customCost
: 指定された時間範囲内の現在のポッドまたは照会されたアプリケーションのカスタムコスト。
コストデータを照会するコマンド
例1: 前の1時間以内のクラスター内のすべてのポッドのコストデータの照会
コマンド
kubectl get --raw "/api/v1/namespaces/kube-system/services/ack-metrics-adapter-api-service:8080/proxy/cost"
期待される出力
例2: 前の1時間以内に名前空間内のすべてのポッドのコストデータを照会する
説明
前の1時間以内のデフォルト名前空間内のすべてのポッドのコストデータを照会します。 名前空間名を実際の値に置き換えます。
コマンド
kubectl get --raw "/api/v1/namespaces/kube-system/services/ack-metrics-adapter-api-service:8080/proxy/cost?DimensionType=Namespace&Dimension=default"| jq .
期待される出力
例3: 過去1時間以内のポッドのコストデータの照会
説明
過去1時間以内のnginx-deployment-basic-75d6678cbb-lg8v5という名前のポッドのコストデータを照会します。 ポッド名を実際の値に置き換えます。
コマンド
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 .
期待される出力
例4: LabelSelectorによるコストデータのクエリ
説明
フィルター条件として、LabelSelectorとDimensionTypeの両方を指定できます。 LabelSelectorとDimensionTypeの論理関係はandです。 次の例では、前の1時間以内にapp=sample-app
ラベルを持つすべてのポッドのコストデータを照会します。 アプリケーションラベルを実際の値に置き換えます。
コマンド
kubectl get --raw "/api/v1/namespaces/kube-system/services/ack-metrics-adapter-api-service:8080/proxy/cost?LabelSelector=app=nginx"| jq .
期待される出力
例5: 前日のポッドのコストデータを照会する
説明
前日のnginx-deployment-basic-75d6678cbb-lg8v5という名前のポッドのコストデータを照会します。 ポッド名を実際の値に置き換えます。
コマンド
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 .
期待される出力
例6: 名前空間のコストデータのクエリ
説明
デフォルトの名前空間のコストデータを照会します。 名前空間名を実際の値に置き換えます。
コマンド
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を使用すると、時間範囲をより柔軟に指定し、ポッド、名前空間、ラベル、コントローラー、またはコントローラーの種類ごとにリアルタイムのコストデータをクエリできます。 詳細については、「Cost V2 APIを呼び出してコストデータを照会する」をご参照ください。
Allocation APIを使用すると、会計目的で請求書に基づいてビジネスコストを割り当てることができます。 詳細については、「割り当てAPIを呼び出してコストインサイトデータを照会する」をご参照ください。