メインコンテンツへスキップ
Weave on self-managed infrastructureは現在プライベートプレビュー中です。本番環境では、W&Bは強く推奨しています W&B Dedicated Cloud、そこではWeaveは一般提供されています。本番グレードの自己管理インスタンスをデプロイするには、support@wandb.com
このガイドでは、自己管理環境でW&B Weaveを実行するために必要なすべてのコンポーネントをデプロイする方法について説明します。 自己管理Weaveデプロイメントの重要なコンポーネントはClickHouseDBで、Weaveアプリケーションバックエンドはこれに依存しています。 デプロイメントプロセスでは完全に機能するClickHouseDBインスタンスがセットアップされますが、本番環境での信頼性と高可用性を確保するために追加の手順が必要な場合があります。

要件

  • W&B Platformがインストールされていること。詳細については、Self-Managed Deployment Guideを参照してください。
  • Bitnami’s ClickHouse Helm Chart
  • ClickHouseストレージ用に事前設定されたS3バケット。設定の詳細については、Provide S3 Credentialsを参照してください。
  • 以下の仕様を持つKubernetesクラスターノード:
    • CPU: 8 cores
    • RAM: 64 GB
    • Disk: 200GB+
  • W&BからのWeave対応ライセンス。ライセンスをリクエストするには、support@wandb.comにお問い合わせください。
詳細なリファレンスアーキテクチャについては、https://docs.wandb.ai/guides/hosting/self-managed/ref-arch/を参照してください。

1. ClickHouseを設定する

このドキュメントのClickHouseデプロイメントでは、Bitnami ClickHouseパッケージを使用しています。 Bitnami Helmチャートは、基本的なClickHouse機能、特にClickHouse Keeperの使用に対して良いサポートを提供しています。 Clickhouseを設定するには、以下の手順を完了してください:
  1. Helmリポジトリを設定する
  2. Helm設定を作成する
  3. S3認証情報を提供する

Helmリポジトリを設定する

  1. Bitnami Helmリポジトリを追加します: helm repo add bitnami https://charts.bitnami.com/bitnami
  2. リポジトリを更新します: helm repo update

Helm設定を作成する

Helm設定の最も重要な部分は、XML形式で提供されるClickHouse設定です。以下はvalues.yamlファイルの例で、ニーズに合わせてカスタマイズ可能なパラメータが含まれています。 設定プロセスを簡単にするために、関連セクションにコメントを追加しています。コメントは{/* COMMENT */}の形式で記載されています。 以下のパラメータを変更してください:
  • clusterName
  • auth.username
  • auth.password
  • S3バケット関連の設定
W&BはclusterNameの値をvalues.yaml内でweave_clusterに設定することを推奨しています。これはW&B Weaveがデータベースマイグレーションを実行する際に期待されるクラスター名です。異なる名前を使用する必要がある場合は、Setting clusterNameセクションで詳細を確認してください。

S3エンドポイント設定

各ClickHouseレプリカがバケット内の自分のフォルダにデータを読み書きできるようにするため、バケットエンドポイントを環境変数として設定する必要があります。
バケットエンドポイント設定から$(CLICKHOUSE_REPLICA_ID)を削除しないでください。これにより、各ClickHouseレプリカがバケット内の自分のフォルダからデータを読み書きすることが保証されます。

S3認証情報を提供する

S3バケットにアクセスするための認証情報は、設定をハードコーディングするか、ClickHouseが環境変数またはEC2インスタンスからデータを取得するようにすることで指定できます。

設定をハードコーディングする

ストレージ設定に認証情報を直接含めます:

環境変数またはEC2メタデータを使用する

認証情報をハードコーディングする代わりに、環境変数またはAmazon EC2インスタンスメタデータから動的に取得するようにClickHouseを設定できます。
詳細についてはClickHouse: Separation of Storage and Computeを参照してください。

2. ClickHouseをインストールしてデプロイする

リポジトリをセットアップし、values.yamlファイルを準備したら、次のステップはClickHouseをインストールすることです。
バージョン8.0.10を使用していることを確認してください。最新のチャートバージョン(9.0.0)は、このドキュメントで提案されている設定では動作しません。

3. ClickHouseデプロイメントを確認する

以下のコマンドを使用して、ClickHouseがデプロイされていることを確認します:
以下のポッドが表示されるはずです:

4. Weaveをデプロイする

WeaveはW&B Operatorを通じて自動デプロイが可能です。W&B Platformがインストールされている状態で、以下の手順を完了してください:
  1. プラットフォームのデプロイに使用されるCR instanceを編集します。
  2. Weave設定を追加します。

5. 情報を収集する

  1. Weaveトレーシングを設定するために、Kubernetesサービスの詳細を使用します:
  • Endpoint: <release-name>-headless.<namespace>.svc.cluster.local
    • Replace <release-name> with your Helm release name
    • Replace <namespace> with your NAMESPACE
    • Get the service details: kubectl get svc -n <namespace>
  • Username: Set in the values.yaml
  • Password: Set in the values.yaml
  1. この情報を使用して、以下の設定を追加してW&B Platform Custom Resource(CR)を更新します:
複数のレプリカを使用する場合(W&Bは少なくとも3つのレプリカを推奨)、Weave Tracesに対して以下の環境変数が設定されていることを確認してください。
これはreplicated: trueと同じ効果があり、プレビュー中です。
  1. Set the clusterName in values.yaml to weave_cluster. If it is not, the database migration will fail. または、異なるクラスター名を使用する場合は、以下の例に示すように、WF_CLICKHOUSE_REPLICATED_CLUSTER環境変数をweave-trace.extraEnvで選択した名前と一致するように設定します。
    最終的な設定は以下の例のようになります:
  2. Custom Resource (CR)を準備したら、新しい設定を適用します:

6. Weaveにアクセスする

デプロイメントが実行されたら、hostオプションで設定されたW&Bエンドポイントにアクセスすると、Weaveライセンスのステータスが有効として表示されるはずです。 Weave