Se il tuo cluster ha nodi che utilizzano GPU NVIDIA, puoi monitorare l'utilizzo, le prestazioni e lo stato della GPU configurando il cluster in modo che invii le metriche di NVIDIA Data Center GPU Manager (DCGM) a Cloud Monitoring. Questa soluzione utilizza Google Cloud Managed Service per Prometheus per raccogliere le metriche da NVIDIA DCGM.
Questa pagina è rivolta agli amministratori IT e agli operatori che gestiscono il ciclo di vita dell'infrastruttura tecnologica sottostante. Per scoprire di più sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei contenuti di Google Cloud , consulta Ruoli e attività comuni degli utenti GKE.
Prima di iniziare
Per utilizzare Google Cloud Managed Service per Prometheus per raccogliere metriche da DCGM, il tuo deployment di Google Distributed Cloud deve soddisfare i seguenti requisiti:
Lo strumento DCGM-Exporter di NVIDIA deve essere già installato sul cluster. DCGM-Exporter viene installato quando installi NVIDIA GPU Operator. Per le istruzioni di installazione di NVIDIA GPU Operator, vedi Installare e verificare NVIDIA GPU Operator.
Google Cloud Managed Service per Prometheus deve essere abilitato. Per istruzioni, vedi Abilitare Google Cloud Managed Service per Prometheus.
Configura una risorsa PodMonitoring
Configura una risorsa PodMonitoring per Google Cloud Managed Service per Prometheus in modo da raccogliere le metriche esportate. Se hai difficoltà a installare un'applicazione o un esportatore a causa di norme organizzative o di sicurezza restrittive, ti consigliamo di consultare la documentazione open source per ricevere assistenza.
Per importare i dati delle metriche emessi dal pod DCGM Exporter
(nvidia-dcgm-exporter
), Google Cloud Managed Service per Prometheus
utilizza lo scraping dei target. Lo scraping dei target e l'importazione delle metriche vengono configurati utilizzando
le risorse
personalizzate di Kubernetes.
Il servizio gestito utilizza risorse personalizzate PodMonitoring.
Una risorsa personalizzata PodMonitoring esegue lo scraping dei target solo nello spazio dei nomi in cui è stato eseguito il deployment. Per eseguire lo scraping dei target in più spazi dei nomi, esegui il deployment della stessa risorsa personalizzata PodMonitoring in ogni spazio dei nomi.
Crea un file manifest con la seguente configurazione:
La sezione
selector
nel manifest specifica che il pod DCGM Exporter,nvidia-dcgm-exporter
, è selezionato per il monitoraggio. Questo pod viene deployment quando installi l'operatore GPU NVIDIA.apiVersion: monitoring.googleapis.com/v1 kind: PodMonitoring metadata: name: dcgm-gmp spec: selector: matchLabels: app: nvidia-dcgm-exporter endpoints: - port: metrics interval: 30s
Esegui il deployment della risorsa personalizzata PodMonitoring:
kubectl apply -n NAMESPACE -f FILENAME --kubeconfig KUBECONFIG
Sostituisci quanto segue:
NAMESPACE
: lo spazio dei nomi in cui stai eseguendo il deployment della risorsa personalizzata PodMonitoring.FILENAME
: il percorso del file manifest per la risorsa personalizzata PodMonitoring.KUBECONFIG
: il percorso del file kubeconfig per il cluster.
Verifica che la risorsa personalizzata PodMonitoring sia installata nello spazio dei nomi previsto eseguendo il comando seguente:
kubectl get podmonitoring -n NAMESPACE --kubeconfig KUBECONFIG
L'output dovrebbe essere simile al seguente:
NAME AGE dcgm-gmp 3m37s
Verificare la configurazione
Puoi utilizzare Metrics Explorer per verificare di aver configurato correttamente l'esportatore DCGM. Cloud Monitoring potrebbe richiedere uno o due minuti per inserire le metriche.
Per verificare che le metriche vengano importate, segui questi passaggi:
-
Nella console Google Cloud , vai alla pagina leaderboard Esplora metriche:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.
Utilizza Prometheus Query Language (PromQL) per specificare i dati da visualizzare nel grafico:
Nella barra degli strumenti del riquadro di Query Builder, fai clic su < > PromQL.
Inserisci la query nell'editor di query. Ad esempio, per tracciare un grafico del numero medio di secondi trascorsi dalle CPU in ogni modalità nell'ultima ora, utilizza la seguente query:
DCGM_FI_DEV_GPU_UTIL{cluster="CLUSTER_NAME", namespace="NAMESPACE"}
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del cluster con i nodi che utilizzano le GPU.NAMESPACE
: lo spazio dei nomi in cui hai eseguito il deployment della risorsa personalizzata PodMonitoring.
Per saperne di più sull'utilizzo di PromQL, consulta PromQL in Cloud Monitoring.