Questo documento descrive come configurare il deployment di Google Kubernetes Engine in modo da poter utilizzare Google Cloud Managed Service per Prometheus per raccogliere le metriche da NVIDIA Data Center GPU Manager. Questo documento mostra come eseguire le seguenti operazioni:
- Configurare l'esportatore per DCGM in modo che riporti le metriche.
Queste istruzioni si applicano solo se utilizzi la raccolta gestita con Managed Service per Prometheus. Se utilizzi la raccolta con deployment autonomo, consulta il repository di origine per DCGM Exporter per informazioni sull'installazione.
Queste istruzioni sono fornite a titolo di esempio e dovrebbero funzionare nella maggior parte degli ambienti Kubernetes. Per informazioni su un'offerta DCGM gestita, consulta Raccogliere e visualizzare le metriche DCGM.
Se hai difficoltà a installare un'applicazione o un esportatore a causa di policy organizzative o di sicurezza restrittive, ti consigliamo di consultare la documentazione open source per ricevere assistenza.
Per informazioni su NVIDIA Data Center GPU Manager, consulta NVIDIA DCGM.
Prerequisiti
Per raccogliere le metriche da DCGM utilizzando Managed Service per Prometheus e la raccolta gestita, il deployment deve soddisfare i seguenti requisiti:
- Il cluster deve eseguire Google Kubernetes Engine versione 1.28.15-gke.2475000 o successive.
- Devi eseguire Managed Service per Prometheus con la raccolta gestita abilitata. Per maggiori informazioni, consulta la guida introduttiva alla raccolta gestita.
Verifica di avere una quota sufficiente per le GPU NVIDIA.
Per enumerare i nodi GPU nel cluster GKE e i relativi tipi di GPU nel cluster pertinente, esegui il seguente comando:
kubectl get nodes -l cloud.google.com/gke-gpu -o jsonpath='{range .items[*]}{@.metadata.name}{" "}{@.metadata.labels.cloud\.google\.com/gke-accelerator}{"\n"}{end}'Tieni presente che potresti dover installare un driver GPU NVIDIA compatibile sui nodi se l'installazione automatica è stata disabilitata o non è supportata per la tua versione di GKE. Per verificare che il plug-in del dispositivo GPU NVIDIA sia in esecuzione, esegui il seguente comando:
kubectl get pods -n kube-system | grep nvidia-gpu-device-plugin
Installare l'esportatore DCGM
Ti consigliamo di installare l'esportatore DCGM,
DCGM-Exporter, utilizzando la seguente configurazione:
Configura l'inoltro della porta con il seguente comando:
kubectl -n gmp-public port-forward POD_NAME 9400
Accedi all'endpoint
localhost:9400/metricsutilizzando il browser o l'utilitàcurlin un'altra sessione del terminale.
Puoi personalizzare la sezione ConfigMap per selezionare le metriche GPU da emettere.
In alternativa, puoi utilizzare il grafico Helm ufficiale per installare DCGM Exporter.
Per applicare le modifiche alla configurazione da un file locale, esegui il seguente comando:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Puoi anche utilizzare Terraform per gestire le configurazioni.
Definire una risorsa PodMonitoring
Per l'individuazione dei target, l'operatore Managed Service per Prometheus richiede una risorsa PodMonitoring che corrisponda a DCGM Exporter nello stesso spazio dei nomi.
Puoi utilizzare la seguente configurazione PodMonitoring:
Per applicare le modifiche alla configurazione da un file locale, esegui il seguente comando:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Puoi anche utilizzare Terraform per gestire le configurazioni.
Verificare la configurazione
Puoi utilizzare Metrics Explorer per verificare di aver configurato correttamente DCGM Exporter. Cloud Monitoring potrebbe richiedere uno o due minuti per inserire le metriche.
Per verificare che le metriche siano state inserite, procedi come segue:
-
Nella Google Cloud console, vai alla leaderboard Esplora metriche pagina:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.
- Nella barra degli strumenti del riquadro del generatore di query, seleziona il pulsante il cui nome è code PromQL.
- Inserisci ed esegui la seguente query:
DCGM_FI_DEV_GPU_UTIL{cluster="CLUSTER_NAME", namespace="gmp-public"}
Risoluzione dei problemi
Per informazioni sulla risoluzione dei problemi di inserimento delle metriche, consulta Problemi con la raccolta dagli esportatori in Risoluzione dei problemi relativi all'inserimento.