すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:Allocation APIを呼び出してコストインサイトデータを照会する

最終更新日:Nov 13, 2024

Allocation APIを呼び出して、クラスターのコスト割り当てデータを照会できます。これは、財務ガバナンスサイクル中の会計に使用できます。

前提条件

APIを呼び出してコストデータを照会する概要」トピックで説明されている前提条件が満たされています。

リクエストとレスポンスのパラメーター

リクエスト構文

GET /v2/allocation

リクエストパラメーター

パラメーター

タイプ

必須

説明

window

String

必須

照会する時間範囲。 コストインサイトデータの出力は、クラウドサービスの課金データとともに使用する必要があります。 照会する最小時間範囲は24時間です。 次の形式が受け入れられます。

  • キーワード。 例: week、month、昨日、lastweek、lastmonth。

  • 例: 24hおよび7d。

  • RFC3339日付: RFC3339形式のコンマ区切りの日付のペア。 例: 2024-03-26T00:00:00Z、2024-03-27T00:00:00Z。

  • UNIX timestamp: コンマ区切りのUNIXタイムスタンプのペア (秒単位) 。 例: 1711382400,1711468800。

filter

String

選択可能

ワークロードのフィルターオプション。 次のタイプのフィルターオプションがサポートされています。

  • namespace

  • controllerName

  • controllerKind (ReplicaSet、DaemonSet、ジョブなど)

  • ポッドの作成

  • ラベル

同じタイプの複数のフィルターオプションを指定できます。 フィルターオプションはコンマ (,) で区切ります。 例: namespace:"default","kube-system"

複数のタイプのフィルターオプションを指定することもできます。 異なるタイプのフィルターオプションをプラス記号 (+) で区切ります。 例: namespace:"default" + label[app]:"nginx"

step

String

選択可能

時間範囲を分割するために使用される間隔。 stepパラメーターは、コストセットの間隔を指定します。 例: 1dまたは1w。 デフォルト値はwindowパラメーターの値です。

説明

コストセットには、間隔内のポッドなどのKubernetesオブジェクトのコストデータが含まれます。

aggregate

String

選択可能

異なるディメンションから返された結果の集計オプション。 次のタイプの集計オプションがサポートされています。

  • namespace

  • コントローラー

  • controllerKind

フォーマット

String

選択可能

照会されたコストの形式。 次のタイプのフォーマットオプションがサポートされています。

  • json (デフォルト値)

  • csv

応答パラメーター

パラメーター

タイプ

説明

properties

object

関連付けられているKubernetesオブジェクトのプロパティ。

ポッドの作成

String

ポッドの名前。

namespace

String

名前空間。

controllerKind

String

コントローラのタイプ。

コントローラー

String

コントローラの名前。

start

String

コストセットの開始時刻。

end

String

コストセットの終了時間。

cpuCoreRequestAverage

float

要求されたvCPUの平均数。

cpuCoreUsageAverage

float

使用中のvCPUの平均数。

ramByteRequestAverage

float

要求されたメモリの平均量。

ramByteUsageAverage

float

使用中のメモリの平均量。

コスト

float

総クラスターコストからサービスに割り当てられたコスト。

costRatio

float

総クラスターコストに対する割り当てられたコストの比率。

customCost

float

カスタムコスト。

コスト洞察データの照会

このセクションでは、curlを使用してKubernetes APIにアクセスします。 詳細については、「Kubernetes APIの使用」をご参照ください。

例: 前日の合計クラスターコストからDaemonSetに割り当てられたコストを照会します

コマンド

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 .

成功応答のサンプル (JSON形式)

サンプルレスポンスの表示

{
  "data": [
    {
      "kube-system/terway-eniip-88286": {
        "name": "kube-system/terway-eniip-88286",
        "properties": {
          "controller": "terway-eniip",
          "controllerKind": "DaemonSet",
          "namespace": "kube-system",
          "pod": "terway-eniip-88286"
        },
        "start": "2024-03-25T00:00:00+08:00",
        "end": "2024-03-26T00:00:00+08:00",
        "cpuCoreRequestAverage": 0.35,
        "cpuCoreUsageAverage": 0.001,
        "ramByteRequestAverage": 209715200,
        "ramByteUsageAverage": 65815511.039,
        "cost": 4.497,
        "costRatio": 0.016,
        "customCost": 0.972
      },
      "kube-system/terway-eniip-j8c87": {
        "name": "kube-system/terway-eniip-j8c87",
        "properties": {
          "controller": "terway-eniip",
          "controllerKind": "DaemonSet",
          "namespace": "kube-system",
          "pod": "terway-eniip-j8c87"
        },
        "start": "2024-03-25T00:00:00+08:00",
        "end": "2024-03-26T00:00:00+08:00",
        "cpuCoreRequestAverage": 0.35,
        "cpuCoreUsageAverage": 0.001,
        "ramByteRequestAverage": 209715200,
        "ramByteUsageAverage": 186293944.32,
        "cost": 6.504,
        "costRatio": 0.023,
        "customCost": 0.972
      },
      "kube-system/terway-eniip-xjsr8": {
        "name": "kube-system/terway-eniip-xjsr8",
        "properties": {
          "controller": "terway-eniip",
          "controllerKind": "DaemonSet",
          "namespace": "kube-system",
          "pod": "terway-eniip-xjsr8"
        },
        "start": "2024-03-25T00:00:00+08:00",
        "end": "2024-03-26T00:00:00+08:00",
        "cpuCoreRequestAverage": 0.35,
        "cpuCoreUsageAverage": 0.001,
        "ramByteRequestAverage": 209715200,
        "ramByteUsageAverage": 53661380.923,
        "cost": 2.337,
        "costRatio": 0.008,
        "customCost": 0.505
      }
    }
  ]
}