コンテンツにスキップ

GPU サービスのインスタンステンプレート

GPU サービスのインスタンステンプレートでは、GPU サービスインスタンス用の再利用可能なテンプレートを定義できます。

イメージ、コマンド、ポート、環境変数などの共通構成を一度定義すれば、同じ設定で複数のインスタンスを作成できます。

テンプレートの閲覧

GPU Service > Instance Templates ページに移動すると、利用可能なすべてのテンプレートとその詳細を閲覧できます。

インスタンステンプレート一覧のスクリーンショット

テンプレートは、カードに表示される表示名または名前、あるいはベンダーで絞り込めます。

テンプレートの追加

Instance Templates ページで Add Instance Template をクリックして、作成フォームを開きます。

インスタンステンプレート追加フォームのスクリーンショット

注記

GPU サービスインスタンスの実体は Kubernetes クラスター上で実行する Pod なので、その構成はコンテナ実行のルールに従います。

テンプレートでは、次のプロパティを指定できます。

  • 名前:テンプレートの一意の識別子。作成時に設定し、後から変更することはできません。
  • 表示名:テンプレートのわかりやすい名前。
  • ベンダー:GPU ベンダー(NVIDIA など)。CPU インスタンスの場合は CPU。
  • イメージ:このテンプレートから作成するインスタンスで使用する、有効なコンテナイメージ。
  • イメージ取得ポリシー:コンテナイメージの取得ポリシー(Always、IfNotPresent、Never)。
  • コンテナ起動コマンド:コンテナの起動時に実行するコマンド。
  • コンテナディスク:コンテナのルートファイルシステムに割り当てるディスク容量。
  • マウントパス:作業ディレクトリをマウントするコンテナ内のパス。
  • ポート:コンテナが公開するネットワークポート。
  • 環境変数:コンテナ内に設定する環境変数。

必須項目を入力した後、Save をクリックしてテンプレートを作成します。

生成値のプレースホルダー

インスタンスの作成時に、GPUStack は起動コマンドとポートのアクセスパラメーターにある {{generated_*}} プレースホルダーを解決します。インスタンスごとに値を 1 つ生成してインスタンス仕様に永続化するため、停止と起動を繰り返しても値は変わりません。現在、次に対応しています。

  • {{generated_token}}:ランダムな 32 文字の 16 進トークン。たとえば組み込みの JupyterLab テンプレートは、起動コマンドに --ServerApp.token={{generated_token}} を指定し、JUPYTER ポートのアクセスパラメーターにも同じプレースホルダーを含めます。その結果、Connect 列の Web アクセスリンクには、自動ログイン用の ?token= クエリーパラメーターが含まれます。

プレースホルダーとポートのアクセスパラメーターは、API(spec.command と spec.ports[].accessParams)で設定できます。テンプレートフォームには、まだこれらの項目はありません。

テンプレートの編集

テンプレートカードの Edit をクリックして構成を開き、変更してから Save をクリックします。

インスタンステンプレート編集フォームのスクリーンショット

テンプレートの削除

テンプレートカードの Delete をクリックして確認すると、一覧から削除されます。

テンプレートからのデプロイ

テンプレートを定義すると、GPU サービスインスタンスページで、それらからインスタンスをデプロイできます。