Pour permettre aux développeurs de déployer des charges de travail AI/ML sur des clusters TKG, en tant qu'opérateur de cluster, vous configurez l'environnement Kubernetes pour prendre en charge les opérations NVIDIA vGPU.

É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 vGPU. Reportez-vous à la section Workflow de l'administrateur vSphere pour le déploiement de charges de travail AI/ML sur des clusters TKG sur le Superviseur.

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 with Tanzu. 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 GPU NVAIE 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 TKG pour vGPU

Pour provisionner un cluster TKG 2 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 --vsphere-username USERNAME
  3. À l'aide de kubectl, faites basculer le contexte sur le Espace de noms vSphere que l'administrateur vSphere a créé pour le cluster TKG GPU.
    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 virtualmachineclassbindings
    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.

    Commencez par l'exemple fourni ici : Exemple v1alpha3 : TKC avec Ubuntu TKR. Utilisez les informations que vous avez collectées dans la sortie des commandes précédentes pour personnaliser la spécification du cluster.

  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 TKG en utilisant le Plug-in vSphere pour kubectl.
    kubectl vsphere login --server=IP-ADDRESS --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 de l'opérateur : Installer l'opérateur GPU avec NVIDIA AI Enterprise

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. Installez Helm en vous référant à la documentation Helm.
  2. Créez l'espace de noms Kubernetes gpu-operator.
    kubectl create namespace gpu-operator
  3. Créez un fichier de configuration de licence vGPU vide.
    sudo touch gridd.conf
  4. 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.

  5. Renommez le jeton de licence du client NLS que vous avez téléchargé en client_configuration_token.tok.
  6. 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
  7. 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
  8. 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>
  9. 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 4 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.