このページでは、プロビジョニング不足とオーバープロビジョニングの Google Kubernetes Engine(GKE)クラスタを特定する方法について説明します。GKE は、オーバープロビジョニングされたクラスタやアイドル状態のクラスタなどの費用最適化シナリオ、およびプロビジョニング不足のクラスタなどの信頼性向上シナリオに関する分析情報と推奨事項を提供します。GKE は、クラスタのスケールアップ、スケールダウン、削除に関する対応する推奨事項を提供します。アイドル状態のクラスタについては、アイドル状態の GKE クラスタを特定するをご覧ください。
特定したクラスタについて、スケールアップまたはスケールダウンの推奨事項によってメリットが得られることを確認したら、推奨される変更を加えて費用を節約したり、クラスタの信頼性を向上させたりできます。推奨事項には、可能であれば、予想される月間の削減額または費用が含まれます。詳細については、費用または削減の推定額を確認するをご覧ください。
GKE では、Autopilot クラスタについては、これらの分析情報を提供しません。Autopilot クラスタでは、ワークロードがリクエストしたリソースに対してのみ課金されるため、運用コストは最小限に抑えられます。詳細については、Autopilot の料金をご覧ください。
GKE はクラスタをモニタリングし、使用を最適化するためのガイダンスを Active Assist を通じて提供します。このサービスにより、 Google Cloudでのリソースの使用に関する分析情報と推奨事項を生成する Recommender が提供されます。分析情報と推奨事項を管理する方法については、分析情報と推奨事項で GKE の使用を最適化するをご覧ください。
プロビジョニング不足とオーバープロビジョニングのクラスタに関する分析情報と推奨事項を取得する
GKE では、これらの分析情報と推奨事項が Google Cloud コンソールの次の場所に表示されます。
- [Kubernetes クラスタ] ページの次の場所:
- [Kubernetes クラスタ] リストの該当するクラスタの [通知] 列
- 特定のクラスタの [クラスタ] ページの通知バナー
- FinOps ハブ
[Kubernetes クラスタ] ページに表示される推奨事項のタイトルは次のとおりです。
- オーバープロビジョニングのクラスタ:「クラスタ リソースを減らして費用を削減する」
- プロビジョニング不足のクラスタ:「クラスタ リソースを増やして信頼性を高める」
これらの分析情報と推奨事項は、CLUSTER_UNDERPROVISIONED
サブタイプと CLUSTER_OVERPROVISIONED
サブタイプを使用して、Google Cloud CLI または Recommender API から取得することもできます。
分析情報と推奨事項を表示するの説明に従ってください。
プロビジョニング不足またはオーバープロビジョニングのクラスタを特定したら、クラスタのサイズを適正化する際の考慮事項をご覧ください。
GKE がプロビジョニング不足とオーバープロビジョニングのクラスタを特定する方法
次の表に、スケールアップまたはスケールダウンが可能なプロビジョニング不足またはオーバープロビジョニングのクラスタの特定に GKE が使用するシグナルと各シグナルのしきい値を示します。また、このシナリオで推奨される対応も示します。
サブタイプ | シグナル | 観察期間 | 詳細 | 推奨事項 |
---|---|---|---|---|
CLUSTER_UNDERPROVISIONED |
CPU またはメモリの使用率が高い | 過去 30 日間 | 過去 30 日間の 1 時間あたりの CPU 使用率とメモリ使用率の平均がどちらも 80% を超えている場合、GKE クラスタはプロビジョニング不足の状態です。 | クラスタをスケールアップして信頼性を高める |
CLUSTER_OVERPROVISIONED |
CPU とメモリの使用率が低い | 過去 30 日間 | 過去 30 日間の 1 時間あたりの CPU 使用率とメモリ使用率の平均が 7~20% の場合、GKE クラスタはオーバープロビジョニングの状態です。 | クラスタをスケールダウンして費用を節約する |
作成されてから 30 日経過していないクラスタについては、GKE から推奨事項は送信されません。
費用または削減の推定額を確認する
GKE の推奨事項には、可能であれば、クラスタのサイズを適正化した場合の予想される月間の費用または削減の推定額が含まれます。この推定額は過去 30 日間のクラスタの費用から算出されます。
推定費用または推定削減額は、過去の支出に基づく予測であり、将来の費用や削減を保証するものではありません。
これらの推定額を表示するには、費用情報を取得するために必要な billing.accounts.getSpendingInformation
権限があることを確認してください。詳細については、Cloud Billing へのアクセスをご覧ください。
Namespace やワークロードに基づく詳細な内訳など、すべての GKE クラスタの費用の詳細を確認するには、GKE のリソース割り当てとクラスタの費用に関する主要な費用分析情報を取得するをご覧ください。
GKE クラスタの運用にかかる費用の詳細については、GKE の料金をご覧ください。
クラスタのサイズを適正化する際の考慮事項
クラスタをスケールアップまたはスケールダウンする推奨事項に従う前に、次の点を考慮してください。
- クラスタで実行されているアプリケーションのリソース使用率を確認し、アプリケーションの現在のパフォーマンスについて、CPU とメモリの使用率が想定よりも多いか少ないかを確認します。手順については、リソース リクエストを分析するをご覧ください。
- バッチ処理ワークロードでは、費用対効果を高めるために、クラスタ リソースの使用率が意図的に高くなっていることがあります。クラスタで実行されているバッチジョブに対して十分なクラスタ リソースが割り当てられていれば、プロビジョニング不足として識別された使用率の高いクラスタをスケールアップする必要はありません。
クラスタのサイズを適正化する推奨事項を実装する
リソースの使用状況に合わせてクラスタのサイズを調整する方法については、以下をご覧ください。
プロビジョニング不足のクラスタのサイズを適正化する
プロビジョニング不足のクラスタのサイズを適正化して信頼性のリスクを最小限に抑える推奨事項を実装するには、クラスタのリソースを増やします。これには次のような方法があります。
- クラスタ オートスケーラーとノードの自動プロビジョニングを有効にするか設定を調整して、さらにスケールアップするように設定します。
- ノードの数を増やして、クラスタを水平方向にスケールアップします。手順については、ノード数を変更して水平方向にスケーリングするをご覧ください。
- ノードプールに大きいマシンタイプを選択します。手順については、ノードマシンの属性を変更して垂直方向にスケーリングするをご覧ください。
- クラスタで実行されるアプリケーションの CPU リソースとメモリリソースの使用状況をモニタリングして確認します。アプリケーションをスケールダウンできるかどうかを確認します。リソース使用状況のモニタリングの手順については、リソース リクエストを分析するをご覧ください。
この推奨事項を実装すると、アプリケーション用に適切な量のリソースが確保されるため、クラスタの信頼性が高くなります。
オーバープロビジョニングのクラスタのサイズを適正化する
オーバープロビジョニングのクラスタのサイズを適正化して費用を節約する推奨事項を実装するには、クラスタのリソースを減らします。クラスタの CPU とメモリの割り当てをワークロードのニーズに合わせて調整します。これには次のような方法があります。
- クラスタ オートスケーラーとノードの自動プロビジョニングを調整して、使用率の低いリソースをより積極的にスケールダウンします。
- ノードの数を減らして、クラスタを水平方向にスケールダウンします。手順については、ノード数を変更して水平方向にスケーリングするをご覧ください。
- ノードプールに小さいマシンタイプを選択します。手順については、ノードマシンの属性を変更して垂直方向にスケーリングするをご覧ください。
- クラスタで実行されるアプリケーションの CPU リソースとメモリリソースの使用状況をモニタリングして確認します。アプリケーションをスケールアップできるかどうかを確認します。リソース使用状況のモニタリングの手順については、リソース リクエストを分析するをご覧ください。
この推奨事項を実装すると、クラスタのアプリケーションの実行に必要以上のリソースが使用されなくなります。
次のステップ
- 費用関連の最適化指標を表示する
- オフピーク時に GKE クラスタをスケールダウンしてコストを削減する
- 分析情報と推奨事項で GKE の使用を最適化する
- コストが最適化された Kubernetes アプリケーションを GKE で実行するためのベスト プラクティス
- クラスタの最適化に役立つ GKE の 5 つの機能