Se il tuo cluster ha nodi che utilizzano GPU NVIDIA, puoi monitorare l'utilizzo, le prestazioni e lo stato delle 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 Google Cloud contenuti, consulta Ruoli e attività comuni degli utenti GKE.
Prima di iniziare
Per utilizzare Google Cloud Managed Service per Prometheus per raccogliere le metriche da DCGM, il deployment di Google Distributed Cloud deve soddisfare i seguenti requisiti:
Lo strumento NVIDIA DCGM-Exporter deve essere già installato sul cluster. DCGM-Exporter viene installato quando installi NVIDIA GPU Operator. Per le istruzioni di installazione di NVIDIA GPU Operator, consulta Installare e verificare NVIDIA GPU Operator.
Google Cloud Managed Service per Prometheus deve essere abilitato. Per le istruzioni, consulta Abilitare Google Cloud Managed Service per Prometheus.
Configurare 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 criteri di sicurezza o organizzativi restrittivi, 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
PodMonitoring
risorse personalizzate.
Una risorsa personalizzata PodMonitoring esegue lo scraping dei target solo nello spazio dei nomi in cui è stata eseguita la sua distribuzione. 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
selectornel manifest specifica che il pod DCGM Exporter,nvidia-dcgm-exporter, è selezionato per il monitoraggio. Questo pod viene eseguito il deployment quando installi NVIDIA GPU Operator.apiVersion: monitoring.googleapis.com/v1 kind: PodMonitoring metadata: name: dcgm-gmp spec: selector: matchLabels: app: nvidia-dcgm-exporter endpoints: - port: metrics interval: 30sEsegui il deployment della risorsa personalizzata PodMonitoring:
kubectl apply -n NAMESPACE -f FILENAME --kubeconfig KUBECONFIGSostituisci 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 seguente comando:
kubectl get podmonitoring -n NAMESPACE --kubeconfig KUBECONFIGL'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 importare le metriche.
Per verificare che le metriche siano state importate:
-
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.
Utilizza Prometheus Query Language (PromQL) per specificare i dati da visualizzare nel grafico:
Nella barra degli strumenti del riquadro di creazione delle query, fai clic su < > PromQL.
Inserisci la query nell'editor di query. Ad esempio, per rappresentare graficamente il 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 ulteriori informazioni sull'utilizzo di PromQL, consulta PromQL in Cloud Monitoring.