NVIDIA NGC カタログのコンテナ イメージのローカル レジストリ、または検証済みの ML モデルを格納するためのローカル レジストリとして、スーパーバイザー サービスとしての Harbor を使用できます。

Harbor レジストリとスーパーバイザーの統合を使用する場合は、次のセットアップ方法に従います。

注: このドキュメントは、 VMware Cloud Foundation 5.2.1 に基づいています。 VMware Cloud Foundation 5.2 の VMware Private AI Foundation with NVIDIA 機能の詳細については、 VMware Cloud Foundation 5.2 向け VMware Private AI Foundation with NVIDIA ガイドを参照してください。
切断された環境
注: スーパーバイザーに Harbor サービスをインストールするには、インターネット接続が必要です。
  • GPU 対応ワークロード ドメインのスーパーバイザーでのみ Harbor レジストリを使用します。次の作業を実行します。
    1. スーパーバイザー サービスとして Harbor を有効にします。
      1. VMware Cloud Foundation 5.2.1 の場合は、管理ドメインの vCenter Server インスタンス (https://<vcenter_server_fqdn>/ui) にログインします。
      2. [vSphere Client] サイド パネルで、[Private AI Foundation] をクリックします。
      3. [Private AI Foundation] ワークフローで、上部にある [クラウドが切断されました] を選択し、[ワークロード ドメインの設定] セクションをクリックします。
      4. Contour および Harbor のスーパーバイザー サービスをインストールします。スーパーバイザー サービスとしての Harbor の有効化を参照してください。ガイド付き展開ワークフローでの Contour および Harbor スーパーバイザー サービスのインストール用ウィザードは、vSphere Client の [ワークロード管理] 領域内のものと同じです。
    2. VMware Private AI Foundation with NVIDIA のプライベート Harbor レジストリに AI コンテナ イメージをアップロードする

    切断された環境では、サービスをインストールした後、またはインストールして必要なコンテナ イメージの初期セットをダウンロードした後、環境をインターネットから切断して、Harbor サービスをローカル コンテナ レジストリとして使用開始できます。このアプローチでは、環境内のマシンに NVIDIA NGC カタログからコンテナ イメージを手動でダウンロードし、レジストリにアップロードする必要があります。

  • インターネットに接続された Harbor レジストリのレプリカである Harbor レジストリを使用します

    VMware Private AI Foundation with NVIDIA 環境外で実行される 1 つの Harbor レジストリは、常にインターネットに接続されています。GPU 対応ワークロード ドメインのスーパーバイザーの Harbor レジストリは、プロキシ メカニズムを使用して、接続されたレジストリからコンテナ イメージを受け取ります。このように、VMware Cloud Foundation インスタンスの主要コンポーネントは分離されたままになります。

    このアプローチでは、接続されたレジストリに追加のリソースが必要です。

注: ディープ ラーニング仮想マシンまたは TKG クラスタに展開する NVIDIA NGC コンテナをホストするために十分なストレージ領域を割り当てます。ストレージ領域には、各コンテナの少なくとも 3 つのバージョンを格納します。

Harbor サービスのインストール中または接続された Harbor レジストリの設定中にインターネットに接続することが組織にとってのオプションでない場合は、別のベンダーのコンテナ レジストリを使用します。

ML モデルの格納
GPU 対応ワークロード ドメインのスーパーバイザーで Harbor レジストリを使用します。次の作業を実行します。
  1. スーパーバイザー サービスとしての Harbor の有効化を参照してください。
  2. VMware Private AI Foundation with NVIDIA のプライベート Harbor レジストリに AI コンテナ イメージをアップロードする

VMware Private AI Foundation with NVIDIA のプライベート Harbor レジストリに AI コンテナ イメージをアップロードする

AI 対応のスーパーバイザーでのみ Harbor レジストリを使用する切断された環境では、ディープ ラーニング仮想マシンまたは TKG クラスタに展開する AI コンテナ イメージを NVIDIA NGC カタログから Harbor に手動でアップロードする必要があります。

手順

  1. NVIDIA NGC および切断された VMware Cloud Foundation インスタンスにアクセスするマシンで、Harbor レジストリの証明書を使用して Docker クライアントを構成します。
  2. NVIDIA NGC にログインします。
    予約済みのユーザー名 $oauthtoken を使用して、パスワード フィールドに API キーを貼り付けます。
    docker login nvcr.io
  3. 必要なコンテナ イメージを NVIDIA NGC カタログにアクセスできるマシンにプルし、アーカイブに保存します。
    たとえば、CUDA サンプル コンテナ イメージをダウンロードするには、次のコマンドを実行します。
    docker pull nvcr.io/nvidia/k8s/cuda-sample:vectoradd-cuda11.7.1-ubi8
    docker save > cuda-sample.tar nvcr.io/nvidia/k8s/cuda-sample:vectoradd-cuda11.7.1-ubi8
  4. ローカル コンテナ レジストリにアクセスできるマシンにアーカイブをコピーします。
  5. ローカル コンテナ レジストリにアクセスできるマシンで、コンテナ イメージをロードします。
    docker load < cuda-sample.tar
  6. Harbor レジストリにログインします。
    たとえば、Harbor レジストリが my-harbor-registry.example.com で実行されている場合は、次のコマンドを実行します。
    docker login my-harbor-registry.example.com
  7. プロジェクトにプッシュするイメージに、そのイメージを使用する名前空間と同じ名前をタグ付けします。
    たとえば、my-harbor-registry.example.com レジストリの my-private-ai-namespace プロジェクトの CUDA サンプル コンテナ イメージを最新としてタグ付けする場合は、次のコマンドを実行します。
    docker tag nvcr.io/nvidia/k8s/cuda-sample:vectoradd-cuda11.7.1-ubi8 my-harbor-registry.example.com/my-private-ai-namespace/cuda-sample:latest
    
  8. コンテナ イメージを Harbor レジストリにプッシュします。
    docker push my-harbor-registry.example.com/my-private-ai-namespace/cuda-sample:latest
    

接続されたレジストリのレプリカとして VMware Private AI Foundation with NVIDIA に Harbor レジストリを作成する

NVIDIA NGC カタログの最新のイメージに簡単に更新できるようにするには、別の VI ワークロード ドメインまたは VMware Cloud Foundation インスタンスにあり、インターネットに接続できるスーパーバイザーで Harbor レジストリを使用できます。次に、この接続されたレジストリを AI ワークロードを実行するスーパーバイザーに複製します。

最新のコンテナ イメージを NVIDIA NGC から接続された Harbor レジストリにプルし、プロキシキャッシュ接続を使用して切断されたレジストリに転送します。この方法により、コンテナ イメージをダウンロードして、頻繁に手動でアップロードする必要がなくなります。

注: 別のベンダーによって接続されたコンテナ レジストリを使用することもできます。

2 つのレジストリ間のネットワークは、次の方法で設定します。

  • 接続されたレジストリは、レプリカ レジストリにルーティング可能です。
  • 接続されたレジストリは DMZ に配置され、2 つのレジストリ間で docker pushdocker pull の通信のみが許可されます。

前提条件

GPU 対応ワークロード ドメインのスーパーバイザーで スーパーバイザー サービスとしての Harbor の有効化を行う。

手順

  1. 接続された Harbor レジストリ ユーザー インターフェイスに Harbor システム管理者としてログインします。
  2. [管理] > [レジストリ] ページに移動して、[Docker レジストリ] プロバイダを選択し、NVIDIA NGC API キーを使用して、NVIDIA NGC カタログ nvcr.io/nvaie のエンドポイントを作成します。
  3. [管理] > [プロジェクト] ページに移動し、nvcr.io/nvaie のエンドポイントに接続されたプロキシキャッシュ プロジェクトを作成します。
  4. [レジストリ] ページに戻り、切断されたレジストリのレプリケーション エンドポイントを作成して、[Harbor] プロバイダを選択します。
  5. [管理] > [レプリケーション] ページに移動し、レプリケーション ルールを作成します。
    • プッシュベースのレプリケーション モードを使用します。
    • [宛先レジストリ] プロパティに、AI 対応スーパーバイザー上の切断されたレジストリの URL を入力します。
    • 組織の要件に応じて、フィルタ、ターゲット名前空間、トリガ モードを設定します。

次のタスク

  1. Docker クライアント マシンで docker pull を実行して、組織に必要なコンテナ イメージを NVIDIA NGC から接続されたレジストリにプルします。
  2. レプリケーション ルールに手動トリガ モードがある場合は、必要に応じて手動でレプリケーションを実行します。