IBM Spectrum Symphony と Google Cloud を統合する

このドキュメントでは、Symphony Connectors for Google Cloudを使用する場合に適用される要件と制限事項について説明します。

Google Cloud 用の IBM Spectrum Symphony コネクタを使用すると、 Google Cloud から Symphony クラスタにコンピューティング リソースを追加できます。ハイ パフォーマンス コンピューティング(HPC)ワークロードで既存のインフラストラクチャが提供する容量を超える容量が必要な場合、コネクタを使用すると、Symphony のホスト ファクトリー サービスで、Compute Engine 仮想マシン(VM)インスタンスまたは Google Kubernetes Engine(GKE)の Pod を自動的にプロビジョニングできます。このアプローチにより、HPC ワークロードのピーク時の需要を満たすために、Symphony 環境を Google Cloud にスケーリングできます。

Google Cloud向け Symphony コネクタを使用するケース

Google Cloud 向け Symphony コネクタは、Symphony のホスト ファクトリー サービスと Google Cloudを統合し、Symphony クラスタで Google Cloudリソースを使用できるようにします。次のような状況でGoogle Cloud 向け Symphony コネクタを使用します。

  • クラウド バースト機能: オンプレミス環境のクラスタ リソースが不足したときに、Symphony のワークロードを Google Cloud に動的にスケーリングして、追加のコンピューティング リソースを利用できるようにします。 Google Cloud向け Symphony Connector は、既存の Symphony ジョブ スケジューリングと連携して、必要に応じてリソースのプロビジョニングを自動化します。

  • ハイブリッド クラウド デプロイ: オンプレミスと Google Cloud インフラストラクチャの両方で Symphony ワークロードを実行している場合は、このソリューションを使用することで、Symphony のホスト ファクトリー フレームワークを通じてリソース管理を一元化できます。このアプローチにより、オンプレミスと Google Cloud リソースを単一のインターフェースから管理できるため、ジョブの送信、モニタリング、リソース管理が簡素化されます。

  • 費用の最適化: Google Cloudの柔軟なインスタンス タイプと料金モデル(Spot VM(プリエンプティブル VM)など)を使用して、コストに敏感なワークロードを実行します。

  • 開発とテスト: 開発やテストのワークフロー向けに一時的なコンピューティング リソースをプロビジョニングする場合は、 Google Cloud向け Symphony コネクタを使うことで、環境の作成や削除をすばやく行えます。また、自動的なリソースのクリーンアップ機能により、コストを最適化できます。

  • 統合管理: Symphony で使用される GKE Pod と Compute Engine インスタンスの両方を一貫した方法で管理できるように、ホスト ファクトリーを使用して統一的なインターフェースを作成します。

  • シームレスなエンタープライズ統合: このソリューションを使用することで、大きなアーキテクチャ変更を行うことなく、既存の Symphony のデプロイを Google Cloud へ拡張できます。

Google Cloud 向け Symphony コネクタの仕組み

Google Cloud 向け Symphony コネクタは、Google Cloud をホスト ファクトリー サービスのプロバイダにするために必要なコンポーネントを提供します。

次の図は、Google Cloud向け Symphony コネクタのアーキテクチャを示したものです。

IBM Spectrum Symphony 環境、 Google Cloud ホスト ファクトリ プロバイダ レイヤ、Compute Engine や GKE などの Google Cloud サービス間のやり取りを示すアーキテクチャ図。

このアーキテクチャには、IBM Spectrum Symphony 環境、 Google Cloud ホスト ファクトリ プロバイダ レイヤ、 Google Cloud サービスという 3 つの主要なグループが含まれています。Symphony 環境には、ホスト ファクトリーとプロバイダのスクリプトが含まれています。このアーキテクチャでは、リクエストを変換するために Google Cloud ホスト ファクトリー プロバイダの CLI ツールレイヤを使用します。これにより、Symphony のスクリプトが Compute Engine リソースや、 GKE 上で動作している Kubernetes オペレータを制御できるようになります。

以降のセクションでは、 Google Cloud向け Symphony コネクタの主なコンポーネントについて説明します。

IBM Spectrum Symphony ホスト ファクトリー

ワークロードの需要に基づいて、さまざまなプロバイダのコンピューティング ホストのライフサイクルを管理する IBM Spectrum Symphony サービス。この Symphony コンポーネントは、 Google Cloud が連携するソフトウェアです。

プロバイダ スクリプト

Symphony ホスト ファクトリー サービスは、クラウド プロバイダと連携するために一連のシェル スクリプトを使用します。これらのスクリプトは、リソースをリクエストして返します。

デフォルトでは、Symphony には Google Cloud用のホスト ファクトリー プロバイダは含まれていません。

Google Cloud ホスト ファクトリー プロバイダにより、Symphony のホスト ファクトリー フレームワークが Google Cloudと通信できるようになります。

次の表に、 Google Cloud 向け Symphony コネクタで使用されるスクリプトを示します。

名前 説明 IBM のドキュメント
getAvailableTemplates.sh プロバイダ構成で定義されている使用可能なリソース テンプレートを取得します。ホスト ファクトリーは、どの種類のリソースを要求できるかを知るために getAvailableTemplates.sh を呼び出します。 getAvailableTemplates
requestMachines.sh Google Cloudから新しいコンピューティング リソースをプロビジョニングします。テンプレートと数量を指定する JSON ペイロードを受け取ります。 requestMachines
requestReturnMachines.sh ホスト ファクトリーは、Symphony クラスタで使用されていたコンピューティング リソースのプロビジョニングを解除します。その際、返すべきマシンを特定する JSON ペイロードを受け取ります。 requestReturnMachines
getRequestStatus.sh ホスト ファクトリーは、requestMachines.sh によって開始された進行中のプロビジョニング リクエストのステータスをポーリングします。リクエスト ID を含む JSON ペイロードを受け取ります。 getRequestStatus
getReturnRequests.sh ホスト ファクトリーは、requestReturnMachines.sh によって開始された進行中のプロビジョニング解除リクエストのステータスをポーリングします。その際、リクエスト ID を含む JSON ペイロードを受け取ります。 getReturnRequests

Google Cloud ホスト ファクトリー プロバイダ

Google Cloud ホスト ファクトリー プロバイダは、IBM Spectrum Symphony のホスト ファクトリー フレームワークを Google Cloudに接続します。このプラグインには、Symphony が次のワークロードのリソースをリクエストして管理する際に呼び出すコマンドライン インターフェース(CLI)ツール(プロバイダ)が含まれています。

  • Compute Engine の場合は、Compute Engine プロバイダを使用します。

  • GKE ワークロードの場合は、GKE プロバイダを使用します。GKE ワークロードの場合は、追加の Kubernetes オペレーターをインストールする必要があります。このオペレーターは GKE クラスタ内で実行され、GKE プロバイダを使用してリクエストされた IBM Spectrum Symphony コンピューティング Pod のライフサイクルを管理します。

CLI ツールは Python モジュールであるため、Python インタープリタを使用して手動で実行することもできます。詳細については、GitHub の Python からの実行をご覧ください。

Compute Engine プロバイダ

Compute Engine プロバイダ(hf-gce)は、Symphony のホスト ファクトリーを Compute Engine と統合するために設計された CLI ツールです。Compute Engine プロバイダをインストールした後は、Symphony のホスト ファクトリー内で構成を行う必要があります。この構成が完了すると、ホスト ファクトリーは hf-gce CLI を使用するスクリプトを自動的に呼び出します。

Compute Engine プロバイダは、Symphony の要求やプロバイダ インスタンスおよびテンプレートで定義された構成に基づいて VM インスタンスのライフサイクルを管理するために、Google Compute Engine API と直接やり取りを行います。プロバイダは、Compute Engine VM を作成、モニタリング、終了し、これらの VM はコンピューティング ノードとして Symphony クラスタに参加します。

GKE プロバイダ

GKE プロバイダ(hf-gke)は、Symphony のホスト ファクトリー サービスと GKE を接続する CLI ツールです。ホスト ファクトリーは hf-gke CLI を呼び出すスクリプトを使用します。

GKE プロバイダは、GKE クラスタの API と連携して、カスタム リソース(特に GCPSymphonyResource リソースと MachineReturnRequest リソース)を作成、クエリ、削除します。

GKE クラスタ内で実行されている Kubernetes オペレーターは、これらのカスタム リソースに基づいて Pod ライフサイクル管理を処理します。GKE プロバイダは、Symphony のリソース リクエストを Kubernetes カスタム リソースベースのオーケストレーションに接続します。

Google Cloud サービスの統合

Compute Engine と GKE に接続できます。Compute Engine 接続用の追加コンポーネントはありません。GKE 接続には、Kubernetes オペレーターが存在します。

Kubernetes オペレーター

このオペレーターは、GKE プロバイダを使用して実行する GKE ワークロードにのみ必要です。このオペレーターは GKE クラスタ内で実行され、GKE プロバイダを使用してリクエストされた Symphony コンピューティング Pod のライフサイクルを管理します。GKE オペレータには次の機能があります。

  • 非同期オペレーション: 高性能な非同期処理に対応しており、大規模な展開に適しています。
  • プリエンプションの処理: Spot VM のプリエンプションを自動で検出、管理します。
  • カスタム リソース定義: GCPSymphonyResourceMachineReturnRequest のカスタム リソースを使用してリソースを管理します。
  • リソースのクリーンアップ: 完了したリソースのクリーンアップを自動化し、保持期間を設定可能です。
  • ヘルス モニタリング: 組み込みのヘルスチェックとステータス レポートを使用して、統合の正常性をモニタリングします。

制限事項

Google Cloud 用の Symphony コネクタは、Symphony クラスタの基盤となるコンピューティング インフラストラクチャ(VM インスタンスと GKE Pod)をプロビジョニングして管理します。新しい Symphony ワークロードは作成しません。ワークロードの作成、管理、スケジュール設定、実行には、引き続き Symphony ソフトウェアを使用します。

次のステップ