Damit Entwickler KI-/ML-Arbeitslasten auf TKG-Dienstclustern bereitstellen können, erstellen Sie als Cluster-Operator einen oder mehrere Kubernetes-Cluster und installieren Sie die NVIDIA-Netzwerk- und GPU-Operatoren auf diesen Clustern.
Schritt 1 für Operatoren: Überprüfen der Voraussetzungen
Bei diesen Anweisungen wird davon ausgegangen, dass der vSphere-Administrator die Umgebung für NVIDIA GPU eingerichtet hat. Weitere Informationen finden Sie unter vSphere-Administrator-Workflow für die Bereitstellung von KI-/ML-Arbeitslasten auf TKGS-Clustern.
Bei diesen Anweisungen wird davon ausgegangen, dass Sie die NVIDIA AI Enterprise (NVAIE)-Edition des GPU-Operators installieren, der für die Verwendung mit vSphere IaaS control plane vorkonfiguriert und optimiert ist. Der NVAIE GPU Operator unterscheidet sich vom GPU-Operator, der im öffentlichen NGC-Katalog verfügbar ist. Weitere Informationen finden Sie unter NVIDIA AI Enterprise.
Bei diesen Anweisungen wird davon ausgegangen, dass Sie eine Version des NVAIE GPU-Operators und des vGPU-Treibers verwenden, die über ein passendes VIB für ESXi verfügt. Weitere Informationen finden Sie unter NVIDIA GPU Operator-Versionsverwaltung.
Bei der Bereitstellung des TKG-Clusters müssen Sie die Ubuntu-Edition des TKR verwenden. Mit TKG auf vSphere 8 Supervisor wird die Ubuntu-Edition in der Cluster-YAML über eine Anmerkung angegeben.
Schritt 2 für Operatoren: Bereitstellen eines TKGS-Clusters für NVIDIA vGPU
- Installieren Sie den Kubernetes-CLI-Tools für vSphere.
Weitere Informationen finden Sie unter Installieren des Kubernetes-CLI-Tools für vSphere.
- Authentifizieren Sie sich mithilfe des vSphere-Plug-In für kubectl beim Supervisor.
kubectl vsphere login --server=IP-ADDRESS-or-FQDN --vsphere-username USERNAME
Hinweis: Der FQDN kann nur verwendet werden, wenn Supervisor damit aktiviert ist. - Führen Sie mithilfe von kubectl einen Kontextwechsel zum vSphere-Namespace durch, den der vSphere-Administrator für den TKGS vGPU-Cluster erstellt hat.
kubectl config get-contexts
kubectl config use-context TKG-GPU-CLUSTER-NAMESPACE
- Rufen Sie den Namen der benutzerdefinierten VM-Klasse mit dem vGPU-Profil ab, das der vSphere-Administrator erstellt hat.
kubectl get virtualmachineclass
Hinweis: Die VM-Klasse muss an den Ziel- vSphere-Namespace gebunden werden. - Rufen Sie TKR NAME für die Ubuntu-Tanzu Kubernetes-Version ab, die der vSphere-Administrator über die Inhaltsbibliothek synchronisiert und dem vSphere-Namespace hinzugefügt hat.
kubectl get tkr
- Erstellen Sie die YAML für die Bereitstellung des vGPU-fähigen TKG-Clusters.
- Geben Sie an, welche Bereitstellungs-API für TKGS-Cluster verwendet werden soll: v1alpha3-API oder v1beta1-API: APIs für die TKG-Cluster-Bereitstellung.
- Abhängig von der ausgewählten API finden Sie entsprechende Informationen im Ubuntu-Beispiel für diese API.
Hinweis: Sie müssen ein Ubuntu-Betriebssystem-Image verwenden. Photon OS kann nicht verwendet werden.
- Verwenden Sie die Informationen, die Sie aus der Ausgabe der vorhergehenden Befehle abgerufen haben, um die Spezifikation des TKGS-Clusters anzupassen.
- Stellen Sie den Cluster bereit, indem Sie den folgenden kubectl-Befehl ausführen.
kubectl apply -f CLUSTER-NAME.yaml
Beispiel:kubectl apply -f tkg-gpu-cluster-1.yaml
- Überprüfen Sie die Clusterbereitstellung.
Überwachen Sie die Bereitstellung von Clusterknoten mithilfe von kubectl.
kubectl get tanzukubernetesclusters -n NAMESPACE
- Melden Sie sich beim TKGS vGPU-Cluster mithilfe des vSphere-Plug-In für kubectl an.
kubectl vsphere login --server=IP-ADDRESS-or-FQDN --vsphere-username USERNAME \ --tanzu-kubernetes-cluster-name CLUSTER-NAME --tanzu-kubernetes-cluster-namespace NAMESPACE-NAME
- Überprüfen Sie den Cluster.
Verwenden Sie die folgenden Befehle zum Überprüfen des Clusters:
kubectl cluster-info
kubectl get nodes
kubectl get namespaces
kubectl api-resources
Schritt 3 für Operatoren: Installieren des NVIDIA-Netzwerkoperators
- Stellen Sie sicher, dass Sie beim TKGS vGPU-Arbeitslastcluster angemeldet sind und dass der Kontext auf den Namespace des TKGS vGPU-Arbeitslastclusters festgelegt ist.
Beachten Sie gegebenenfalls die Anweisungen unter Schritt 2 für Operatoren: Bereitstellen eines TKGS-Clusters für NVIDIA vGPU.
- Installieren Sie Helm und beachten Sie dabei die Helm-Dokumentation.
- Rufen Sie das Helm-Diagramm des NVIDIA-Netzwerkoperators ab.
helm fetch https://helm.ngc.nvidia.com/nvaie/charts/network-operator-v1.1.0.tgz --username='$oauthtoken' --password=<YOUR API KEY> --untar
- Erstellen Sie eine YAML-Datei für die Konfigurationswerte.
vi values.yaml
- Befüllen Sie die Datei
values.yaml
mit den folgenden Informationen.deployCR: true ofedDriver: deploy: true rdmaSharedDevicePlugin: deploy: true resources: - name: rdma_shared_device_a vendors: [15b3] devices: [ens192]
- Installieren Sie den NVIDIA-Netzwerkoperator mithilfe des folgenden Befehls.
helm install network-operator -f ./values.yaml -n network-operator --create-namespace --wait network-operator/
Schritt 4 für Operatoren: Installieren des NVIDIA GPU-Operators
NVIDIA stellt Kunden einen vorkonfigurierten GPU-Operator für NVIDIA AI Enterprise zur Verfügung. Bei diesen Anweisungen wird davon ausgegangen, dass Sie diese vorkonfigurierte Version des GPU-Operators verwenden. Diese Anweisungen basieren auf den Anweisungen von NVIDIA zum Installieren des GPU-Operators, wurden aber für TKG auf vSphere 8 aktualisiert.
- Stellen Sie sicher, dass Sie beim TKGS vGPU-Arbeitslastcluster angemeldet sind und dass der Kontext auf den Namespace des TKGS vGPU-Arbeitslastclusters festgelegt ist.
Beachten Sie gegebenenfalls die Anweisungen unter Schritt 2 für Operatoren: Bereitstellen eines TKGS-Clusters für NVIDIA vGPU.
- Installieren Sie Helm gegebenenfalls unter Verwendung der Helm-Dokumentation.
- Erstellen Sie den Kubernetes-Namespace
gpu-operator
.kubectl create namespace gpu-operator
- Erstellen Sie eine leere vGPU-Lizenzkonfigurationsdatei.
sudo touch gridd.conf
- Generieren Sie ein NLS-Clientlizenztoken und laden Sie es herunter.
Weitere Informationen finden Sie in Abschnitt 4.6. Generieren eines Clientkonfigurationstokens des Benutzerhandbuchs zum NVIDIA-Lizenzsystem.
- Benennen Sie das NLS-Clientlizenztoken um, das Sie nach
client_configuration_token.tok
heruntergeladen haben. - Erstellen Sie das ConfigMap-Objekt
licensing-config
im Namespacegpu-operator
.Berücksichtigen Sie die Konfigurationsdatei für die vGPU-Lizenz (gridd.conf
) und das NLS-Clientlizenztoken (*.tok
) in dieser ConfigMap.kubectl create configmap licensing-config \ -n gpu-operator --from-file=gridd.conf --from-file=<path>/client_configuration_token.tok
- Erstellen Sie einen geheimen Schlüssel zum Abrufen von Images für die private Registrierung, die den containerisierten NVIDIA vGPU-Softwaregrafiktreiber für Linux zur Verwendung mit NVIDIA GPU Operator enthält.
Erstellen Sie einen geheimen Schlüssel zum Abrufen von Images im Namespace
gpu-operator
mit dem Namen des Registrierungsgeheimschlüsselsngc-secret
und dem Namen der privaten Registrierungnvcr.io/nvaie
. Schließen Sie den NGC-API-Schlüssel und die E-Mail-Adresse in die angegebenen Felder ein.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
- Laden Sie das Helm-Diagramm für NVAIE GPU Operator, Version 2.2 herunter.
Ersetzen Sie „IHR API-SCHLÜSSEL“.
helm fetchhttps://helm.ngc.nvidia.com/nvaie/charts/gpu-operator-2-2-v1.11.1.tgz--username=‘$oauthtoken’ \ --password=<YOUR API KEY>
- Installieren Sie NVAIE GPU Operator, Version 2.2 im TKG-Cluster.
helm install gpu-operator ./gpu-operator-2-2-v1.11.1.tgz -n gpu-operator
Schritt 5 für Operatoren: Bereitstellen einer KI-/ML-Arbeitslast
Der NVIDIA GPU-Cloud-Katalog enthält mehrere standardmäßige Container-Images, die Sie zum Ausführen von KI-/ML-Arbeitslasten auf Ihren vGPU-fähigen Tanzu Kubernetes-Clustern verwenden können. Weitere Informationen zu den verfügbaren Images finden Sie in der Dokumentation zu NGC.