はじめに
- セキュアな政府施設
- 厳格なネットワーク分離が求められる金融機関
- コンプライアンス要件のある医療機関
- 産業用制御システム (ICS) 環境
- 機密ネットワークを持つ研究施設
前提条件
バージョン要件
SSL/TLS 要件
ハードウェア要件
MySQL データベース
Redis
- AWS Elasticache
- Google Cloud Memory Store
- Azure Cache for Redis
- お使いのクラウドまたはオンプレミスのインフラストラクチャーでホストされている Redis デプロイ
オブジェクトストレージ
- Amazon S3: 業界トップクラスのスケーラビリティ、データ可用性、セキュリティ、パフォーマンスを備えたオブジェクトストレージサービス。
- Google Cloud Storage: 非構造化データを大規模に保存するためのマネージドサービス。
- Azure Blob Storage: 大量の非構造化データを保存するためのクラウドベースのオブジェクトストレージソリューション。
- CoreWeave AI Object Storage: AI ワークロード向けに最適化された高パフォーマンスの S3 互換オブジェクトストレージサービス。
- エンタープライズ向け S3 互換ストレージ: MinIO Enterprise (AIStor)、NetApp StorageGRID、またはその他のエンタープライズグレードのソリューション
MinIO Open Source は、アクティブな開発や事前コンパイル済みバイナリの提供がない maintenance mode です。本番デプロイでは、W&B はマネージドオブジェクトストレージサービス、または MinIO Enterprise (AIStor) などのエンタープライズ向け S3 互換ソリューションの使用を推奨しています。
エアギャップ環境固有の要件
- 内部コンテナーレジストリ: 必要なすべての W&B コンテナーイメージを含むプライベートなコンテナーレジストリ (Harbor、JFrog Artifactory、Nexus など) へのアクセス
- 内部 Helm リポジトリ: W&B Helm チャートを含むプライベートな Helm チャートリポジトリへのアクセス
- イメージ転送機能: インターネットに接続されたシステムからエアギャップ環境のレジストリにコンテナーイメージを転送するための手段
- ライセンスファイル: 有効な W&B Enterprise ライセンス。ライセンスを取得するには (たとえば、インターネットに接続されたマシンから取得する場合) 、要件ページの License セクションを参照するか、W&B の担当アカウントチームにお問い合わせください。
エアギャップ環境を準備する
Step 1: 内部コンテナーレジストリを設定する
W&B Operator の要件を把握し、コンテナーレジストリ内のイメージを定期的に更新して維持する責任は、お客様にあります。必要なコンテナーイメージとそのバージョンの最新一覧については、Helm チャートを参照するか、W&B サポート または担当の W&B サポートエンジニアにお問い合わせください。
主要なW&Bコンポーネントのコンテナー
docker.io/wandb/controller- W&B Kubernetes Operatordocker.io/wandb/local- W&Bアプリケーションサーバーdocker.io/wandb/console- W&B管理コンソールdocker.io/wandb/megabinary- W&Bマイクロサービス (API、executor、glue、parquet)
依存コンテナー
docker.io/bitnamilegacy/redis- テストおよび開発時のローカル Redis デプロイに必要です。本番 Redis の要件については、前提条件の Redis セクション を参照してください。docker.io/otel/opentelemetry-collector-contrib- メトリクスとログを収集するための OpenTelemetry エージェントquay.io/prometheus/prometheus- メトリクス収集用の Prometheusquay.io/prometheus-operator/prometheus-config-reloader- Prometheus の依存イメージ
完全なイメージ一覧を取得する
-
インターネットに接続されたシステムで、W&B Helm charts repository から W&B Helm チャートをダウンロードします。
-
values.yamlファイルを確認し、すべてのコンテナーイメージとそのバージョンを特定します。または、次のコマンドを使用してリポジトリ名のみを抽出できます (バージョンタグは除く) 。リポジトリの一覧は、次のようになります。各イメージの具体的なバージョンタグを取得するには、上記の最初のコマンド (grep -E "repository:|tag:") を使用します。このコマンドでは、リポジトリ名と対応するバージョンタグの両方が表示されます。
イメージを エアギャップ レジストリに転送する
-
インターネットに接続されたシステムで、必要なイメージをすべて pull して保存します。
シェル変数を使用して、バージョンを一貫して管理します。以下の例にあるバージョン番号は、上記の step 2 で確認した Helm チャートの実際のバージョンに置き換えてください。ここで示しているバージョンはあくまで例であり、古くなる可能性があります。
-
承認済みの方法 (USB ドライブ、セキュアなファイル転送など) を使用して、
.tarファイルを エアギャップ 環境に転送します。 -
エアギャップ 環境で、イメージをロードし、内部レジストリに push します。
Step 2: 内部 Helm チャートリポジトリを設定する
-
インターネットに接続されたシステムで、チャートをダウンロードします。
-
.tgzのチャートファイルを エアギャップ 環境に転送し、リポジトリの手順に従って内部 Helm リポジトリにアップロードします。operatorチャートは W&B Kubernetes Operator (Controller Manager) をデプロイします。operator-wandbチャートは、Custom Resource (CR) で設定した値を使用して W&B Platform をデプロイします。
Step 3: Helm リポジトリへのアクセスを設定する
-
エアギャップ環境で、Helm が内部リポジトリを使用するように設定します。
-
チャートが利用可能であることを確認します。
エアギャップ環境に W&B をデプロイする
Step 4: Kubernetes Operator をインストールする
-
次の内容で
values.yamlファイルを作成します。repository と tag は、Step 1 で内部レジストリに転送した実際のバージョンに置き換えてください。ここに示したバージョン (1.13.3) はあくまで例であり、いずれ古くなります。 -
operator と Custom Resource Definition (CRD) をインストールします。
-
operator が実行中であることを確認します。
Running状態の operator pod が表示されるはずです。
Step 5: MySQL データベースを設定する
SOME_PASSWORD は、任意の強力なパスワードに置き換えてください。
Step 6: W&B Custom Resource を設定する
以下の設定例には、いずれ古くなるイメージのバージョン tags が含まれています。すべての
tag: の値を、Step 1 で社内 registry に転送した実際のバージョンに置き換えてください。wandb.yaml という名前のファイルを作成し、次の内容を記述します。
すべてのプレースホルダー値 (ホスト名、パスワード、タグなど) は、実際の設定値に置き換えてください。上記の例では、最も一般的に使用されるコンポーネントを示しています。
settingsMigrationJobweave-tracefilestreamflat-runs-table
Step 7: W&B プラットフォームをデプロイする
-
W&B Custom Resource を適用して、プラットフォームをデプロイします。
-
デプロイの進行状況を監視します。
operator が必要なコンポーネントをすべて作成するため、デプロイには数分かかる場合があります。
OpenShift の設定
OpenShift のセキュリティコンテキスト制約
restricted SCC が割り当てられ、root としての実行が禁止されるほか、特定のユーザー ID が必要になります。
オプション1: restricted SCCを使用する (推奨)
restricted SCC で実行されるように構成します。
オプション 2: カスタム SCC を作成する (必要な場合)
restricted SCC では利用できないケーパビリティが必要な場合は、カスタム SCC を作成します。
-
SCC を適用します。
-
SCC を W&B のサービスアカウントに関連付けます。
OpenShift Routes
OpenShift のイメージプル設定
-
イメージプルシークレットを作成します。
-
Custom Resource でこのシークレットを参照します。
OpenShift の完全な設定例
この例のすべての
tag: の値を、Step 1 で内部レジストリに転送した実際のバージョンに置き換えてください。ここに示しているバージョンはあくまで例であり、いずれ古くなります。セキュリティ要件に合わせた包括的な OpenShift の設定例については、W&B サポート または担当の W&B サポートエンジニアにお問い合わせください。
インストールを確認する
verify command は、すべてのコンポーネントと設定を検証する複数のテストを実行します。
この step では、最初の管理者ユーザーアカウントがブラウザで作成済みであることを前提としています。
- W&B CLI をインストールします:
- W&B にログインします:
- インストールを確認する:
エアギャップ 環境での追加検証
-
イメージプル: すべての Pod が内部レジストリからイメージを正常にプルできていることを確認します。
すべてのイメージが内部レジストリを参照しており、すべての Pod が
Running状態である必要があります。 -
外部接続: W&B が外部への接続を試みていないことを確認します (エアギャップ モードでは試行しないはずです) 。
- ライセンス検証: W&B コンソールにアクセスし、ライセンスが有効になっていることを確認します。
トラブルシューティング
イメージプルエラー
- イメージが内部レジストリに存在することを確認します
- イメージプルシークレットが正しく設定されていることを確認します
- Kubernetes ノードからレジストリへのネットワーク接続を確認します
-
レジストリの認証情報を確認します
OpenShift の SCC エラー
Helm チャートが見つからない
- Custom Resource 内のチャートリポジトリ URL を確認します
- operator の pod から内部 Helm リポジトリにアクセスできることを確認します
-
リポジトリ内にチャートが存在することを確認します:
よくある質問
別の ingress class を使用できますか?
複数の証明書を含む証明書バンドルはどうすればよいですか
customCACerts セクションで複数のエントリに分割します。
どうすれば自動更新を防止できますか
- operator のインストール時に
airgapped: trueを設定します (これにより自動更新のチェックが無効になります) - Custom Resource の
spec.chart.versionを手動で更新して、version の更新を管理します - 必要に応じて、W&B System Console から自動更新を無効にします
W&B では、セルフマネージド環境のインスタンスをご利用のお客様に対し、サポートを維持し、最新の機能、パフォーマンス改善、修正を利用できるようにするため、少なくとも四半期に 1 回はデプロイを最新 version に更新することを強く推奨しています。W&B は、各メジャーリリースを初回リリース日から 12 か月間サポートします。詳しくは、リリースポリシーとプロセスを参照してください。
このデプロイはパブリックリポジトリに接続しなくても動作しますか?
airgapped: true を指定すると、Kubernetes Operator は内部リソースのみを使用し、パブリックリポジトリへの接続は試みません。
エアギャップ環境で W&B を更新するにはどうすればよいですか?
- インターネットに接続されたシステムで新しいコンテナーイメージを取得します
- イメージをエアギャップ環境のレジストリに転送します
- 新しい Helm チャートを内部リポジトリにアップロードします
-
Custom Resource の
spec.chart.versionとイメージタグを更新します - 更新した Custom Resource を適用します オペレーターによって W&B コンポーネントのローリングアップデートが実行されます。
次のステップ
- ユーザー認証を設定する: SSO またはその他の認証方式を設定します
- 監視を設定する: W&B インスタンスとインフラストラクチャーの監視を設定します
- 更新を計画する: Server upgrade process を確認し、更新の実施頻度を定めます
- バックアップを設定する: MySQL データベースのバックアップ手順を確立します
- プロセスを文書化する: ご利用の エアギャップ 環境向けの更新手順の runbook を作成します
サポートを受ける
- インフラストラクチャーに関するガイダンスは、リファレンスアーキテクチャを参照してください
- 設定の詳細は、Operator ガイドを確認してください
- W&B サポートまたは担当の W&B サポートエンジニアに連絡してください
- OpenShift 固有の問題については、Red Hat OpenShift のドキュメントを参照してください