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 2 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 partent du principe que vous installez l'opérateur GPU NVAIE version 2.2 (v1.11.1) à l'aide de son image prédéfinie de pilote vGPU. 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 2 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 2 pour vGPU
- 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 ..
- À l'aide du Plug-in vSphere pour kubectl, authentifiez-vous sur le Superviseur.
kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
- À 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
- 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. - 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
- 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.
- 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
- Vérifiez le provisionnement du cluster.
Surveillez le déploiement des nœuds de cluster à l'aide de kubectl.
kubectl get tanzukubernetesclusters -n NAMESPACE
- 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
- 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 2 sur vSphere 8.
- Installez Helm en vous référant à la documentation Helm.
- Créez l'espace de noms Kubernetes
gpu-operator
.kubectl create namespace gpu-operator
- Créez un fichier de configuration de licence vGPU vide.
sudo touch gridd.conf
- 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.
- Renommez le jeton de licence du client NLS que vous avez téléchargé en
client_configuration_token.tok
. - Créez l'objet ConfigMap
licensing-config
dans l'espace de nomsgpu-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
- 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 registrengc-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
- 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>
- 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.