第6章 コンピュートセルを使用したデプロイメントのスケーリング

セルを使用して、大規模なデプロイメントのコンピュートノードをグループに分割することができます。それぞれのグループは、メッセージキューおよびインスタンス情報が含まれる専用のデータベースを持ちます。

デフォルトでは、director はすべてのコンピュートノードを単一のセルとしてオーバークラウドをインストールします。この単一セルのデプロイメントには、すべてのインスタンスおよびインスタンスのメタデータが含まれます。大規模なデプロイメントでは、複数のセルでオーバークラウドをデプロイし、多数のコンピュートノードに対応することができます。

マルチセルのデプロイメントでは、それぞれのセルはセル固有のコンポーネントのスタンドアロンコピーを実行し、そのセル内のインスタンスに関するメタデータだけを保管します。グローバルな情報およびセルのマッピングは、グローバルコントローラーセルに保管されます。これにより、セキュリティーおよびセルのいずれかに障害が発生した時の復元性が向上します。

新しいオーバークラウドをインストールする際に、またはその後の任意の時に、セルを環境に追加することができます。

6.1. セルのコンポーネント

単一セルのデプロイメントでは、すべてのコンポーネントが同じセルに含まれます。マルチセルのデプロイメントでは、グローバルなサービスはメインのコントローラーセルで実行され、それぞれのコンピュートセルではセル固有のコンポーネントのスタンドアロンコピーが実行され、各セルにはそのセル内のコンピュートノードのデータベースおよびメッセージキューが含まれます。

グローバルコンポーネント

以下のコンポーネントは、コンピュートセルの数にかかわらず、オーバークラウドごとに一度コントローラーセルにデプロイされます。

Compute API
ユーザーに外部 REST API を提供します。
Scheduler
インスタンスを割り当てるコンピュートノードを決定します。
Placement サービス
Compute リソースを監視し、インスタンスに割り当てます。
API データベース

Compute API および Compute のスケジューラーサービスがインスタンスの場所に関する情報を追跡するのに使用されます。また、ビルドされているがスケジュールされていないインスタンスの一時的な場所を提供します。

マルチセルのデプロイメントでは、このデータベースには各セルのデータベース接続を指定する セルのマッピング も含まれます。

cell0 データベース
スケジュールに失敗したインスタンスに関する情報を保管する専用のデータベース
スーパーコンダクター

マルチセルのデプロイメントでは、このサービスはグローバルなサービスと各コンピュートセル間の調整を行います。また、スケジュールに失敗したインスタンスの情報を cell0 データベースに送信します。

注記

このコンポーネントは、マルチセルのデプロイメントにのみ存在します。

セル固有のコンポーネント

以下のコンポーネントは、それぞれのコンピュートセルにデプロイされます。

セルデータベース
インスタンスに関するほとんどの情報が含まれます。グローバル API、コンダクター、および Compute サービスによって使用されます。
コンダクター
データベースのクエリーおよび長時間実行されているグローバルなサービスからのタスクの調整を行い、コンピュートノードをデータベースへの直接アクセスから隔離します。
メッセージキュー
セル内の各サービス間の通信、およびグローバルなサービスとの通信のために、すべてのサービスによって使用されるメッセージングサービス

設定ファイル

オーバークラウドには、コンピュートセルに関する以下の情報を定義する設定ファイルが含まれます。

  • [DEFAULT]/transport_url: 各セルのメッセージキューエンドポイント
  • [DATABASE]/connection: 各セルのデータベース接続
  • [API_DATABASE]/connection: グローバルコンポーネントのルーティングおよび配置情報
  • (マルチセルのデプロイメントのみ) グローバル API データベースに保管されるセルマッピングのレコード

この情報は、「マルチセルオーバークラウドのデプロイ」 に記載のマルチセル環境をデプロイする際にオーバークラウドから抽出されます。