NVIDIA AI Enterprise アカウントで NVIDIA Delegated Licensing Server (DLS) を使用している場合は、この差分トピックを参照してください。

TKGS クラスタへの AI/ML ワークロードのデプロイに関するクラスタ オペレータについての補足

NVIDIA は、DLS (Delegated Licensing Serve) と呼ばれる新しい NVIDIA ライセンス サーバ (NLS) システムを提供しています。詳細については、NVIDIA のドキュメントを参照してください。

NVAIE アカウントで DLS を使用している場合、NVAIE GPU Operator の準備とデプロイの手順はTKGS クラスタへの AI/ML ワークロードのデプロイに関するクラスタ オペレータのワークフローに記載されている内容と異なります。具体的には、手順 9 および 10 は次のように変更されています。

Operator の手順 9:NVAIE GPU Operator のインストール準備を行う

次の手順を実行し、DLS を使用して GPU Operator をインストールする準備を行います。
  1. シークレットを作成します。
    kubectl create secret docker-registry registry-secret \
      --docker-server=<users private NGC registry name> 
      --docker-username='$oauthtoken' \
      --docker-password=ZmJj…………Ri \
      --docker-email=<user-email-address> -n gpu-operator-resources
    
    注: パスワードは、以前に NVIDIA GPU Cloud (NGC) ポータルで作成されたユーザー API キーです。
  2. DLS サーバからクライアント トークンを取得します。

    vGPU ライセンスを使用するユーザーは、DLS ライセンス サーバから「クライアント トークン」と呼ばれるトークンを取得する必要があります。この操作のメカニズムは、NVIDIA のドキュメントに記載されています。

  3. クライアント トークンを使用して、TKGS クラスタ内に構成マップ オブジェクトを作成します。

    クライアント トークン ファイルを <path>/client_configuration_token.tok に配置します。

    次のコマンドを実行します。

    kubectl delete configmap licensing-config -n gpu-operator-resources; > gridd.conf
    kubectl create configmap licensing-config \
      -n gpu-operator-resources --from-file=./gridd.conf --from-file=./client_configuration_token.tok
    
    注: DLS で使用される grid.conf ファイルは空です。ただし、両方の「--from-file」パラメータは必須です。

Operator の手順 10:NVAIE GPU Operator をインストールする

次の手順を実行して、DLS を使用して NVAIE GPU Operator をインストールします。その他のガイダンスについては、GPU Operator の ドキュメントを参照してください。
  1. TKGS クラスタに NVAIE GPU Operator をインストールします。
    • Helm ドキュメントを参照して、Helm をインストールします。
    • gpu-operator Helm リポジトリを追加します。
      helm repo add nvidia https://nvidia.github.io/gpu-operator
    • Helm を使用して GPU Operator をインストールします。
      export PRIVATE_REGISTRY="<user’s private registry name>"
      export OS_TAG=ubuntu20.04
      export VERSION=470.63.01
      export VGPU_DRIVER_VERSION=470.63.01-grid
      export NGC_API_KEY=Zm……………Ri  <- The user’s NGC AP Key
      export REGISTRY_SECRET_NAME=registry-secret
      
      helm show chart .
      kubectl delete crd clusterpolicies.nvidia.com
      helm install gpu-operator . -n gpu-operator-resources \
        --set psp.enabled=true \
        --set driver.licensingConfig.configMapName=licensing-config \
        --set operator.defaultRuntime=containerd \
        --set driver.imagePullSecrets={$REGISTRY_SECRET_NAME} \
        --set driver.version=$VERSION \
        --set driver.repository=$PRIVATE_REGISTRY \
        --set driver.licensingConfig.nlsEnabled=true
      
  2. DLS が機能していることを確認します。

    GPU Operator によってデプロイされた NVIDIA ドライバの DaemonSet ポッド内で nvidia-smi コマンドを実行して、DLS が機能していることを確認します。

    まず、次のコマンドを実行してポッドに移動し、シェル セッションを起動します。
    kubectl exec -it nvidia-driver-daemonset-cvxx6 nvidia-driver-ctr -n gpu-operator-resources – bash
    これで、コマンドを実行して、DLS の設定を確認できるようになりました。
    nvidia-smi

    DLS が正しく設定されている場合は、このコマンドの出力で「Licensed」が返されます。