Shuihua を使った GPU クラスターの追加
クラスターの作成時に、GPUStack は SHUIHUA FUTURE でワーカーを作成し、クラスターに追加できます。
事前準備
SHUIHUA FUTURE のアカウントと、Shuihua コンソールで作成した API キーが必要です。キーは amp_live_ で始まります。
GPUStack サーバーの起動時に --server-external-url を指定します。Shuihua インスタンスはこのアドレスで登録し、トンネル接続を維持するため、そこから到達可能でなければなりません。プロキシの背後にある場合は、そのアドレスを指定します。
Shuihua クラスターの作成
クラウド認証情報の作成
Cloud Credentials ページで SHUIHUA FUTURE のクラウド認証情報を作成します。入力するのは API Key だけです。
クラウド認証情報によるクラスターの作成
クラスター作成ページで、Cloud Provider に SHUIHUA FUTURE を選択します。
名前、作成済みのクラウド認証情報、GPUStack Server URL を設定します。Shuihua にはリージョンがないため、選択は不要です。
ここでは Default Container Registry が必須です。Shuihua インスタンスは Docker Hub に接続できないため、別のレジストリからワーカーイメージを取得する必要があります。候補は quay.io と swr.cn-south-1.myhuaweicloud.com ですが、独自の Harbor やミラーなども入力できます。Docker Hub のホストに解決される値は拒否されます。
注意:サーバーの
--image-name-overrideはこのフィールドより優先します。上書きがある場合、そのイメージ名をそのまま使用し、レジストリ設定は無効になるため、上書き先自体に到達可能なレジストリを指定してください。
Next をクリックして、クラスターのワーカープールを作成します。
ワーカープールの作成
必要に応じて Name、Replicas、Batch Size を入力します。
Instance Type(Shuihua の spec template)を選択します。各候補には GPU モデル、時間単価、残数を表示します。売り切れのテンプレートも理由を確認できるよう一覧に残りますが、選択はできません。
次に OS Image を選択します。
Shuihua の貸し出しは NVIDIA GPU のみで、イメージにはドライバーとコンテナーツールキットが導入済みです。cloud-init は Docker の NVIDIA ランタイムを指定してワーカーを起動するだけで、インストールも再起動も行わないため、ドライバーを構築する環境より速く起動します。
Shuihua にはブロックストレージ API がないため、ボリュームには対応しません。ラベルは使用できます。
設定が完了したら Save をクリックします。
ワーカーのプロビジョニングの待機
クラスター保存後、Workers ページで Shuihua ワーカーの進行状況を確認します。
プロビジョニングは、次の段階で行われます。
- SSH キーを生成します。Shuihua に SSH キー API はないため、プロバイダーには登録せず、インスタンスの cloud-init に書き込みます。
- インスタンスを作成します。非同期処理で、Shuihua は受理後
creating、processing、activeの順に状態を報告します。 - インスタンスの起動を待ちます。
- アドレスの割り当てを待ちます。
- ワーカーが
Initializedになり、コンテナーの起動とサーバーへの接続を待ちます。
ワーカーが Ready になれば、モデルをデプロイできます。
SSH でのワーカーへの接続
Shuihua は全インスタンスを共有パブリック IP の背後に公開し、22 と 80 のみを個別のポートにマッピングします。ワーカーの表示 IP はインスタンス自身のプライベートアドレスであり、識別には使えますが接続できません。
ワーカーの操作メニューの View SSH Access を使ってください。実際に到達可能な Host、Port、Connection Command が表示され、Private Key を worker-<id>-private_key.pem としてダウンロードできます。
ワーカー自身のポートはマッピングされないため、ゲートウェイから直接着信接続できません。推論はサーバーの WebSocket トンネル経由で提供するため、Shuihua クラスターはデフォルトで tunnel プロキシモードを使います。インスタンスへ直接ルーティングするネットワークでない限り、変更しないでください。
Shuihua ワーカーの安全なスケールダウン
Shuihua ワーカーが不要になったら、次の手順で安全にインスタンスを削除します。
- 削除するワーカー数に合わせて、ワーカープールのレプリカ数を調整します。この操作だけでワーカーは自動削除されません。
- 削除するワーカーにモデルインスタンスがデプロイされていないことを確認します。
- 必要なワーカーを削除します。対応するインスタンスも終了されます。
トラブルシューティング
ワーカーが Initialized のままで Ready にならない場合。 インスタンスは起動してもコンテナーが起動していません。多くの場合、イメージを取得できないことが原因です。SSH で接続して次を確認します。
ワーカーは Ready だが GPU を報告しない場合。 Docker が NVIDIA ランタイムを使用していません。
プロビジョニングが失敗し、その場で再試行できない場合。 ワーカーを削除し、プールに代替を作成させてください。各作成要求はワーカー行に基づくリプレイ防止キーを持つため、新しいインスタンスには新しいワーカーが必要です。








