Skip to main content

概要

このページでは、プラットフォーム管理者向けに、W&B Kubernetes Operator を使用して Kubernetes (クラウドまたはオンプレミス) 上に W&B Server をデプロイおよび管理する方法を説明します。この手順を完了すると、オペレーターが自動で管理・アップグレードする W&B Server 環境が稼働した状態になります。W&B デプロイメントをセルフマネージドで運用しており、クラウド、オンプレミス、エアギャップ環境のいずれにも対応したインストール方法が必要な場合は、このガイドを参照してください。 W&B Kubernetes Operator は、Kubernetes (クラウドまたはオンプレミス) 上に W&B Server をデプロイする際の推奨方法です。オペレーターの概要、W&B がオペレーターを採用している理由、設定の階層構造の仕組みについては、セルフマネージドを参照してください。

始める前に

Kubernetes Operator を使用して W&B をデプロイする前に、インフラストラクチャーがすべての要件を満たしていることを確認してください。
  1. インフラストラクチャー要件を確認する: 次の項目の詳細については、セルフマネージドのインフラストラクチャー要件ページを参照してください。
  • ソフトウェアのバージョン要件 (Kubernetes、MySQL、Redis、Helm、ClickHouse)
    • ハードウェア要件 (CPU アーキテクチャー、推奨サイジング)
    • Kubernetes クラスターの設定
    • ネットワーク、SSL/TLS、DNS の要件
  1. W&B Server のライセンスを取得する: 要件ページの License セクションを参照してください。
  2. 外部サービスをプロビジョニングする: デプロイの前に、MySQL、Redis、オブジェクトストレージを設定してください。
関連情報については、リファレンスアーキテクチャページを参照してください。

MySQL データベース

W&B には外部の MySQL データベースが必要です。 本番環境では、マネージドデータベースサービスの使用を推奨します。 マネージドデータベースサービスは、自動バックアップ、モニタリング、高可用性、パッチ適用などの機能を備えており、運用上の負担を軽減できます。 サイジングの推奨事項や設定パラメーターなど、MySQL の要件についてはリファレンスアーキテクチャを参照してください。データベースを作成するための SQL については、ベアメタルガイドを参照してください。デプロイメントのデータベース設定に関するご質問は、サポートまたは担当の AISE にお問い合わせください。 設定パラメーターやデータベースの作成方法など、MySQL のセットアップ手順の詳細については、要件ページの MySQL セクションを参照してください。 MySQL 8.0.x からアップグレードする場合は、MySQL を 8.4.x にアップグレードするを参照してください。

Redis

W&B は単一ノード構成の Redis 7.x デプロイメントを必要とし、W&B の各コンポーネントはこれをジョブのキュー管理やデータのキャッシュに使用します。テストや概念実証 (PoC) 向けに、W&B Self-Managed にはローカルの Redis デプロイメントが含まれています。このバンドルされたデプロイメントは、本番環境での使用には適していません。 本番環境のデプロイメントでは、W&B は次の環境にある Redis インスタンスに接続できます。 Helm values で外部 Redis インスタンスを設定する方法について詳しくは、外部 Redis の設定セクションを参照してください。

オブジェクトストレージ

W&B には、事前署名付き URL と CORS をサポートするオブジェクトストレージが必要です。 W&B では、次のストレージプロバイダーを推奨しています。
  • Amazon S3: スケーラビリティ、データの可用性、セキュリティ、パフォーマンスを備えたオブジェクトストレージサービスです。
  • Google Cloud Storage: 非構造化データを大規模に保存するためのマネージドサービスです。
  • Azure Blob Storage: 非構造化データを大規模に保存するためのクラウドベースのオブジェクトストレージです。
  • CoreWeave AI Object Storage: AI ワークロード向けに最適化された S3互換のオブジェクトストレージです。
  • MinIO Enterprise (AIStor)、NetApp StorageGRID などのエンタープライズ向け S3互換ストレージ、またはその他のエンタープライズソリューション。
MinIO のオープンソース版はメンテナンスモードに移行しており、現在は開発が行われておらず、コンパイル済みバイナリも提供されていません。本番デプロイメントでは、マネージドオブジェクトストレージサービス、または MinIO Enterprise (AIStor) などのエンタープライズ向け S3互換ソリューションの使用を推奨します。
プロバイダーを選択したら、W&B がアクセスできるようにバケットを設定します。IAM ポリシー、CORS 設定、アクセスのセットアップなど、バケットのプロビジョニング手順の詳細については、Bring Your Own Bucket (BYOB) ガイドを参照してください。 キャパシティやパフォーマンスに関するガイダンスなど、オブジェクトストレージ要件の一覧については、リファレンスアーキテクチャのオブジェクトストレージセクションを参照してください。

ストレージバケットをプロビジョニングする

W&B を設定する前に、オブジェクトストレージバケットをプロビジョニングし、必要な IAM ポリシー、CORS 設定、およびアクセス用の認証情報を構成しておく必要があります。 以下の各ストレージにおけるプロビジョニングの詳しい手順については、Bring your own bucket を使用する (BYOB) ガイドを参照してください。
  • Amazon S3 (IAM ポリシーおよびバケットポリシーを含む)
  • Google Cloud Storage (PubSub 通知を含む)
  • Azure Blob Storage (マネージド ID を含む)
  • CoreWeave AI Object Storage
  • S3互換ストレージ (MinIO Enterprise、NetApp StorageGRID、その他のエンタープライズ向けソリューション)
Helm values でオブジェクトストレージを設定する方法の詳細については、オブジェクトストレージの設定セクションを参照してください。

OpenShift Kubernetes クラスター

W&B は、クラウド、オンプレミス、エアギャップ環境の OpenShift Kubernetes クラスター へのデプロイをサポートしています。
公式の W&B Helm チャートを使用してインストールすることを推奨します。

非特権ユーザーとしてコンテナーを実行する

OpenShift などのオーケストレーターでは、root として実行されるコンテナーが拒否されることがよくあります。そのため、W&B のコンテナーは、root グループに属したまま非 root ユーザーとして実行されるように設定する必要があります。デフォルトでは、コンテナーは $UID として 999 を使用します。オーケストレーターがコンテナーを非 root ユーザーで実行するよう要求する場合は、$UID に 100000 以上の値を、$GID に 0 を指定してください。
ファイルシステムの権限を正しく機能させるには、W&B を root グループ ($GID=0) で起動する必要があります。
W&B の各コンポーネントにセキュリティコンテキストを設定します。たとえば、API コンポーネントの場合は次のように設定します。
必要に応じて、app や console など他のコンポーネントにもカスタムセキュリティコンテキストを設定します。詳細については、カスタムセキュリティコンテキストを参照してください。

W&B Server アプリケーションをデプロイする

クラウド、オンプレミス、エアギャップ環境を含むすべての W&B セルフマネージドのデプロイでは、Helm を使用した W&B Kubernetes Operator によるインストールを推奨します。
デプロイ方法を選択してください。
W&B は、W&B Kubernetes Operator を Kubernetes クラスターにデプロイするための Helm チャートを提供しています。この方法を使用すると、Helm CLI または ArgoCD などの継続的デリバリーツールで W&B Server をデプロイできます。デプロイメント固有の考慮事項については、環境固有の考慮事項 および パブリッククラウドで Terraform を使用してデプロイする を参照してください。インターネットに接続されていない環境については、Deploy on Air-Gapped Kubernetes を参照してください。Helm CLI を使用して W&B Kubernetes Operator をインストールするには、次の手順に従います。
  1. W&B Helm リポジトリを追加します。W&B Helm チャートは W&B Helm リポジトリで提供されています。
  2. Kubernetes クラスターにオペレーターをインストールします。
  3. W&B オペレーターのカスタムリソースを設定して、W&B Server のインストールをトリガーします。W&B デプロイメントの設定を記述した operator.yaml という名前のファイルを作成します。使用可能なすべてのオプションについては、設定リファレンス を参照してください。 最小構成の例を次に示します。
  4. カスタム設定でオペレーターを起動します。これにより、オペレーターが W&B Server アプリケーションのインストール、設定、管理を行えるようになります。
    デプロイメントが完了するまで待ちます。完了までには数分かかります。
  5. Web UI でインストールを確認するには、最初の管理者ユーザーアカウントを作成してから、インストールを確認する に記載されている検証手順に従います。
これらの手順が完了すると、wandb-cr namespace で W&B Kubernetes Operator が実行され、そのオペレーターが operator.yaml カスタムリソースに基づいて W&B Server アプリケーションを管理する状態になります。

インストールを確認する

インストールを確認するため、W&B は W&B CLI の使用を推奨します。wandb verify コマンドは、コンポーネントと設定が期待どおりに動作することを確認するテストを実行します。
この手順では、ブラウザーで最初の管理者ユーザーアカウントを作成することを前提としています。
インストールを確認する:
  1. W&B CLI をインストールします:
  2. W&B にログインします:
    例:
  3. インストールを確認します:
コマンドの実行後、インストールが成功すると、次の出力が表示されます:
エラーが発生した場合は、W&B サポートチームにお問い合わせください。

MCP サーバーを有効にする

W&B MCP Server は、operator-wandb のオプションのサブチャートとして提供されています。有効にすると、オペレーターがクラスター内に MCP サーバーをデプロイし、既存のイングレス経由で <global.host>/mcp に公開します。これにより、MCP 対応クライアントであれば W&B APIキーを使用して接続できます。このサーバーは、W&B が https://mcp.withwandb.com/mcp でホスト型サービスとして運用しているものと同じですが、お使いのデプロイメントのデータを参照するように構成されています。 エンドユーザー向けのクライアント設定とツールカタログについては、Use the W&B MCP server を参照してください。このセクションでは、オペレーター側での有効化の手順のみを説明します。

前提条件

MCP サーバーを有効にする前に、デプロイメントが次の要件を満たしていることを確認してください。
  • チャートのバージョン: operator-wandb 0.42.3 以降。mcp-server サブチャートは 0.42.1 で導入されましたが、次の例で使用する Datadog とプライバシー関連のフィールドはそれ以降に追加されたものです。
  • Weave トレースの有効化: MCP サーバーは、トレースツールと WF_TRACE_SERVER_URL のデフォルト値を Weave トレースに依存しています。weave-trace.install: true を設定してください。Weave トレースが有効になっていない場合、Helm のレンダリングは mcp-server requires weave-trace.install=true というエラーで失敗します。
  • 到達可能なイングレス: global.host の名前解決ができ、W&B のイングレスにルーティングされている状態になっている必要があります。MCP Pod は global.host から WANDB_BASE_URL を読み取り、<global.host>/mcp でアクセスできるようになります。
  • ノードのキャパシティ: MCP Pod は、デフォルトで CPU 500m とメモリ 1Gi をリクエストします (制限は CPU 2、メモリ 4Gi)。サブチャートを有効にする前に、Node Pool に十分な空きリソースがあることを確認してください。

サブチャートを有効にする

mcp-server サブチャートを有効にして、オペレーターがクラスター内に MCP サーバーをデプロイし、既存の W&B イングレスに /mcp ルートを追加するようにします。既存の WeightsAndBiases カスタムリソース (CR) の spec.values ブロックに、既存の global、ingress、その他のオーバーライドとあわせて以下を追加してください。Datadog ブロックは任意ですが、クラスター内の Datadog Agent DaemonSet がすでに Pod のログとトレースを収集している場合は追加することをお勧めします。
各ブロックを設定します。
  • weave-trace.install: true: mcp-server.env.WF_TRACE_SERVER_URL を自分で設定する場合を除き、必須です。
  • datadog.mode: "agent": Datadog Agent DaemonSet がログとトレースの収集を担う Kubernetes デプロイメントで使用します。agent モードでは、MCP Pod に Datadog APIキーは不要です。
  • datadog.service、env、deploymentType、customer、extraTags: デプロイメントの可観測性に関する命名規則に合わせて設定します。customer タグが不要な場合は、customer を空文字列に設定します。
  • privacy.logLevel: ほとんどのセルフマネージド Kubernetes 環境では "standard" を使用します。この設定では、オペレーターがデバッグによく使用するデプロイメント識別子は残したまま、ログ内の自由記述のパラメーター値をマスクします。entity、project、run、またはユーザーの識別子を平文のログに残したくない場合は "strict" を使用します。"off" は、これらの値を平文でログすることを明示的に求める場合にのみ使用してください。
変更を適用して、リコンサイルをトリガーします。
オペレーターは、リリースの namespace に wandb-mcp-server のデプロイメントとサービスを作成し、W&B のイングレスに /mcp パスを追加します。

MCP サーバーを確認する

Pod が Running 状態になるまで待ってから、クラスター内から、およびイングレス経由でヘルスエンドポイントを確認します。
どちらのリクエストも 200 OK を返すはずです。クラスター内チェックでは Pod が正常であることを、イングレスチェックではルーティングが機能していることを確認します。クラスター内チェックでは 200 OK が返されるのに、イングレスチェックで 404 Not Found が返される場合は、トラブルシューティングを参照してください。Datadog を有効にした場合は、MCP サーバーのログが、設定した mcp-server.datadog.service と mcp-server.datadog.env の値とともに Datadog にも表示されるはずです。

クライアントを接続する

MCP サーバーが正常な状態になったら、https://<HOST_URI>/mcp を使用するように MCP クライアントを設定し、W&B APIキーを Bearer token として指定します。IDE やエージェントの設定については、Use the W&B MCP server を参照してください。

トラブルシューティング

環境固有の考慮事項

Kubernetes は、オンプレミスとクラウドのどちらで実行しても同じように動作します。主な違いは、名称とマネージドサービスにあります (たとえば、MySQL と RDS、S3 とオンプレミスのオブジェクトストレージなど) 。このセクションでは、環境によって異なる考慮事項について説明します。

オンプレミスとベアメタル

オンプレミスまたはベアメタルの Kubernetes にデプロイする場合は、次の点に注意してください。

ロードバランサーの設定

オンプレミスの Kubernetes クラスターでは、通常、ロードバランサーを手動で設定する必要があります。主な選択肢は次のとおりです。
  • 外部ロードバランサー: F5 や HAProxy など、既存のハードウェアまたはソフトウェアのロードバランサーを設定します。
  • Nginx Ingress Controller: NodePort またはホストネットワークを使用して nginx-ingress-controller をデプロイします。
  • MetalLB: ベアメタルの Kubernetes クラスターでは、MetalLB を使用してロードバランサーサービスを提供できます。
ロードバランサーの詳細な設定例については、リファレンスアーキテクチャのネットワークセクションを参照してください。

永続ストレージ

Kubernetes クラスターに、Persistent Volume 用の StorageClass が設定されていることを確認してください。W&B のコンポーネントでは、キャッシュや一時データの保存に永続ストレージが必要になる場合があります。 オンプレミス環境で一般的に使用されるストレージには、次のようなものがあります。
  • NFS ベースのストレージクラス
  • Ceph/Rook ストレージ
  • ローカル Persistent Volume
  • NetApp や Pure Storage などのエンタープライズストレージソリューション

DNS と証明書の管理

オンプレミスのデプロイメントでは、次のタスクを実施します。
  • W&B のホスト名を指すように内部 DNS レコードを設定します。
  • 社内の認証局 (CA) から SSL/TLS 証明書を発行します。
  • 自己署名証明書を使用する場合は、CA 証明書を信頼するようにオペレーターを設定します。
証明書の設定の詳細については、SSL/TLS の要件を参照してください。

OpenShift デプロイメント

W&B は、OpenShift Kubernetes クラスターへのデプロイを完全にサポートしています。OpenShift はセキュリティポリシーがより厳格なため、OpenShift デプロイメントではセキュリティコンテキストの追加設定が必要です。 OpenShift 固有の設定の詳細については、OpenShift Kubernetes クラスター を参照してください。エアギャップ環境での OpenShift の設定例については、Deploy on Air-Gapped Kubernetes を参照してください。

オンプレミスおよび S3互換のオブジェクトストレージ

オブジェクトストレージバケットをプロビジョニングしたら (オブジェクトストレージのプロビジョニングを参照) 、W&B カスタムリソース でそのバケットを設定します。 AWS S3 (オンプレミス) オンプレミスの AWS S3 (Outposts または互換ストレージを使用) の場合は、次のように設定します。
MinIO、Ceph、NetApp などの S3互換ストレージ S3互換ストレージシステムの場合:
S3互換ストレージで TLS を有効にするには、バケットのパスの末尾に ?tls=true を追加します。
証明書は信頼されたものである必要があります。自己署名証明書を使用する場合は、追加の設定が必要です。詳細については、SSL/TLS の要件を参照してください。
オンプレミスのオブジェクトストレージに関する重要な考慮事項 独自のオブジェクトストレージを運用する場合は、次の点を考慮してください。
  1. ストレージのキャパシティとパフォーマンス: ディスク容量を注意深く監視してください。W&B の平均的な使用量は数十〜数百 GB です。使用量が多い場合、ストレージ消費量がペタバイト規模に達することがあります。
  2. フォールトトレランス: 物理ディスクには、少なくとも RAID アレイを使用してください。S3互換ストレージの場合は、分散構成または高可用性構成を使用してください。
  3. 可用性: ストレージの可用性を維持できるよう、モニタリングを設定してください。
MinIO に関する考慮事項
MinIO Open Source はメンテナンスモードに移行しており、積極的な開発は行われていません。コンパイル済みバイナリの提供は終了しており、重要なセキュリティ修正のみが個別に検討されます。本番環境のデプロイメントには、マネージドオブジェクトストレージサービスまたは MinIO Enterprise (AIStor) の使用を W&B は推奨します。
オンプレミスのオブジェクトストレージには、次のようなエンタープライズ向けの代替製品があります。 既存の MinIO デプロイメントまたは MinIO Enterprise を使用している場合は、MinIO クライアントでバケットを作成できます。

Terraform を使用したパブリッククラウド

AWS、Google Cloud、または Azure で、インフラストラクチャーからアプリケーションまでを含むフルデプロイメントを行う場合は、パブリッククラウドで Terraform を使用してデプロイするを参照してください。

パブリッククラウドで Terraform を使用してデプロイする

W&B では、W&B Multi-tenant Cloud や W&B 専用クラウド などの完全マネージドなデプロイメントタイプを推奨しています。完全マネージドサービスでは、設定はほとんど、またはまったく必要ありません。
W&B は、パブリッククラウドプロバイダー上にプラットフォームをデプロイするための Terraform モジュールを提供しています。これらのモジュールによってインフラストラクチャーのプロビジョニングと W&B Server のインストールが自動化されるため、クラウドリソースを 1 つずつ手動で作成しなくても、完全な環境を構築できます。 作業を始める前に、State File の保存先として、Terraform で利用できる リモートバックエンド のいずれかを選択することをおすすめします。State File は、すべてのコンポーネントを再作成せずにアップグレードをロールアウトしたり、デプロイメントに変更を加えたりするために必要なリソースです。 クラウドプロバイダーを選択してください:
AWS にプラットフォームをデプロイするには、W&B Server AWS Terraform モジュール を使用することを推奨します。Terraform モジュールは、次の必須コンポーネントをデプロイします。
  • ロードバランサー
  • AWS Identity & Access Management (IAM)
  • AWS Key Management System (KMS)
  • Amazon Aurora MySQL
  • Amazon VPC
  • Amazon S3
  • Amazon Route53
  • Amazon Certificate Manager (ACM)
  • Amazon Elastic Load Balancing (ALB)
  • Amazon Secrets Manager
オプションのコンポーネントには次のものがあります。
  • Elastic Cache for Redis
  • SQS

前提として必要な権限

Terraform を実行するアカウントには、前のセクションに記載されたすべてのコンポーネントを作成できることに加えて、IAM ポリシーと IAM ロールを作成し、リソースにロールを割り当てる権限が必要です。

一般的な手順

このセクションの手順は、どのデプロイメントオプションでも共通です。
  1. 開発環境を準備します。
    • Terraform をインストールします。
    • W&B では、バージョン管理用に Git リポジトリを作成することを推奨しています。
  2. terraform.tfvars ファイルを作成します。 インストールのタイプに応じて、tvfars ファイルの内容をカスタマイズします。推奨される最小限の内容は次の例のとおりです。
    namespace 変数は、Terraform が作成するすべてのリソースに付与される接頭辞の文字列です。そのため、デプロイする前に tvfars ファイルで変数を定義してください。 subdomain と domain を組み合わせたものが、W&B インスタンスの FQDN になります。上記の例では、W&B の FQDN は wandb-aws.wandb.ml となり、Terraform は DNS の zone_id で指定されたゾーンに FQDN レコードを作成します。 allowed_inbound_cidr と allowed_inbound_ipv6_cidr の両方も設定する必要があります。これらはモジュールの必須入力です。次の例では、すべてのソースから W&B インストールへのアクセスを許可します。
  3. versions.tf ファイルを作成します。 このファイルには、AWS に W&B をデプロイするために必要な Terraform および Terraform プロバイダーのバージョンが記載されています:
    AWS プロバイダーの設定方法については、Terraform 公式ドキュメントを参照してください。 W&B では、このドキュメントの冒頭で説明した リモートバックエンドの設定 もあわせて追加することを推奨しています。
  4. variables.tf ファイルを作成します Terraform では、terraform.tfvars で設定するすべてのオプションに対して、対応する変数宣言が必要です。
これは最もシンプルなデプロイメントオプションの設定です。必須のコンポーネントをすべて作成し、最新バージョンの W&B を Kubernetes クラスターにインストールします。
  1. main.tf を作成します General Steps で作成したファイルと同じディレクトリに、次の内容で main.tf ファイルを作成します。
  2. W&B をデプロイします W&B をデプロイするには、次のコマンドを実行します。

Redis を有効にする

Redis を使用して SQL クエリをキャッシュし、メトリクスの読み込み時にアプリケーションの応答を高速化するには、main.tf ファイルに create_elasticache_subnet = true オプションを追加します。

メッセージブローカー (キュー) を有効にする

SQS を使用する外部メッセージブローカーを有効にするには、main.tf ファイルに use_internal_queue = false オプションを追加します:
W&B にはブローカーが組み込まれているため、この設定は任意です。このオプションを使用してもパフォーマンスは向上しません。

その他のリソース

その他のデプロイメントオプション

すべての設定を同じファイルに追加することで、複数のデプロイメントオプションを組み合わせることができます。各 Terraform モジュールにはさまざまなオプションが用意されており、標準オプションや、推奨デプロイメントのセクションで紹介している最小設定と組み合わせて使用できます。 利用可能なすべてのオプションについては、お使いのクラウドプロバイダー向けのモジュールドキュメントを参照してください。

W&B 管理コンソールにアクセスする

W&B Kubernetes Operator には管理コンソールが付属しており、デプロイメントのステータスの確認、コンポーネントのメトリクスの表示、オペレーターレベルの設定の調整を行えます。管理コンソールには ${HOST_URI}/console (例: https://wandb.company-name.com/console) からアクセスできます。 管理コンソールには、次の 2 つの方法でログインできます。
  1. ブラウザーで W&B アプリケーションを開いてログインします。${HOST_URI}/ (例: https://wandb.company-name.com/) から W&B アプリケーションにログインします。
  2. コンソールにアクセスします。右上隅のアイコンをクリックし、System console をクリックします。System console エントリは、管理者権限を持つユーザーにのみ表示されます。
    System console へのアクセス

W&B Kubernetes Operator を更新する

このセクションでは、W&B Kubernetes Operator 自体を更新する方法について説明します。バグ修正や新しいリコンサイル機能を適用するため、オペレーターを定期的に更新してください。
  • W&B Kubernetes Operator を更新しても、W&B Server アプリケーションは更新されません。
  • W&B Kubernetes Operator を使用しない Helm チャートを使用している場合は、このセクションの手順で W&B Operator を更新する前に、移行手順を参照してください。
次のコードスニペットをターミナルにコピー&ペーストします。
  1. helm repo update でリポジトリを更新します。
  2. helm upgrade で Helm チャートを更新します。

W&B Server アプリケーションを更新する

W&B Kubernetes Operator を使用している場合、W&B Server アプリケーションを手動で更新する必要はなくなりました。 W&B ソフトウェアの新しいバージョンがリリースされると、オペレーターが W&B Server アプリケーションを自動的に更新します。

MySQL を 8.4.x にアップグレードする

MySQL 8.0.x はサポート終了となりました。セルフマネージドのデプロイでは、セキュリティパッチと重要なバグ修正が提供される、サポート対象の MySQL バージョンを実行する必要があります。コミュニティ版の MySQL を実行している場合は、MySQL 8.4.x をインストールするか、8.4.x にアップグレードしてください。マネージドサービスを使用している場合は、プロバイダーがサポート対象かつパッチ適用済みとして明記しているエンジンバージョンを実行してください (例: Amazon RDS for MySQL、Google Cloud SQL for MySQL、Azure Database for MySQL) 。W&B は、MySQL 8.4.0 および現行の 8.4.x リリースでプラットフォームの動作を検証済みです。 以下の手順は、W&B 側から見た作業の流れを示したものです。バックアップやバージョンの移行パスなど、MySQL 自体のアップグレード方法については、ご使用の MySQL ディストリビューションまたはクラウドプロバイダーのドキュメントに従ってください。この手順は、標準とエアギャップのどちらの Operator デプロイメントにも共通です。エアギャップ環境では、データベースをアップグレードする前に、社内の配布プロセスを通じて MySQL 8.4.x ソフトウェアを入手してください。
作業を開始する前に、メンテナンス期間を計画し、ユーザーに通知してください。互換性やデプロイメントのトポロジについてご質問がある場合は、Customer Support または W&B の担当チームにお問い合わせください。
  1. 移行先のバージョンと、その間にあるすべてのバージョンについて MySQL のリリースノートとドキュメントを確認し、要件などの詳細を把握します。
  2. メンテナンスの準備をします。 アップグレードを開始する前に、データベースに対して MySQL Shell upgrade checker を実行すると、移行先バージョンとの互換性の問題を洗い出して修正できます。次に進む前に、チェッカーの出力に含まれるエラーや警告をすべて解決してください。詳しくは、ご使用の MySQL ディストリビューションのドキュメントを参照してください。
  3. ご使用の MySQL ディストリビューションのドキュメントに従って MySQL をシャットダウンし、MySQL データベースのフルバックアップを取得します。 アップグレード中は MySQL を利用できません。その間、W&B クライアントアプリケーションは接続できず、一時的なエラーが発生します。
  4. ご使用の MySQL ディストリビューションのドキュメントに従って、MySQL を 8.4.x にアップグレードします。
  5. MySQL を再起動し、正常に動作していることを確認します。
  6. MySQL が起動したら、wandb verify を実行して W&B デプロイメントを検証します。このコマンドは一連のチェックを実行し、結果を STDOUT に出力します。問題が報告された場合は、必要な修正を行ってから再度実行してください。セットアップとログインの手順については、インストールを確認するを参照してください。
  7. 検証が完了すると、ユーザーは通常どおり作業を再開できます。

アップグレード時の ClickHouse 互換性

外部の ClickHouse クラスターを使用するセルフマネージドのデプロイでは、W&B Server をアップグレードする前に ClickHouse との互換性を確認する必要があります。

サポートされる ClickHouse バージョン

W&B Weave を使用するには、ClickHouse Server と ClickHouse Keeper の両方がサポート対象のバージョンである必要があります。
  • Weave は ClickHouse 25.8 から 25.12 まで、および 26.3 以降をサポートします。
  • Weave は ClickHouse 26.1 および 26.2 では動作しません。
W&B セルフマネージドをアップグレードする 前に、ClickHouse Server と ClickHouse Keeper の両方が、Weave がサポートするバージョンで動作していることを確認してください。ClickHouse のバージョンを変更する必要がある場合は、両方のコンポーネントをあわせてアップグレードしてください。 W&B セルフマネージドのデプロイメントで Weave を使用していない場合、ClickHouse は必須ではないため、この要件はアップグレードには適用されません。 専用クラウドおよび Multi-tenant Cloud のデプロイメントでは、互換性のある ClickHouse バージョンがすでに実行されているため、影響はありません。 バージョンごとのリリースノートについては、サポートされる W&B Server リリースを参照してください。

セルフマネージドのインスタンスを W&B Operator に移行する

このセクションでは、W&B Server のインストールを自身で管理する運用から、W&B Operator に管理を任せる運用へ移行する方法について説明します。移行すると、オペレーターがリコンサイルと W&B Server のアップグレードを自動的に行うため、アプリケーションのマニフェスト変更や Helm のアップグレードを自分で調整する必要がなくなります。移行手順は、W&B Server のインストール方法によって異なります。
W&B Operator は、W&B Server のデフォルトかつ推奨のインストール方法です。ご不明な点がある場合は、Customer Support または W&B の担当チームにお問い合わせください。

オペレーターベースの AWS Terraform モジュールへの移行

移行プロセスの詳細については、operator-wandb チャートのドキュメントを参照してください。

オペレーターベースの Google Cloud Terraform モジュールへの移行

ご不明な点がある場合やサポートが必要な場合は、Customer Support または W&B の担当チームにお問い合わせください。

オペレーターベースの Azure Terraform モジュールへの移行

ご不明な点がある場合やサポートが必要な場合は、Customer Support または担当の W&B チームまでお問い合わせください。

オペレーターベースの Helm チャートへの移行

オペレーターベースの Helm チャートに移行するには、次の手順に従います。
  1. 現在の W&B の設定を取得します。オペレーターベースではないバージョンの Helm チャートで W&B をデプロイした場合は、次のように値をエクスポートします。
    Kubernetes マニフェストで W&B をデプロイした場合は、次のように値をエクスポートします。
    これで、次のステップに必要な設定値がすべて揃いました。
  2. operator.yaml という名前のファイルを作成します。設定リファレンスに記載されている形式に従い、ステップ 1 で取得した値を使用します。
  3. 現在のデプロイメントの Pod 数を 0 にスケールします。これにより、現在のデプロイメントが停止します。
  4. Helm チャートのリポジトリを更新します。
  5. 新しい Helm チャートをインストールします。
  6. 新しい Helm チャートを設定し、W&B アプリケーションのデプロイメントをトリガーします。次のコマンドで新しい設定を適用します。
    デプロイメントが完了するまで数分かかります。
  7. インストールを確認します。インストールを確認するの手順に従って、すべてが正常に動作していることを確認してください。
  8. 古いインストールを削除します。古い Helm チャートをアンインストールするか、マニフェストで作成したリソースを削除します。

オペレーターベースの Terraform Helm チャートに移行する

オペレーターベースの Helm チャートに移行するには、次の手順に従います。
  1. Terraform の設定を準備します。Terraform の設定に含まれる旧デプロイメントの Terraform コードを、Helm Terraform モジュールで W&B をデプロイする で説明しているコードに置き換えます。変数は以前と同じ値を設定してください。.tfvars ファイルがある場合は、変更しないでください。
  2. Terraform を実行します。terraform init、terraform plan、terraform apply を実行します。
  3. インストールを確認します。インストールを確認する の手順に従って、すべてが正常に動作することを確認します。
  4. 旧インストールを削除します。旧 Helm チャートをアンインストールするか、マニフェストで作成したリソースを削除します。

W&B Server の設定リファレンス

このセクションでは、WeightsAndBiases カスタムリソースで指定する設定オプションについて説明します。operator.yaml ファイルを作成または更新する際に、特定のサブシステム (MySQL、Redis、イングレス、OIDC など) の YAML スキーマを確認するためのリファレンスとしてご利用ください。 このセクションでは、W&B Server アプリケーションの設定オプションについて説明します。アプリケーションの設定は、WeightsAndBiases という名前のカスタムリソース定義を通じて渡されます。一部の設定オプションは、以下の設定で指定できます。それ以外のオプションは、環境変数として設定する必要があります。 環境変数の一覧は、基本と高度の 2 つのドキュメントに分かれています。環境変数は、必要な設定オプションを Helm チャートで指定できない場合にのみ使用してください。

基本的な例

この例では、W&B に必要な最小限の値を定義します。より実践的な本番環境向けの例については、完全な設定例を参照してください。 この YAML ファイルでは、バージョン、環境変数、データベースなどの外部リソース、その他の必要な設定を含め、W&B デプロイメントのあるべき状態を定義します。
設定可能な値の一覧は W&B Helm repository で確認できます。上書きが必要な値のみを変更してください。

完全な設定例

この設定例では、Google Cloud Storage を使用して W&B を Google Cloud Anthos にデプロイします。

ホスト

オブジェクトストレージ (バケット)

AWS
Google Cloud
Azure
その他のプロバイダー (Minio、Ceph、その他の S3互換ストレージ) その他の S3互換プロバイダーを使用する場合は、バケットを次のように設定します。
AWS 以外でホストされている S3互換ストレージの場合、kmsKey は null にする必要があります。 accessKey と secretKey をシークレットから参照するには、次のように設定します。

MySQL

シークレットの password を参照するには、次のようにします。

License

シークレットから license を参照するには、次のようにします。

Ingress

Kubernetes の Ingress クラスを特定する方法を参照してください。 TLS なし
TLS を使用する場合 証明書を含むシークレットを作成します
イングレスの設定でシークレットを参照します
Nginx では、次のアノテーションの追加が必要になることがあります。

カスタム Kubernetes サービスアカウント

W&B の Pod の実行に使用するカスタム Kubernetes サービスアカウントを指定します。 次のスニペットでは、デプロイメントの一部として、指定した名前のサービスアカウントを作成します。
サブシステム “app” と “parquet” は、指定したサービスアカウントで実行されます。それ以外のサブシステムは、デフォルトのサービスアカウントで実行されます。 サービスアカウントがすでにクラスター上に存在する場合は、create: false を設定します。
サービスアカウントは、app、parquet、console など、さまざまなサブシステムに指定できます。
サービスアカウントは、サブシステムごとに異なるものを使用できます:

外部 Redis

シークレットから password を参照するには、次のようにします。
次の設定で参照します。

LDAP

現在の Helm チャートでは、LDAP 設定のサポートは限定的です。LDAP の設定でお困りの場合は、W&B サポートまたは担当の AISE にお問い合わせください。
LDAP を設定するには、global.extraEnv に環境変数を指定します。

OIDC SSO

authMethod は省略可能です。

SMTP

環境変数

レート制限を設定する

オペレーターを使用する専用クラウドおよびセルフマネージドのデプロイでは、必要に応じて spec.values.global.extraEnv に環境変数を設定し、レート制限を構成できます。参考までに、この例では各レート制限を明示的にデフォルト値に設定しています。実際の運用では、デフォルト値を上書きする場合にのみレート制限を定義してください。
詳細については、次の表を参照してください。

カスタム認証局

customCACerts はリスト形式で、複数の証明書を指定できます。customCACerts で指定した認証局は、W&B Server アプリケーションにのみ適用されます。
CA 証明書は ConfigMap に保存することもできます:
ConfigMap は次のような形式にする必要があります。
ConfigMap を使用する場合、ConfigMap 内の各キーの末尾は .crt にする必要があります (例: my-cert.crt、ca-cert1.crt) 。update-ca-certificates が各証明書を解析してシステムの CA ストアに追加するには、この命名規則に従う必要があります。

カスタムセキュリティコンテキスト

各 W&B コンポーネントでは、次の形式のカスタムセキュリティコンテキスト設定がサポートされています。
runAsGroup: に指定できる値は 0 のみです。それ以外の値を指定するとエラーになります。
たとえば、アプリケーションの Pod を設定するには、次のように設定に app セクションを追加します。
console、weave、weave-trace、parquet にも同じ考え方が当てはまります。

W&B Operator の設定リファレンス

このセクションでは、W&B Kubernetes Operator (wandb-controller-manager) の設定オプションについて説明します。オペレーターは、YAML ファイル形式で設定を受け取ります。 W&B Kubernetes Operator は、デフォルトでは設定ファイルを必要としません。必要に応じて設定ファイルを作成してください。たとえば、カスタム認証局を指定する場合や、エアギャップ環境にデプロイする場合などには、設定ファイルが必要になることがあります。 spec でカスタマイズできる項目の一覧は、Helm リポジトリで確認できます。

カスタム CA

カスタム認証局 (customCACerts) はリスト形式で、複数の証明書を指定できます。追加した認証局は、W&B Kubernetes Operator (wandb-controller-manager) にのみ適用されます。
CA 証明書は ConfigMap に保存することもできます。
ConfigMap は次の形式にする必要があります。
ConfigMap 内の各キーは、末尾を .crt にする必要があります (例: my-cert.crt、ca-cert1.crt) 。update-ca-certificates が各証明書を解析してシステムの CA ストアに追加するには、この命名規則に従うことが必須です。

よくある質問

各 Pod の目的と役割

W&B Server のデプロイメントには、次の Pod が含まれます。
  • wandb-app: GraphQL API とフロントエンドアプリケーションを含む、W&B の中核となる Pod です。W&B プラットフォームの機能の大部分を担います。
  • wandb-console: 管理コンソールです。/console からアクセスします。
  • wandb-otel: OpenTelemetry エージェントです。Kubernetes レイヤーのリソースからメトリクスとログを収集し、管理コンソールに表示します。
  • wandb-prometheus: Prometheus サーバーです。さまざまなコンポーネントからメトリクスを取得し、管理コンソールに表示します。
  • wandb-parquet: wandb-app Pod とは別のバックエンドマイクロサービスで、データベースのデータを Parquet 形式でオブジェクトストレージにエクスポートします。
  • wandb-weave: もう 1 つのバックエンドマイクロサービスで、UI でのクエリ表の読み込みを行うほか、アプリのさまざまな中核機能をサポートします。
  • wandb-weave-trace: LLM ベースのアプリケーションのトラッキング、実験、評価、デプロイ、改善を行うためのフレームワークです。このフレームワークには wandb-app Pod 経由でアクセスします。

W&B Operator Console のパスワードを取得する方法

W&B 管理コンソールにアクセスするを参照してください。

Ingress が機能しない場合に W&B Operator Console にアクセスする方法

Kubernetes クラスターにアクセスできるホストで、次のコマンドを実行します。
ブラウザーで https://localhost:8082/ にアクセスして、コンソールを開きます。 パスワードの取得方法 (オプション 2) については、W&B 管理コンソールにアクセスするを参照してください。

W&B Server のログを確認する方法

アプリケーション Pod の名前は wandb-app-xxx です。

Kubernetes の Ingress クラスを確認する方法

クラスターにインストールされている Ingress クラスは、次のコマンドを実行すると確認できます。
最終更新日 2026年9月30日