Si tu clúster tiene nodos que usan GPUs de NVIDIA, puedes monitorizar el uso, el rendimiento y el estado de las GPUs configurando el clúster para que envíe métricas de NVIDIA Data Center GPU Manager (DCGM) a Cloud Monitoring. Esta solución usa Google Cloud Managed Service para Prometheus para recoger métricas de NVIDIA DCGM.
Esta página está dirigida a administradores y operadores de TI que gestionan el ciclo de vida de la infraestructura tecnológica subyacente. Para obtener más información sobre los roles habituales y las tareas de ejemplo a las que hacemos referencia en el contenido, consulta Roles y tareas habituales de usuario de GKE. Google Cloud
Antes de empezar
Para usar Google Cloud Managed Service para Prometheus y recoger métricas de DCGM, tu despliegue de Google Distributed Cloud debe cumplir los siguientes requisitos:
La herramienta DCGM-Exporter de NVIDIA debe estar instalada en tu clúster. DCGM-Exporter se instala cuando se instala NVIDIA GPU Operator. Para obtener instrucciones sobre cómo instalar el operador de GPU de NVIDIA, consulta el artículo Instalar y verificar el operador de GPU de NVIDIA.
Google Cloud Managed Service para Prometheus debe estar habilitado. Para obtener instrucciones, consulta Habilitar Google Cloud Managed Service para Prometheus.
Configura un recurso de PodMonitoring
Configura un recurso de PodMonitoring para que Google Cloud Managed Service para Prometheus recoja las métricas exportadas. Si tienes problemas para instalar una aplicación o un exportador debido a políticas de seguridad o de la organización restrictivas, te recomendamos que consultes la documentación de código abierto para obtener ayuda.
Para ingerir los datos de métricas emitidos por el pod DCGM Exporter (nvidia-dcgm-exporter
), Google Cloud Managed Service para Prometheus usa el raspado de destinos. El raspado de datos y la ingestión de métricas de los destinos seleccionados se configuran con recursos opcionales de Kubernetes.
El servicio gestionado usa recursos personalizados de PodMonitoring.
Un recurso personalizado de PodMonitoring solo rastrea los destinos del espacio de nombres en el que se ha implementado. Para raspar los objetivos de varios espacios de nombres, implementa el mismo recurso personalizado PodMonitoring en cada espacio de nombres.
Crea un archivo de manifiesto con la siguiente configuración:
La sección
selector
del manifiesto especifica que se ha seleccionado el pod DCGM Exporter,nvidia-dcgm-exporter
, para la monitorización. Este pod se despliega cuando instalas el operador de 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
Implementa el recurso propio de PodMonitoring:
kubectl apply -n NAMESPACE -f FILENAME --kubeconfig KUBECONFIG
Haz los cambios siguientes:
NAMESPACE
: el espacio de nombres en el que vas a implementar el recurso personalizado PodMonitoring.FILENAME
: la ruta del archivo de manifiesto del recurso personalizado PodMonitoring.KUBECONFIG
: la ruta del archivo kubeconfig del clúster.
Para comprobar que el recurso personalizado de PodMonitoring está instalado en el espacio de nombres previsto, ejecuta el siguiente comando:
kubectl get podmonitoring -n NAMESPACE --kubeconfig KUBECONFIG
La salida debería ser similar a la siguiente:
NAME AGE dcgm-gmp 3m37s
Verificar la configuración
Puede usar el explorador de métricas para verificar que ha configurado correctamente el exportador de DCGM. Cloud Monitoring puede tardar uno o dos minutos en ingerir tus métricas.
Para comprobar que las métricas se han insertado, haz lo siguiente:
-
En la Google Cloud consola, ve a la página leaderboard Explorador de métricas:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuya sección sea Monitorización.
Usa el lenguaje de consulta de Prometheus (PromQL) para especificar los datos que se mostrarán en el gráfico:
En la barra de herramientas del panel de creación de consultas, haz clic en < > PromQL.
Escribe tu consulta en el editor de consultas. Por ejemplo, para representar en un gráfico el número medio de segundos que las CPUs han dedicado a cada modo durante la última hora, utiliza la siguiente consulta:
DCGM_FI_DEV_GPU_UTIL{cluster="CLUSTER_NAME", namespace="NAMESPACE"}
Haz los cambios siguientes:
CLUSTER_NAME
: el nombre del clúster con nodos que usan GPUs.NAMESPACE
: el espacio de nombres en el que has implementado el recurso personalizado de PodMonitoring.
Para obtener más información sobre cómo usar PromQL, consulta PromQL en Cloud Monitoring.