Agones は、Kubernetes 上で専用ゲームサーバーのホスティング、実行、スケーリングを行うためのオープンソース ライブラリです。Google Kubernetes Engine(GKE)クラスタで Agones の本番環境デプロイを実行する場合、分離と復元性の向上には専用のノードプールで Agones コントローラを実行することがベスト プラクティスです。これは、本番環境のワークロードやコストが最適化されたワークロードに最適です。
GKE はクラスタをモニタリングし、Recommender サービスを使用して、プラットフォームの使用を最適化する方法のガイダンスを提供します。GKE 用の Agones Recommender は、Agones コントローラを分離する必要があるクラスタを識別します。
Recommender からの分析情報と推奨事項を管理する方法については、分析情報と推奨事項で GKE の使用を最適化するをご覧ください。
Agones コントローラを分離できるクラスタを特定する
Agones Recommender からの分析情報で、専用のノードプールで分離する必要がある Agones コントローラを含むクラスタが特定されます。
これらの分析情報を取得するには、AGONES_DEDICATED_NODE_POOL_NEEDED
サブタイプで Google Cloud コンソール、Google Cloud CLI、または Recommender API を使用して分析情報と推奨事項を表示します。
クラスタを特定後は、専用ノードプールの作成に関する推奨事項を実装できます。
GKE Agones Recommender によるクラスタ検出の仕組み
Recommender は、GKE クラスタに対して次の判定基準が正の場合に、分析情報と推奨事項を生成します。
- クラスタで Agones コントローラを実行している。これは、いずれかの Pod に
agones.dev/role:controller
ラベルが設定されているかどうかがで判断されます。 - クラスタには 4 つを超えるノードがある。これは、クラスタが本番環境ワークロードを実行している可能性があることを示します。
- Agones コントローラが Agones 専用ノードで実行されていない。専用ノードプールは、以下のノードラベル
agones.dev/agones-system=true
とノード taintagones.dev/agones-system=true:NoExecute
を持つノードプールと見なされます。
専用のノードプールを作成する推奨事項を実装する
クラスタの分析情報と推奨事項を受信し、Agones コントローラに専用のノードプールを使用する場合は、Agones コントローラをスケジュールできる専用のノードプールを作成する手順に沿って操作します。
Recommender は 1 日に 1 回実行されます。推奨事項のガイダンスを実装してから 24 時間未満の場合は、推奨事項に解決済みのマークを付けることができます。