Pour permettre aux développeurs de déployer des charges de travail AI/ML sur des clusters de service TKG, en tant qu'opérateur de cluster, vous créez un ou plusieurs clusters Kubernetes et installez les opérateurs de réseau NVIDIA et GPU sur chacun d'entre eux.

Étape 1 pour l'opérateur : Vérifier les conditions préalables

Ces instructions partent du principe que l'administrateur vSphere a configuré l'environnement pour NVIDIA GPU. Reportez-vous à la section Workflow de l'administrateur vSphere pour le déploiement de charges de travail AI/ML sur des clusters TKGS.

Ces instructions partent du principe que vous installez l'édition NVIDIA AI Enterprise (NVAIE) de l'opérateur GPU, qui est préconfigurée et optimisée pour une utilisation avec vSphere IaaS control plane. L'opérateur GPU NVAIE est différent de l'opérateur GPU disponible dans le catalogue NGC public. Pour plus d'informations, reportez-vous à la page NVIDIA AI Enterprise.

Ces instructions supposent que vous utilisez une version de l'opérateur NVAIE GPU et du pilote vGPU qui dispose d'un VIB correspondant pour ESXi. Pour plus d'informations, reportez-vous à la page NVIDIA GPU Operator Versioning.

Lors du provisionnement du cluster TKG, vous devez utiliser l'édition Ubuntu de la TKR. Avec le Superviseur TKG sur vSphere 8, l'édition Ubuntu est spécifiée dans le cluster YAML à l'aide de l'annotation.

Étape 2 de l'opérateur : Provisionner un cluster TKGS pour NVIDIA vGPU

VMware offre la prise en charge native de TKGS pour les GPU virtuels NVIDIA sur les serveurs certifiés NVIDIA GPU avec Opérateur NVIDIA GPU et Opérateur réseau NVIDIA. Vous installez ces opérateurs dans un cluster de charge de travail TKGS. Pour provisionner un cluster TKGS afin d'héberger des charges de travail vGPU, procédez comme suit.
  1. Installez Outils de l'interface de ligne de commande Kubernetes pour vSphere .

    Reportez-vous à la section Installez l'Outils de l'interface de ligne de commande Kubernetes pour vSphere ..

  2. À l'aide du Plug-in vSphere pour kubectl, authentifiez-vous sur le Superviseur.
    kubectl vsphere login --server=IP-ADDRESS-or-FQDN --vsphere-username USERNAME
    Note : Le nom de domaine complet ne peut être utilisé que si le Superviseur est activé avec celui-ci.
  3. À l'aide de kubectl, faites basculer le contexte sur l'Espace de noms vSphere que l'administrateur vSphere a créé pour le cluster TKGS vGPU.
    kubectl config get-contexts
    kubectl config use-context TKG-GPU-CLUSTER-NAMESPACE
  4. Obtenez le nom de la classe de machine virtuelle personnalisée avec le profil vGPU créé par l'administrateur vSphere.
    kubectl get virtualmachineclass
    Note : La classe de machine virtuelle doit être liée au Espace de noms vSphere cible.
  5. Obtenez le nom de TKR de l'instance d'Ubuntu Version de Tanzu Kubernetes que l'administrateur vSphere a synchronisée à partir de la bibliothèque de contenu et ajoutée à l'Espace de noms vSphere.
    kubectl get tkr
  6. Création du YAML pour le provisionnement du cluster TKG compatible avec vGPU.
    1. Décidez quelle API de provisionnement du cluster TKGS vous allez utiliser : API v1alpha3 ou API v1beta1 : API de provisionnement de cluster TKG.
    2. En fonction de l'API que vous choisissez, reportez-vous à l'exemple Ubuntu pour cette API.
      Note : Vous devez utiliser une image du système d'exploitation Ubuntu. Vous ne pouvez pas utiliser Photon OS.
    3. Utilisez les informations que vous avez collectées dans la sortie des commandes précédentes pour personnaliser la spécification du cluster TKGS.
  7. Provisionnez le cluster en exécutant la commande kubectl suivante.
    kubectl apply -f CLUSTER-NAME.yaml
    Par exemple :
    kubectl apply -f tkg-gpu-cluster-1.yaml
  8. Vérifiez le provisionnement du cluster.
    Surveillez le déploiement des nœuds de cluster à l'aide de kubectl.
    kubectl get tanzukubernetesclusters -n NAMESPACE
  9. Connectez-vous au cluster TKGS vGPU en utilisant le Plug-in vSphere pour kubectl.
    kubectl vsphere login --server=IP-ADDRESS-or-FQDN --vsphere-username USERNAME \
    --tanzu-kubernetes-cluster-name CLUSTER-NAME --tanzu-kubernetes-cluster-namespace NAMESPACE-NAME
  10. Vérifiez le cluster.
    Utilisez la commande suivante pour vérifier le cluster :
    kubectl cluster-info
    kubectl get nodes
    kubectl get namespaces
    kubectl api-resources

Étape 3 pour l'opérateur : Installation de l'opérateur réseau NVIDIA

L'opérateur réseau NVIDIA exploite les ressources personnalisées Kubernetes et l'infrastructure de l'opérateur pour optimiser la mise en réseau de vGPU. Pour plus d'informations, reportez-vous à la section Opérateur réseau NVIDIA.
  1. Vérifiez que vous êtes connecté au cluster de charge de travail TKGS vGPU et que le contexte est défini sur l'espace de noms du cluster de charge de travail TKGS vGPU.

    Reportez-vous aux instructions Étape 2 de l'opérateur : Provisionner un cluster TKGS pour NVIDIA vGPU si nécessaire.

  2. Installez Helm en vous référant à la documentation Helm.
  3. Extrayez le graphique Helm de l'opérateur réseau NVIDIA.
    helm fetch https://helm.ngc.nvidia.com/nvaie/charts/network-operator-v1.1.0.tgz --username='$oauthtoken' --password=<YOUR API KEY> --untar
  4. Créez un fichier YAML pour les valeurs de configuration.
    vi values.yaml
  5. Remplissez le fichier values.yaml avec les informations suivantes.
    deployCR: true
     ofedDriver:
      deploy: true
     rdmaSharedDevicePlugin:
      deploy: true
      resources:
       - name: rdma_shared_device_a
       vendors: [15b3]
       devices: [ens192]
  6. Installez l'opérateur réseau NVIDIA à l'aide de la commande suivante.
    helm install network-operator -f ./values.yaml -n network-operator --create-namespace --wait network-operator/

Étape 4 pour l'opérateur : Installation de l'opérateur GPU NVIDIA

NVIDIA fournit un opérateur GPU préconfiguré pour les clients NVIDIA AI Enterprise. Ces instructions supposent que vous utilisez cette version préconfigurée de l'opérateur GPU. Ces instructions sont basées sur les instructions fournies par NVIDIA pour l'Installation de l'opérateur GPU, mais elles ont été mises à jour pour TKG sur vSphere 8.

Procédez comme suit pour installer l'opérateur GPU NVIDIA AI Enterprise sur le cluster TKG que vous avez provisionné.
  1. Vérifiez que vous êtes connecté au cluster de charge de travail TKGS vGPU et que le contexte est défini sur l'espace de noms du cluster de charge de travail TKGS vGPU.

    Reportez-vous aux instructions Étape 2 de l'opérateur : Provisionner un cluster TKGS pour NVIDIA vGPU si nécessaire.

  2. Installez Helm en vous référant à la documentation Helm, s'il n'est pas déjà installé.
  3. Créez l'espace de noms Kubernetes gpu-operator.
    kubectl create namespace gpu-operator
  4. Créez un fichier de configuration de licence vGPU vide.
    sudo touch gridd.conf
  5. Générez et téléchargez un jeton de licence client NLS.

    Reportez-vous à la Section 4.6. Generating a Client Configuration Token du guide NVIDIA License System User Guide.

  6. Renommez le jeton de licence du client NLS que vous avez téléchargé en client_configuration_token.tok.
  7. Créez l'objet ConfigMap licensing-config dans l'espace de noms gpu-operator.
    Incluez le fichier de configuration de la licence vGPU ( gridd.conf) et le jeton de licence du client NLS ( *.tok) dans ce ConfigMap.
    kubectl create configmap licensing-config \
        -n gpu-operator --from-file=gridd.conf --from-file=<path>/client_configuration_token.tok
  8. Créez un secret d'extraction d'image pour le registre privé qui contient le pilote graphique logiciel NVIDIA vGPU en conteneur pour Linux à utiliser avec l'opérateur GPU NVIDIA.
    Créez le secret d'extraction de l'image dans l'espace de noms gpu-operator avec le nom de secret de registre ngc-secret et le nom de registre privé nvcr.io/nvaie. Incluez votre clé API NGC et votre adresse e-mail dans les champs indiqués.
    kubectl create secret docker-registry ngc-secret \
    --docker-server=‘nvcr.io/nvaie’ \
    --docker-username=‘$oauthtoken’ \
    --docker-password=<YOUR_NGC_API_KEY> \
    --docker-email=<YOUR_EMAIL_ADDRESS> \
    -n gpu-operator
  9. Téléchargez le graphique Helm pour l'opérateur GPU NVAIE version 2.2.
    Remplacez votre clé d'API.
    helm fetchhttps://helm.ngc.nvidia.com/nvaie/charts/gpu-operator-2-2-v1.11.1.tgz--username=‘$oauthtoken’ \
    --password=<YOUR API KEY>
  10. Installez l'opérateur NVAIE GPU version 2.2 dans le cluster TKG.
    helm install gpu-operator ./gpu-operator-2-2-v1.11.1.tgz -n gpu-operator

Étape 5 pour l'opérateur : Déploiement d'une charge de travail AI/ML

Le catalogue NVIDIA GPU Cloud propose plusieurs images de conteneur prêtes à l'emploi que vous pouvez utiliser pour exécuter des charges de travail AI/ML sur vos clusters Tanzu Kubernetes compatibles avec vGPU. Pour plus d'informations sur les images disponibles, reportez-vous à la documentation NGC.