Skip to main content

Advanced agent setup

このガイドでは、W&B Launch エージェントをさまざまな環境でコンテナーイメージをビルドし、それらのイメージをクラウドのコンテナーレジストリにプッシュし、ビルドプロセスをカスタマイズする方法を構成する方法について説明します。イメージビルドが必要な Launch job を実行する必要があり、エージェントがイメージを生成する場所と方法を制御したい場合に使用してください。このページは、Launch エージェントをデプロイおよび管理する管理者とオペレーター向けです。
ビルドは git とコードアーティファクトのジョブでのみ必要です。Image job ではビルドは必要ありません。ジョブのタイプの詳細については、Create a launch job を参照してください。

Builders

Launch エージェントは、コンテナーイメージを生成するための 2 つの builders をサポートしています。エージェントが実行される環境に合った builder を選択してください。 Launch エージェントは、Docker または Kaniko を使用してイメージをビルドできます。
  • Kaniko: 特権コンテナーとしてビルドを実行せずに、Kubernetes 内でコンテナーイメージをビルドします。
  • Docker: ローカルで docker build コマンドを実行してコンテナーイメージをビルドします。
Launch エージェント設定の builder.type キーで builder のタイプを制御します。docker、kaniko、またはビルドをオフにする場合は noop に設定してください。デフォルトでは、エージェントの Helm チャートが builder.type を noop に設定します。エージェントは builder セクションの追加のキーを使用してビルドプロセスを構成します。 エージェント設定で builder を指定せず、動作する docker CLI が存在する場合、エージェントは Docker をデフォルトとして使用します。Docker が利用できない場合、エージェントは noop をデフォルトとします。
Kubernetes クラスター内でイメージをビルドする場合は Kaniko を使用してください。それ以外の場合は Docker を使用してください。

コンテナーレジストリへのプッシュ

ビルドしたイメージをコンピュートターゲットで実行するには、ターゲットがプルできるコンテナーレジストリにエージェントがイメージをプッシュする必要があります。以下のセクションでは、エージェントがイメージにタグを付けてアップロードする仕組みについて説明します。 Launch エージェントは、ビルドするすべてのイメージに一意のソースハッシュのタグを付けます。イメージのプッシュ先は、builder.destination キーで指定したレジストリです。 たとえば、builder.destination キーを my-registry.example.com/my-repository に設定した場合、エージェントはイメージに my-registry.example.com/my-repository:[SOURCE-HASH] というタグを付けてプッシュします。イメージがすでにレジストリに存在する場合、エージェントはビルドをスキップします。

エージェント設定

エージェントは YAML ファイルから設定を読み込みます。このファイルの指定方法は、エージェントの実行方法によって異なります。 Helm チャートを使用してエージェントをデプロイする場合は、values.yaml ファイルの agentConfig キーにエージェント設定を指定します。 wandb launch-agent を使用してエージェントを自分で起動する場合は、--config フラグで YAML ファイルへのパスを渡してエージェント設定を指定します。デフォルトでは、エージェントは ~/.config/wandb/launch-config.yaml から設定を読み込みます。 Launch エージェントの設定 (launch-config.yaml) では、environment キーにターゲットリソース環境の名前を、registry キーにコンテナーレジストリを指定します。 以下のタブでは、環境とレジストリに応じた Launch エージェントの設定方法を示します。
AWS 環境の設定には region キーが必要です。region には、エージェントを実行する AWS リージョンを設定します。
launch-config.yaml
エージェントは boto3 を使用してデフォルトの AWS 認証情報を読み込みます。デフォルトの AWS 認証情報の設定方法の詳細については、boto3 のドキュメントを参照してください。

エージェントの権限

エージェントは、コンテナーレジストリにイメージをプッシュする権限と、Kaniko を使用する場合は、クラウドストレージでビルドコンテキストを読み書きする権限が必要です。必要なエージェントの権限はユースケースによって異なります。

レジストリの権限

エージェントは、レジストリの権限が必要です。これにより、リポジトリの作成、イメージレイヤーのアップロード、タグ付きイメージのプッシュが可能になります。Launch エージェントがレジストリとやり取りするために必要な権限は以下のとおりです。

Kaniko のストレージ権限

Kaniko ビルダーを使用する場合、Launch エージェントにはクラウドストレージへのプッシュ権限が必要です。Kaniko は、ビルドジョブを実行する Pod の外部にあるコンテキストストアを使用します。
AWS では、Kaniko ビルダーのコンテキストストアとして Amazon S3 を使用します。エージェントに S3 バケットへのアクセス権を付与するには、次のポリシーを使用します。

Kaniko ビルドをカスタマイズする

ビルド Pod のキャッシュの動作や環境変数などのデフォルトを上書きするには、Kaniko が実行する Kubernetes Job をカスタマイズします。Kaniko ジョブが使用する Kubernetes Job の spec を、エージェント設定の builder.kaniko-config キーで指定します。例:
launch-config.yaml

Launch エージェントを CoreWeave にデプロイする

GPU アクセラレーション対応のインフラストラクチャーがワークロードに適している場合は、Launch エージェントを CoreWeave Cloud にデプロイできます。CoreWeave は、GPU アクセラレーションを活用するワークロード向けに構築されたクラウドインフラストラクチャーです。 Launch エージェントを CoreWeave にデプロイする方法については、CoreWeave のドキュメントを参照してください。
Launch エージェントを CoreWeave のインフラストラクチャーにデプロイするには、CoreWeave アカウントの作成が必要です。
最終更新日 2026年9月30日