Skip to main content
ディスカバリー API を使用すると、組織に登録されているランナーの一覧表示や、各ランナーが公開しているハードウェア情報の読み取りに加え、サンドボックスを配置する前にリアルタイムのキャパシティを確認できます。 ランナーは CKS クラスター内のデプロイメントです。CoreWeave のマネージドコントロールプレーンに登録され、クラスターのコンピュートをサンドボックスプラットフォームに橋渡しします。そのため、ランナーの機能は背後にあるクラスターのハードウェアに依存します。 ディスカバリーは CKS への配置にのみ適用されます。サーバーレスのサンドボックスはお客様が所有するランナー上で実行されるわけではないため、検出する対象がありません。必要なサンドボックスの内容を指定するだけで、プラットフォームが配置を行います。サンドボックスの配置を参照してください。 ディスカバリーで報告されるのはランナーの能力であり、何が許可されているかではありません。個々のサンドボックスが要求できる内容は、ランナーに設定されたポリシーによって制限されます。このポリシーは管理者が作成します。ポリシーの概要を参照してください。
プロフィールから移行する場合: クライアントは Profile、list_profiles()、get_profile()、ProfileNotFoundError をエクスポートしなくなりました。profile_names と profile_ids は Sandbox、Session、およびそれらの list() メソッドのパラメーター名として残っていますが、値を渡すと TypeError が送出されます。代わりに runner_ids でランナーを指定してください。ガバナンスモデルはプロフィールからポリシーに置き換わりました。ポリシーはユーザーが選択するものではありません。ポリシーの概要を参照してください。

ランナーの一覧表示

list_runners() は、使用中の認証情報で参照できるすべてのランナーを返します。
Runner には組み込みの表現形式があり、ランナー ID、所有元の 組織、健全性、人間が読みやすい単位で表した CPU とメモリ、GPU 数、およびランナーが強制できる サービスの可視性を出力します。 出力例:

ランナーの機能を読み取る

各ランナーは、自身のノードに搭載されたハードウェアを公開しています。これらの属性を読み取り、作成したいサンドボックスの要件を満たす ランナーを検索します。
supported_gpu_types には、GPU リクエストの type キーにそのまま渡す文字列が格納されています。 照合では大文字と小文字が区別されるため、B200 と b200 は別のタイプとして扱われます。 GPU サンドボックスを実行するを参照してください。 max_gpu_count はランナーが報告する GPU キャパシティの合計値であり、サンドボックスごとの上限ではありません。1 つのサンドボックスがリクエストできる GPU 数の上限は、ランナーのポリシーの maxGpuCount と、 単一ノード上の空き GPU 数によって決まります。

ランナーの属性

Runner には次の属性があります。 max_* の値が 0 であっても、リソースがないとは限らず、ランナーがそのキャパシティを開示または報告していないだけの場合があります。 共有ランナーではキャパシティが非開示のため 0 が返されます。また、CPU とメモリの値には予約キャパシティが含まれない場合があります。

リアルタイムのキャパシティを確認する

デフォルトでは、list_runners() は機能データのみを返します。 include_resources=True を渡すと、Runner.resources にリアルタイムの可用性が格納されます。 format_bytes() と format_cpu() を使用すると、値を人間が読みやすい単位で出力できます。
ランナーが可用性を報告しない場合、resources は None になります。値を読み取る前に None かどうかを確認してください。

RunnerResources の属性

RunnerResources オブジェクトには次の属性があります。

リストをフィルターする

フィルターを組み合わせて、ワークロードを受け入れ可能なランナーにリストを絞り込みます。 次の呼び出しは、指定した GPU タイプを搭載し、空き GPU が 2 基以上ある正常なランナーを 返します。[GPU-TYPE] は supported_gpu_types の値に置き換えてください。
ディスカバリーサービスは runner_group_id、gpu_type、architecture、 healthy_only、service_visibility を適用します。3 つの min_available_* フィルターは、結果を受信した後にクライアント側で適用されます。これら 3 つのフィルターを指定すると include_resources が自動的に有効になり、リソースデータを報告しないランナーは除外されます。 そのため、これらのフィルターを通過した結果では、resources に常に値が設定されています。

パラメーター

list_runners() では次のパラメーターを指定できます。いずれもキーワード専用引数です。

単一のランナーを取得する

get_runner() は、ランナー ID と、そのランナーを所有する組織を受け取ります。ランナー ID はグローバルではなく組織内でのみ 一意であるため、両方の指定が必須です。この呼び出しでは常に完全な詳細が返されますが、リソース可用性が含まれるのは 自分の組織が所有するランナーの場合のみです。[RUNNER-ID] と [ORGANIZATION-ID] を、対象のランナーと それを所有する組織の ID に置き換えてください:
一覧で取得した各ランナーには、それぞれ固有の organization_id が含まれています。そのため、前の結果で見つけたランナーを検索するときは、 runner.organization_id を渡してください。

検出したランナーでサンドボックスを作成する

placement_mode="cks" を設定し、選択したランナーを runner_ids に渡します。 [GPU-TYPE] は supported_gpu_types に含まれる値に置き換えてください。
runner_ids を指定しない場合、CKS への配置では、組織内の条件を満たす任意のランナーを使用できます。 runner_ids は、サーバーレスへの配置、および placement_spillover="serverless_then_cks" とは併用できません。

Session 内のすべてのサンドボックスにランナーを適用する

SandboxDefaults を使用すると、Session 内のすべてのサンドボックスを同じランナーに割り当てることができます。
サンドボックスのその他のオプションについては、 サンドボックスの設定ガイドを参照してください。

エラーリファレンス

ディスカバリーの 呼び出し では、次の例外が発生する場合があります。 runner_id または organization_id が空の場合、get_runner() はリクエストを送信する前に ValueError を送出します。 例外の階層全体については、 例外リファレンスを参照してください。 一般的なトラブルシューティング手順については、 Sandboxes のサポート記事を参照してください。
最終更新日 2026年10月15日