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