フリートのリソース使用率の指標

このページでは、フリートとチームのリソース使用率の指標について詳しく説明します。またそのために、これらの指標の計算方法と、これらの指標を使用してリソースの使用量を最適化する方法を紹介します。

これらの指標は次のダッシュボードで確認できます。

これらの指標は、物理的に利用可能な有料のリソースや、オンプレミス ハードウェアに割り当てたリソースを、クラスタがどの程度効果的に使用しているかを示します。この情報を使用して、フリートまたはチームのスコープレベルで大規模に、リソース使用率の有効性を把握できます。これにより、クラスタと名前空間にまたがって、クラスタサイズとリソース割り当てを最適化できます。また、アプリケーション チームがリソースをリクエストして予約する方法を最適化できます。

リソース使用率の指標を使用する

次のヒントは、コンソールで指標を使用して問題を特定し対処するために役立ちます。

  • フリートの合計 CPU / メモリ / ディスク使用率で、過去 7 日間に予想以上に高いまたは低い使用率が示されている場合は、対応するフリート別の CPU / メモリ / ディスク使用率のグラフを必ず確認して、予期しない使用率が一定なのかどうかや、使用量の急増が原因なのかどうかを評価してください。
  • クラスタ別の 上位の CPU / メモリ / ディスク使用率で、他のクラスタと異なる動作をしている個々のクラスタが示されている場合は、それらの特定のクラスタをより詳細に調査することを検討してください。可能であれば、クラスタのサイズ変更を検討してください。
  • 名前空間別の上位の CPU / メモリ / ディスク使用率で、過去 7 日間に予期しない使用量の急上昇が見られた場合は、特定のワークロードが急増の原因となっているかどうかを調査することを検討してください。考えられる解決策は、ワークロードをリソース間で再分配することです。
  • フリート別の CPU / メモリ / ディスク使用率では、使用されたリソースとリクエストされたリソースの比率を確認できます。この 2 つの差が大きい場合、アプリケーション チームがリクエストや予約を行っているリソースが多すぎる可能性があります。

リソース使用率の指標について

以下の指標は、GKE Enterprise、フリート、チームスコープの概要のダッシュボードで提供され、フリート クラスタの Cloud Monitoring からの情報を使用して計算されます。

フリートレベルの指標は、GKE Enterprise とフリートの概要のダッシュボードに表示できます。チームレベルの指標は、GKE Enterprise とチームの概要のダッシュボードで使用できます。

CPU 指標

  • 合計 CPU 使用率:
    • フリートレベルの指標の場合、特定の時間枠におけるすべての段階の平均値です。ここで、段階とは、フリートに登録されているすべてのクラスタにわたる、割り当て可能リソースと使用済みリソースの比率のことです。
      • 割り当て可能: フリートに登録されているすべてのクラスタにわたるすべてのノードに割り当てられている CPU の量。node/cpu/allocatable_cores 指標から計算されます。
      • 使用済み: フリートに登録されているすべてのクラスタにわたるすべてのコンテナで使用されている CPU の量。container/cpu/core_usage_time 指標から計算されます。
    • チームのモニタリング ダッシュボードの場合、特定の時間枠におけるすべての段階の平均値です。ここで、段階とは、チームスコープに関連付けられたすべての名前空間にわたる、リクエスト済みリソースと使用済みリソースの比率のことです。
      • リクエスト済み: チームスコープに関連付けられたすべての名前空間にわたるすべてのコンテナによってリクエストされた CPU の量。 container/cpu/request_cores 指標から計算されます。
      • 使用済み: チームスコープに関連付けられたすべての名前空間にわたるすべてのコンテナで使用されている CPU の量。container/cpu/core_usage_time 指標から計算されます。
  • フリート / チーム別の CPU 使用率:
    • フリートレベルでは、使用済みリソース、リクエスト済みリソース、割り当て済みリソースの関係。
      • 使用済み: フリートに登録されているすべてのクラスタにわたるすべてのコンテナで使用されている CPU の量。container/cpu/core_usage_time 指標から計算されます。
      • リクエスト済み: フリートに登録されているすべてのクラスタにわたるすべてのコンテナによってリクエストされた CPU の量。container/cpu/request_cores 指標から計算されます。
      • 割り当て可能: フリートに登録されているすべてのクラスタにわたるすべてのノードに割り当てられている CPU の量。node/cpu/allocatable_cores 指標から計算されます。
    • チームレベルでは、リソース上限と、使用済みおよびリクエスト済みリソースの関係。
      • 使用済み: チームスコープに関連付けられたすべての名前空間にわたるすべてのコンテナで使用されている CPU の量。container/cpu/core_usage_time 指標から計算されます。
      • リクエスト済み: チームスコープに関連付けられたすべての名前空間にわたるすべてのコンテナによってリクエストされた CPU の量。 container/cpu/request_cores 指標から計算されます。
      • 上限: チームスコープに関連付けられているすべての名前空間にわたるすべてのコンテナで使用できる CPU の最大量。 container/cpu/limit_cores 指標から計算されます。
  • クラスタ別の上位の CPU 使用率: 特定の時間枠におけるすべての段階の平均値順に並べられたクラスタリスト。ここで、段階とは、特定のクラスタの割り当て可能リソースと使用済みリソースの比率のことです。
    • 割り当て可能: クラスタ内のすべてのノードに割り当てられた CPU の量。node/cpu/allocatable_cores 指標から計算されます。
    • 使用済み: クラスタ内のすべてのコンテナによって使用されている CPU の量。 container/cpu/core_usage_time 指標から計算されます。
  • 名前空間別の上位の CPU 使用率: 特定の時間枠におけるすべての段階の平均値順に並べられた名前空間リスト。ここで、段階とは、特定の名前空間の使用済みリソースとリクエスト済みリソースの比率のことです。
    • 使用済み: 名前空間内のすべてのコンテナによって使用されている CPU の量。 container/cpu/core_usage_time 指標から計算されます。
    • リクエスト済み: 名前空間内のすべてのコンテナによってリクエストされた CPU の量。container/cpu/request_cores 指標から計算されます。

メモリ指標

  • 合計メモリ使用率:
    • フリートレベルの指標の場合、特定の時間枠におけるすべての段階の平均値を指します。ここで、段階とは、フリートに属するすべてのクラスタにわたる、割り当て済みリソースと使用済みリソースの比率のことです。
      • 割り当て可能: フリートに登録されているすべてのクラスタにわたるすべてのノードに割り当てられているメモリの量。node/memory/allocatable_byte 指標から計算されます。
      • 使用済み: フリートに属するすべてのクラスタにわたるすべてのコンテナで使用されている強制排除不可メモリの量。 container/memory/used_bytes 指標から計算されます。
    • チームレベルの指標の場合、特定の時間枠におけるすべての段階の平均値を指します。ここで、段階とは、チームスコープに属するすべての名前空間にわたる、リクエスト済みリソースと使用済みリソースの比率のことです。
      • リクエスト済み: スコープに関連付けられているすべての名前空間にわたるすべてのコンテナによってリクエストされたメモリの量。 container/memory/request_bytes 指標から計算されます。
      • 使用済み: スコープに関連付けられているすべての名前空間にわたるすべてのコンテナで使用されている強制排除不可メモリの量。container/memory/used_bytes 指標から計算されます。
  • フリート / チーム別のメモリ使用率:
    • フリートレベルでは、使用済みリソース、リクエスト済みリソース、割り当て済みリソースの関係。
      • 使用済み: フリートに属するすべてのクラスタにわたるすべてのコンテナで使用されている強制排除不可メモリの量。 container/memory/used_bytes 指標から計算されます。
      • リクエスト済み: フリートに登録されているすべてのクラスタにわたるすべてのコンテナによってリクエストされたメモリの量。container/memory/request_bytes 指標から計算されます。
      • 割り当て可能: フリートに登録されているすべてのクラスタにわたるすべてのノードに割り当てられているメモリの量。node/memory/allocatable_byte 指標から計算されます。
    • チームレベルでは、リソース上限と、使用済みおよびリクエスト済みリソースの関係。
      • 使用済み: スコープに関連付けられているすべての名前空間にわたるすべてのコンテナで使用されている強制排除不可メモリの量。container/memory/used_bytes 指標から計算されます。
      • リクエスト済み: スコープに関連付けられているすべての名前空間にわたるすべてのコンテナによってリクエストされたメモリの量。 container/memory/request_bytes 指標から計算されます。
      • 上限: チームスコープに関連付けられているすべての名前空間にわたるすべてのコンテナで使用できるメモリの最大量。container/memory/limit_bytes 指標から計算されます。
  • クラスタ別の上位のメモリ使用率: 特定の時間枠におけるすべての段階の平均値順に並べられたクラスタリスト。ここで、段階とは、特定のクラスタの割り当て可能リソースと使用済みリソースの比率のことです。
    • 割り当て可能: クラスタ内のすべてのノードに割り当てられたメモリの量。node/memory/allocatable_byte 指標から計算されます。
    • 使用済み: クラスタ内のすべてのコンテナで使用されている強制排除不可メモリの量。container/memory/used_bytes 指標から計算されます。
  • 名前空間別の上位のメモリ使用率: 特定の時間枠におけるすべての段階の平均値順に並べられた名前空間リスト。ここで、段階とは、特定の名前空間の使用済みリソースとリクエスト済みリソースの比率のことです。
    • 使用済み: 名前空間内のすべてのコンテナで使用されている強制排除不可メモリの量。container/memory/used_bytes 指標から計算されます。
    • リクエスト済み: 名前空間内のすべてのコンテナによってリクエストされたメモリの量。container/memory/request_bytes 指標から計算されます。

ディスク指標

  • 合計ディスク使用率:
    • フリートレベルの指標の場合、特定の時間枠におけるすべての段階の平均値を指します。ここで、段階とは、フリートに属するすべてのクラスタにわたる、割り当て済みリソースと使用済みリソースの比率のことです。
      • 割り当て可能: フリートに登録されているすべてのクラスタにわたるすべてのノードに割り当てられているローカル エフェメラル ストレージの量。 node/ephemeral_storage/allocatable_bytes 指標から計算されます。
      • 使用済み: フリートに登録されているすべてのクラスタにわたるすべてのコンテナで使用されているローカル エフェメラル ストレージの量。 container/ephemeral_storage/used_bytes 指標から計算されます。
    • チームレベルの指標の場合、特定の時間枠におけるすべての段階の平均値を指します。ここで、段階とは、チームスコープに属するすべての名前空間にわたる、リクエスト済みリソースと使用済みリソースの比率のことです。
      • リクエスト済み: スコープに関連付けられているすべての名前空間にわたるすべてのコンテナによってリクエストされているローカル エフェメラル ストレージの量。container/ephemeral_storage/request_bytes 指標から計算されます。
      • 使用済み: スコープに関連付けられているすべての名前空間にわたるすべてのコンテナで使用されているローカル エフェメラル ストレージの量。container/ephemeral_storage/used_bytes 指標から計算されます。
  • フリート / チーム別のディスク使用率:
    • フリートレベルでは、使用済みリソース、リクエスト済みリソース、割り当て済みリソースの関係。
      • 使用済み: フリートに登録されているすべてのクラスタにわたるすべてのコンテナで使用されているローカル エフェメラル ストレージの量。 container/ephemeral_storage/used_bytes 指標から計算されます。
      • リクエスト済み: フリートに登録されているすべてのクラスタにわたるすべてのコンテナによってリクエストされているローカル エフェメラル ストレージの量。container/ephemeral_storage/request_bytes 指標から計算されます。
      • 割り当て可能: フリートに登録されているすべてのクラスタにわたるすべてのノードに割り当てられているローカル エフェメラル ストレージの量。 node/ephemeral_storage/allocatable_bytes 指標から計算されます。
    • チームレベルでは、リソース上限と、使用済みおよびリクエスト済みリソースの関係。
      • 使用済み: スコープに関連付けられているすべての名前空間にわたるすべてのコンテナで使用されているローカル エフェメラル ストレージの量。container/ephemeral_storage/used_bytes 指標から計算されます。
      • リクエスト済み: スコープに関連付けられているすべての名前空間にわたるすべてのコンテナによってリクエストされているローカル エフェメラル ストレージの量。container/ephemeral_storage/request_bytes 指標から計算されます。
      • 上限: スコープに関連付けられているすべての名前空間にわたるすべてのコンテナで使用できるローカル エフェメラル ストレージの最大量。container/ephemeral_storage/limit_bytes 指標から計算されます。
  • クラスタ別の上位のディスク使用率: 特定の時間枠におけるすべての段階の平均値順に並べられたクラスタリスト。ここで、段階とは、特定のクラスタの割り当て可能リソースと使用済みリソースの比率のことです。
    • 割り当て可能: クラスタ内のすべてのノードに割り当てられているローカル エフェメラル ストレージの量。node/ephemeral_storage/allocatable_bytes 指標から計算されます。
    • 使用済み: クラスタ内のすべてのコンテナによって使用されているローカル エフェメラル ストレージの量。container/ephemeral_storage/used_bytes 指標から計算されます。
  • 名前空間別の上位のディスク使用率: 特定の時間枠におけるすべての段階の平均値順に並べられた名前空間リスト。ここで、段階とは、特定の名前空間の使用済みリソースとリクエスト済みリソースの比率のことです。
    • 使用済み: 名前空間内のすべてのコンテナによって使用されているローカル エフェメラル ストレージの量。container/ephemeral_storage/used_bytes 指標から計算されます。
    • リクエスト済み: 名前空間内のすべてのコンテナによってリクエストされているローカル エフェメラル ストレージの量。container/ephemeral_storage/request_bytes 指標から計算されます。

名前空間別のエラー分布(チームレベルのみ)

特定の時間枠について、エラーログの多い順に並べられた名前空間リスト。ログは Cloud Logging から収集されます。

名前空間別の再起動回数の分布(チームレベルのみ)

特定の時間枠について、コンテナの再起動回数の多い順に並べられた名前空間リスト。container/restart_count 指標から計算されます。

トラブルシューティング

新しいクラスタの指標を読み込めない

新しいクラスタを作成した場合、選択した時間枠によっては、モニタリング ダッシュボード全体に No Data が表示されたり、指標が表示されたりすることがあります。たとえば、過去 1 時間内にクラスタを作成し、1 時間または 6 時間の時間枠を選択した場合、ダッシュボードがワークロードの一部の指標を返すことがあります。しかし、1 日以上の時間枠を選択した場合、ダッシュボード全体に No data が表示されることがあります。

これは、Cloud Monitoring が時間枠ごとに異なる期間(間隔)でデータを収集するためです。時間枠が 1 時間6 時間の場合、データは 1 分間隔で収集されます。そのため、クラスタが数分間存在する場合は、これらの時間枠の指標が表示されます。

時間枠が 1 日1 週間の場合、Cloud Monitoring は 1 時間間隔でデータを収集します。クラスタの存在が 1 時間未満の場合、これらの時間枠のデータは表示されません。

このエラーが発生した場合は、新しいクラスタの作成からさらに時間が経過した後で、ダッシュボードを確認してください。