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 di base. Per scoprire di più sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei contenuti, consulta Ruoli e attività comuni degli utenti di GKE Enterprise. Google Cloud
Prima di iniziare
Per utilizzare Google Cloud Managed Service per Prometheus per raccogliere le metriche da DCGM, il tuo deployment 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, consulta Installare e verificare NVIDIA GPU Operator.
Google Cloud Managed Service per Prometheus deve essere abilitato. Per istruzioni, consulta Abilitare Google Cloud Managed Service per Prometheus.
Configurare una risorsa PodMonitoring
Configura una risorsa PodMonitoring per Google Cloud Managed Service per Prometheus per 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 dell'esportatore DCGM
(nvidia-dcgm-exporter
), Google Cloud Managed Service per Prometheus
utilizza lo scraping del target. Lo scraping dei target e l'importazione delle metriche vengono configurati utilizzando le risorse personalizzate di Kubernetes.
Il servizio gestito utilizza le risorse personalizzate di PodMonitoring.
Una risorsa personalizzata PodMonitoring esegue lo scraping dei target solo nello spazio dei nomi in cui è eseguita. 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 file manifest specifica che il pod dell'esportatore DCGM,nvidia-dcgm-exporter
, è selezionato per il monitoraggio. Questo pod viene dispiegato 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 implementando la 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, esegui il seguente comando:
kubectl get podmonitoring -n NAMESPACE --kubeconfig KUBECONFIG
L'output dovrebbe essere simile al seguente:
NAME AGE dcgm-gmp 3m37s
Verificare la configurazione
Puoi utilizzare Esplora metriche per verificare di aver configurato correttamente l'esportatore DCGM. L'importazione delle metriche da parte di Cloud Monitoring potrebbe richiedere uno o due minuti.
Per verificare che le metriche siano importate, procedi nel seguente modo:
-
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 sul grafico:
Nella barra degli strumenti del riquadro Query Builder, fai clic su < > PromQL.
Inserisci la query nell'editor delle query. Ad esempio, per tracciare un grafico sul numero medio di secondi trascorsi dalle CPU in ogni modalità nell'ora precedente, 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.