Consulte este tema delta si utiliza el servidor de licencias delegado (DLS) de NVIDIA para su cuenta de NVIDIA AI Enterprise.

Anexo de operadores de clúster para implementar cargas de trabajo de AI/ML en clústeres TKGS

NVIDIA proporciona un nuevo sistema de servidor de licencias NVIDIA (NLS) denominado DLS, que significa servidor delegado de licencias (DLS, Delegated Licensing Server). Para obtener más información, consulte la documentación de NVIDIA.

Si utiliza DLS para su cuenta de NVAIE, los pasos para preparar e implementar el operador de GPU NVAIE son diferentes de los que se describen aquí: Flujo de trabajo de operadores de clúster para implementar cargas de trabajo de AI/ML en clústeres TKGS. En concreto, los pasos 9 y 10 se modifican de la siguiente manera.

Paso 9 del operador: Prepararse para instalar el operador de GPU NVAIE

Complete los siguientes pasos para preparar la instalación del operador de GPU mediante un DLS.
  1. Cree un secreto.
    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
    
    Nota: La contraseña es la clave de API de usuario que se creó previamente en el portal de NVIDIA GPU Cloud (NGC).
  2. Obtenga un token de cliente del servidor DLS.

    Un usuario que desee utilizar una licencia de vGPU tendrá que obtener un token de ese servidor de licencias DLS denominado "token de cliente". El mecanismo para hacerlo se encuentra en la documentación de NVIDIA.

  3. Cree un objeto ConfigMap en el clúster TKGS mediante el token de cliente.

    Coloque el archivo del token de cliente en un archivo en <ruta>/client_configuration_token.tok.

    A continuación, ejecute el siguiente comando:

    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
    
    Nota: El archivo grid.conf que utiliza el servidor DLS está vacío. Sin embargo, ambos parámetros "--from-file" son obligatorios.

Paso 10 del operador: Instalar el operador de GPU NVAIE

Complete los siguientes pasos para instalar el operador de GPU NVAIE mediante un servidor DLS. Para ver más instrucciones, consulte la documentación del operador de GPU.
  1. Instale el operador de GPU NVAIE en el clúster TKGS.
    • Para instalar Helm, consulte la documentación de Helm.
    • Agregue el repositorio de Helm gpu-operator.
      helm repo add nvidia https://nvidia.github.io/gpu-operator
    • Instale el operador de GPU mediante Helm.
      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. Compruebe que el servidor DLS ha funcionado.

    Desde un pod DaemonSet del controlador de NVIDIA que implementó el operador de GPU, ejecute el comando nvidia-smi para comprobar que el servidor DLS funciona.

    En primer lugar, ejecute el siguiente comando para acceder al pod y activar una sesión de shell:
    kubectl exec -it nvidia-driver-daemonset-cvxx6 nvidia-driver-ctr -n gpu-operator-resources – bash
    Ahora puede ejecutar el comando para comprobar la configuración del servidor DLS.
    nvidia-smi

    Si DLS está configurado correctamente, este comando debe devolver "Con licencia" en los resultados.