プロビジョニング不足とオーバープロビジョニングのワークロードを特定する

このドキュメントでは、分析情報と推奨事項を使用して、Google Kubernetes Engine(GKE)クラスタで実行されているプロビジョニング不足とオーバープロビジョニングのワークロードを特定する方法について説明します。特定したワークロードについて、スケールアップまたはスケールダウンの推奨事項によってメリットが得られることを確認すれば、推奨される変更による費用の節減やワークロードの信頼性向上などが望めます。推奨事項には、可能であれば、予想される月間の削減額または費用が含まれます。詳細については、費用または削減の推定額を確認するをご覧ください。

GKE は、Autopilot クラスタと Standard クラスタの両方で実行されているワークロードに関する分析情報を提供します。GKE は、クラスタ全体に対しても同様の推奨事項を提供します。詳細については、プロビジョニング不足とオーバープロビジョニングの GKE クラスタを特定するをご覧ください。

GKE はクラスタをモニタリングし、使用を最適化するためのガイダンスを Active Assist を通じて提供します。このサービスにより、 Google Cloudでのリソースの使用に関する分析情報と推奨事項を生成する Recommender が提供されます。分析情報と推奨事項を管理する方法については、分析情報と推奨事項で GKE の使用を最適化するをご覧ください。

プロビジョニング不足とオーバープロビジョニングのワークロードに関する分析情報と推奨事項を取得する

GKE では、次のセクションで説明する特定の動作をモニタリングした後、これらの分析情報と推奨事項が Google Cloud コンソールの次の場所に表示されます。

[ワークロード] ページに表示される推奨事項のタイトルは次のとおりです。

  • オーバープロビジョニングされたワークロード: 「リソース リクエストを減らして費用を削減する」
  • プロビジョニング不足のワークロード: 「リソース リクエストを増やして信頼性を高める」

すべてのタイプの分析情報と推奨事項は、Google Cloud CLI または Recommender API から取得することもできます。これらのタイプを特定するには、分析情報と推奨事項を表示する手順に沿って操作し、WORKLOAD_UNDERPROVISIONED サブタイプと WORKLOAD_OVERPROVISIONED サブタイプを使用してフィルタします。

プロビジョニング不足またはオーバープロビジョニングのワークロードを特定したら、ワークロードのサイズを適正化する際の考慮事項をご覧ください。

GKE がプロビジョニング不足とオーバープロビジョニングのワークロードを特定する方法

次の表に、スケールアップまたはスケールダウンが可能なプロビジョニング不足またはオーバープロビジョニングのワークロードの特定に GKE が使用するシグナルと各シグナルのしきい値を示します。また、このシナリオで推奨される対応も示します。

サブタイプ シグナル 観察期間 詳細 推奨事項
WORKLOAD_UNDERPROVISIONED CPU またはメモリの使用量が大きい 過去 15 日間 過去 15 日間の CPU 使用率またはメモリ使用率が 150% を超える時間が 10% 以上ある場合、ワークロードはプロビジョニング不足の状態です。 ワークロードをスケールアップして信頼性を高める
WORKLOAD_OVERPROVISIONED CPU またはメモリの使用量が少ない 過去 15 日間 ワークロードは、過去 15 日間の 90% 以上の時間で CPU またはメモリの使用率が 50% 未満の場合、オーバープロビジョニングされています。 ワークロードをスケールダウンして費用を節約する

GKE は、次のガイドラインを使用して、分析情報と推奨事項を提供するタイミングを判断します。

  • この指標を使用すると干渉が発生する可能性があるため、GKE は水平 Pod 自動スケーリング(HPA)の目標指標の推奨事項を生成しません。
  • 垂直 Pod 自動スケーリング(VPA)が有効になっている場合、リクエスト値は自動的に管理されるため、GKE は推奨事項を生成する必要がありません。
  • GKE は、新しいワークロードの推奨事項を生成するまでに最大 3 日間待機することがあります。

費用または削減の推定額を確認する

GKE の推奨事項には、可能であれば、ワークロードのサイズを適正化した場合の予想される月間の費用または削減の推定額が含まれます。この推定額は、過去 30 日間のワークロードの CPU とメモリの費用と組み合わされたリクエスト値の加重平均に基づいて、ワークロードの費用から算出されます。

推定費用または推定削減額は、過去の支出に基づく予測であり、将来の費用や削減を保証するものではありません。

これらの見積もりを表示するには、次の条件を満たしていることを確認します。

  • 支出情報を取得するために必要な billing.accounts.getSpendingInformation 権限が付与されている。詳細については、Cloud Billing へのアクセスをご覧ください。
  • クラスタで GKE の費用の割り当てが有効になっている。詳細については、GKE の費用配分を有効にするをご覧ください。

Namespace やワークロードに基づく詳細な内訳など、すべての GKE クラスタの費用の詳細については、GKE のリソース割り当てとクラスタの費用に関する主要な費用分析情報を取得するをご覧ください。

GKE クラスタの運用にかかる費用の詳細については、GKE の料金をご覧ください。

ワークロードのサイズを適正化する際の考慮事項

ワークロードをスケールアップまたはスケールダウンする推奨事項に従う前に、次の点を考慮してください。

  • ワークロードのリソース使用率を確認し、ワークロードの現在のパフォーマンスについて、CPU とメモリの使用率が想定よりも多いか少ないかを確認します。手順については、リソース リクエストを分析するをご覧ください。
  • バッチ処理ワークロードでは、費用対効果を高めるために、使用率が意図的に高くなっていることがあります。割り当てられたリソースがバッチジョブに十分であれば、プロビジョニング不足として識別された使用率の高いワークロードをスケールアップする必要はありません。
  • GKE では、Java 仮想マシン(JVM)ベースのワークロードの実際のメモリ使用量の可視性が制限されています。このタイプのワークロードの推奨事項を適用する前に、十分に検討してください。

ワークロードのサイズを適正化する推奨事項を実装する

ワークロードのサイズを調整して、ワークロードのリソース使用率をより適切に一致させるには、次のいずれかを行います。

  • ワークロードの垂直 Pod 自動スケーリングを有効にします。詳細については、Pod リソース リクエストを自動的に設定するをご覧ください。
  • 推奨事項に従って、リクエストと上限を手動で変更します。

    • プロビジョニング不足のワークロード: プロビジョニング不足のワークロードのサイズを適正化する推奨事項を実装するには、ワークロードのリソース リクエストと上限を増やします。この推奨事項を実装すると、アプリケーション用に適切な量のリソースが確保されるため、ワークロードの信頼性が高くなります。
    • オーバープロビジョニングのワークロード: オーバープロビジョニングのワークロードのサイズを適正化する推奨事項を実装するには、ワークロードのリソース リクエストと上限を減らします。クラスタの CPU とメモリの割り当てをワークロードのニーズに合わせて調整します。この推奨事項を実装すると、ワークロードの実行に必要なリソースのみを使用できます。

次のステップ