Ce document explique comment configurer votre déploiement Google Kubernetes Engine en vue d'utiliser Google Cloud Managed Service pour Prometheus afin de collecter des métriques à partir du gestionnaire GPU de centre de données NVIDIA. Ce document vous explique comment :
- configurer l'exportateur pour DCGM afin de générer des rapports sur les métriques ;
- configurer une ressource PodMonitoring pour Managed Service pour Prometheus afin de collecter les métriques exportées ;
Ces instructions ne s'appliquent que si vous utilisez une collecte gérée avec Managed Service pour Prometheus. Si vous utilisez une collecte autodéployée, consultez le dépôt source pour l'exportateur DCGM afin d'obtenir des informations sur l'installation.
Ces instructions sont fournies à titre d'exemple et devraient fonctionner dans la plupart des environnements Kubernetes. Pour en savoir plus sur une offre DCGM gérée, consultez la section Collecter et afficher les métriques DCGM.
Si vous rencontrez des difficultés pour installer une application ou un exportateur en raison de règles de sécurité ou d'organisation restrictives, nous vous recommandons de consulter la documentation Open Source pour obtenir de l'aide.
Pour en savoir plus sur DCGM, consultez la page DCGM NVIDIA.
Prérequis
Pour collecter des métriques à partir de DCGM en utilisant Managed Service pour Prometheus et la collecte gérée, votre déploiement doit répondre aux exigences suivantes :
- Votre cluster doit exécuter Google Kubernetes Engine version 1.21.4-gke.300 ou ultérieure.
- Vous devez exécuter Managed Service pour Prometheus en ayant activé la collecte gérée. Pour en savoir plus, consultez la page Premiers pas avec la collecte gérée.
Vérifiez que vous disposez d'un quota suffisant pour les GPU NVIDIA.
Pour énumérer les nœuds GPU de votre cluster GKE et leurs types de GPU dans le cluster approprié, exécutez la commande suivante :
kubectl get nodes -l cloud.google.com/gke-gpu -o jsonpath='{range .items[*]}{@.metadata.name}{" "}{@.metadata.labels.cloud\.google\.com/gke-accelerator}{"\n"}{end}'
Vous devrez peut-être installer un pilote de GPU NVIDIA compatible sur les nœuds, si l'installation automatique a été désactivée ou si elle n'est pas compatible avec votre version de GKE. Pour vérifier que le plug-in d'appareils GPU NVIDIA est en cours d'exécution, exécutez la commande suivante :
kubectl get pods -n kube-system | grep nvidia-gpu-device-plugin
Installer l'exportateur DCGM
Nous vous recommandons d'installer l'exportateur DCGM, DCGM-Exporter
, en utilisant la configuration suivante :
Configurez le transfert de port à l'aide de la commande suivante :
kubectl -n gmp-public port-forward POD_NAME 9400
Accédez au point de terminaison
localhost:9400/metrics
à l'aide du navigateur ou de l'utilitairecurl
dans une autre session de terminal.
Vous pouvez personnaliser la section ConfigMap afin de sélectionner les métriques de GPU à émettre.
Vous pouvez également utiliser le chart Helm officiel afin d'installer l'exportateur DCGM.
Pour appliquer les modifications de configuration à partir d'un fichier local, exécutez la commande suivante :
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Vous pouvez également utiliser Terraform pour gérer vos configurations.
Définir une ressource PodMonitoring
Pour la découverte des cibles, l'opérateur Managed Service pour Prometheus doit disposer d'une ressource PodMonitoring correspondant à l'exportateur DCGM dans le même espace de noms.
Vous pouvez utiliser la configuration PodMonitoring suivante :
Pour appliquer les modifications de configuration à partir d'un fichier local, exécutez la commande suivante :
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Vous pouvez également utiliser Terraform pour gérer vos configurations.
Vérifier la configuration
Vous pouvez utiliser l'explorateur de métriques pour vérifier que vous avez correctement configuré l'exportateur DCGM. L'ingestion de vos métriques par Cloud Monitoring peut prendre une ou deux minutes.
Procédez comme suit pour vérifier que les métriques ont bien été ingérées :
-
Dans la console Google Cloud, accédez à la page leaderboard Explorateur de métriques :
Accéder à l'explorateur de métriques
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.
- Dans la barre d'outils du volet de création de requêtes, sélectionnez le bouton nommé code MQL ou code PromQL.
- Vérifiez que PromQL est sélectionné dans le bouton d'activation Langage. Le bouton de langage se trouve dans la barre d'outils qui vous permet de mettre en forme votre requête.
- Saisissez et exécutez la requête suivante :
DCGM_FI_DEV_GPU_UTIL{cluster="CLUSTER_NAME", namespace="gmp-public"}
Dépannage
Pour en savoir plus sur la résolution des problèmes d'ingestion de métriques, consultez la section Problèmes liés à la collecte par les exportateurs dans la section Résoudre les problèmes côté ingestion.