Wenn Ihr Cluster Knoten mit NVIDIA-GPUs hat, können Sie die GPU-Auslastung, -Leistung und -Zustand überwachen, indem Sie den Cluster so konfigurieren, dass NVIDIA Data Center GPU Manager-Messwerte (DCGM) an Cloud Monitoring gesendet werden. Bei dieser Lösung werden mit Google Cloud Managed Service for Prometheus Messwerte aus NVIDIA DCGM erfasst.
Diese Seite richtet sich an IT-Administratoren und ‑Betreiber, die den Lebenszyklus der zugrunde liegenden technischen Infrastruktur verwalten. Weitere Informationen zu gängigen Rollen und Beispielaufgaben, auf die wir in unseren Inhalten verweisen, finden Sie unter Häufig verwendete GKE Enterprise-Nutzerrollen und ‑Aufgaben. Google Cloud
Hinweis
Wenn Sie Google Cloud Managed Service for Prometheus zum Erfassen von Messwerten aus DCGM verwenden möchten, muss Ihre Google Distributed Cloud-Bereitstellung die folgenden Anforderungen erfüllen:
Das DCGM-Exporter-Tool von NVIDIA muss bereits auf Ihrem Cluster installiert sein. DCGM-Exporter wird installiert, wenn Sie den NVIDIA GPU-Operator installieren. Eine Anleitung zum Installieren des NVIDIA GPU-Betriebssystems finden Sie unter NVIDIA GPU-Betriebssystem installieren und prüfen.
Google Cloud Managed Service for Prometheus muss aktiviert sein. Eine Anleitung finden Sie unter Google Cloud Managed Service for Prometheus aktivieren.
PodMonitoring-Ressource konfigurieren
Eine PodMonitoring-Ressource für Google Cloud Managed Service for Prometheus konfigurieren, um die exportierten Messwerte zu erfassen. Wenn Sie aufgrund von restriktiven Sicherheits- oder Organisationsrichtlinien Probleme beim Installieren einer Anwendung oder eines Exporters haben, empfehlen wir Ihnen, die Open Source-Dokumentation für Support zu nutzen.
Zur Aufnahme der vom DCGM-Exporter-Pod (nvidia-dcgm-exporter
) gesendeten Messwertdaten verwendet Google Cloud Managed Service for Prometheus Ziel-Extraktion. Ziel-Extraktion und Messwertaufnahme werden mit benutzerdefinierten Ressourcen von Kubernetes konfiguriert.
Der verwaltete Dienst verwendet benutzerdefinierte PodMonitoring-Ressourcen.
Eine benutzerdefinierte PodMonitoring-Ressource wendet Ziel-Scraping nur in dem Namespace an, in dem sie bereitgestellt wird. Wenn Sie Ziele in mehreren Namespaces scrapen möchten, stellen Sie in jedem Namespace dieselbe benutzerdefinierte PodMonitoring-Ressource bereit.
Erstellen Sie eine Manifestdatei mit der folgenden Konfiguration:
Im Abschnitt
selector
im Manifest wird angegeben, dass der DCGM-Export-Podnvidia-dcgm-exporter
für das Monitoring ausgewählt ist. Dieser Pod wird bereitgestellt, wenn Sie den NVIDIA GPU-Operator installieren.apiVersion: monitoring.googleapis.com/v1 kind: PodMonitoring metadata: name: dcgm-gmp spec: selector: matchLabels: app: nvidia-dcgm-exporter endpoints: - port: metrics interval: 30s
Stellen Sie die benutzerdefinierte PodMonitoring-Ressource bereit:
kubectl apply -n NAMESPACE -f FILENAME --kubeconfig KUBECONFIG
Ersetzen Sie Folgendes:
NAMESPACE
: der Namespace, in dem Sie die benutzerdefinierte PodMonitoring-Ressource bereitstellen.FILENAME
: der Pfad der Manifestdatei für die benutzerdefinierte Ressource „PodMonitoring“.KUBECONFIG
: Pfad der kubeconfig-Datei für den Cluster.
Führen Sie den folgenden Befehl aus, um zu prüfen, ob die benutzerdefinierte Ressource „PodMonitoring“ im gewünschten Namespace installiert ist:
kubectl get podmonitoring -n NAMESPACE --kubeconfig KUBECONFIG
Die Ausgabe sollte in etwa so aussehen:
NAME AGE dcgm-gmp 3m37s
Konfiguration prüfen
Mit dem Metrics Explorer können Sie prüfen, ob der DCGM-Exporter richtig konfiguriert ist. Es kann ein oder zwei Minuten dauern, bis Cloud Monitoring Ihre Messwerte aufgenommen hat.
So prüfen Sie, ob die Messwerte aufgenommen wurden:
-
Rufen Sie in der Google Cloud Console die Seite leaderboard Metrics Explorer auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
Verwenden Sie die Prometheus-Abfragesprache (PromQL), um die Daten anzugeben, die im Diagramm angezeigt werden sollen:
Klicken Sie in der Symbolleiste des Bereichs „Query Builder“ auf < > PromQL.
Geben Sie eine Abfrage in den Abfrageeditor ein. Wenn Sie beispielsweise die durchschnittliche Anzahl der Sekunden, die die CPUs in den einzelnen Modi in der letzten Stunde verbracht haben, grafisch darstellen möchten, verwenden Sie die folgende Abfrage:
DCGM_FI_DEV_GPU_UTIL{cluster="CLUSTER_NAME", namespace="NAMESPACE"}
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des Clusters mit Knoten, die GPUs verwenden.NAMESPACE
: der Namespace, in dem Sie die benutzerdefinierte PodMonitoring-Ressource bereitgestellt haben.
Weitere Informationen zur Verwendung von PromQL finden Sie unter PromQL in Cloud Monitoring.