Questo documento mostra come visualizzare le metriche TPU nella dashboard di Ray con KubeRay su Google Kubernetes Engine (GKE). In un cluster GKE con il componente aggiuntivo Ray GKE, le metriche TPU sono disponibili in Cloud Monitoring.
Prima di iniziare
Prima di iniziare, assicurati di aver eseguito le seguenti operazioni:
- Attiva l'API Google Kubernetes Engine. Attiva l'API Google Kubernetes Engine
- Se vuoi utilizzare Google Cloud CLI per questa attività,
installala e poi
inizializza
gcloud CLI. Se hai già installato gcloud CLI, scarica l'ultima
versione eseguendo il comando
gcloud components update. Le versioni precedenti di gcloud CLI potrebbero non supportare l'esecuzione dei comandi in questo documento.
Hai un cluster GKE che soddisfa le seguenti condizioni:
- Un pool di nodi configurato per utilizzare le TPU.
- Il componente aggiuntivo Ray su GKE non deve essere abilitato su questo cluster.
- Un workload di serving o addestramento su GKE che utilizza Ray e TPU.
Se devi creare un cluster con queste condizioni, scegli un carico di lavoro TPU di esempio, ad esempio Addestra un LLM utilizzando JAX, Ray Train e TPU Trillium su GKE o Eroga un LLM utilizzando le TPU su GKE con KubeRay e segui i passaggi di configurazione per configurare un cluster.
prepara l'ambiente
In questo tutorial utilizzerai Cloud Shell, un ambiente shell per la gestione delle risorse ospitate su Google Cloud.
Cloud Shell include
Google Cloud CLI
e lo strumento a riga di comando kubectl preinstallati. gcloud CLI fornisce l'interfaccia a riga di comando principale per Google Cloud, mentre kubectl fornisce l'interfaccia a riga di comando principale per l'esecuzione di comandi sui cluster Kubernetes.
Avvia Cloud Shell:
Vai alla console Google Cloud .
Nell'angolo in alto a destra della console, fai clic sul pulsante Attiva Cloud Shell:

Una sessione di Cloud Shell si apre in un frame nella parte inferiore della console.
Utilizza questa shell per eseguire i comandi gcloud e kubectl.
Prima di eseguire i comandi, imposta il progetto predefinito in Google Cloud CLI
utilizzando questo comando:
gcloud config set project PROJECT_ID
Sostituisci PROJECT_ID con l'ID progetto.
Visualizza le metriche TPU nella dashboard Ray
Per visualizzare le metriche TPU nella dashboard di Ray:
Nella shell, abilita le metriche nella dashboard Ray installando lo stack Kubernetes Prometheus.
./install/prometheus/install.sh --auto-load-dashboard true kubectl get all -n prometheus-systemL'output è simile al seguente:
NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/prometheus-grafana 1/1 1 1 46s deployment.apps/prometheus-kube-prometheus-operator 1/1 1 1 46s deployment.apps/prometheus-kube-state-metrics 1/1 1 1 46sQuesta installazione utilizza un grafico Helm per aggiungere le definizioni di risorse personalizzate (CRD), un monitor pod e un monitor servizi per i pod Ray al cluster.
Installa l'operatore KubeRay v1.5.0 o versioni successive con lo scraping delle metriche abilitato. Per visualizzare le metriche TPU in Grafana con le dashboard predefinite fornite in KubeRay, devi installare KubeRay v1.5.0 o versioni successive.
helm repo add kuberay https://ray-project.github.io/kuberay-helm/ helm install kuberay-operator kuberay/kuberay-operator --version 1.5.0-rc.0 \ --set metrics.serviceMonitor.enabled=true \ --set metrics.serviceMonitor.selector.release=prometheusInstalla l'webhook TPU di KubeRay. Questo webhook imposta una variabile di ambiente
TPU_DEVICE_PLUGIN_HOST_IPche Ray utilizza per eseguire il polling delle metriche TPU dal DaemonSettpu-device-plugin.helm install kuberay-tpu-webhook \ oci://us-docker.pkg.dev/ai-on-gke/kuberay-tpu-webhook-helm/kuberay-tpu-webhook \ --set tpuWebhook.image.tag=v1.2.6-gke.0Per preparare il carico di lavoro a registrare le metriche, imposta le seguenti porte e variabili di ambiente all'interno della specifica RayCluster:
headGroupSpec: ... ports: ... - containerPort: 44217 name: as-metrics - containerPort: 44227 name: dash-metrics env: - name: RAY_GRAFANA_IFRAME_HOST value: http://127.0.0.1:3000 - name: RAY_GRAFANA_HOST value: http://prometheus-grafana.prometheus-system.svc:80 - name: RAY_PROMETHEUS_HOST value: http://prometheus-kube-prometheus-prometheus.prometheus-system.svc:9090Esegui un workload con le TPU utilizzando Ray. Puoi utilizzare un carico di lavoro TPU di esempio, ad esempio Addestra un LLM utilizzando JAX, Ray Train e TPU Trillium su GKE o Gestisci un LLM utilizzando le TPU su GKE con KubeRay.
Visualizza le metriche nella dashboard Ray o in Grafana
Per connetterti a RayCluster, inoltra la porta del servizio head di Ray:
kubectl port-forward service/RAY_CLUSTER_NAME-head-svc 8265:8265Sostituisci
RAY_CLUSTER_NAMEcon il nome del tuo RayCluster. Se il tuo workload proviene dal tutorial Addestra un LLM utilizzando JAX, Ray Train e TPU Trillium su GKE, questo valore èmaxtext-tpu-cluster.Per visualizzare la dashboard di Ray, vai a
http://localhost:8265/sulla tua macchina locale.Esegui il port forwarding della GUI web di Grafana. Devi eseguire il port forwarding di Grafana per visualizzare le metriche TPU visualizzate nelle dashboard Grafana incorporate nella dashboard Ray.
kubectl port-forward -n prometheus-system service/prometheus-grafana 3000:http-webNella dashboard Ray, apri la scheda Metriche e trova la scheda Utilizzo TPU per nodo. Quando le TPU sono in esecuzione, le metriche per nodo relative all'utilizzo di Tensor Core, all'utilizzo di HBM, al ciclo di lavoro della TPU e all'utilizzo della memoria vengono trasmesse in streaming alla dashboard. Queste metriche sono visualizzabili in Grafana accedendo alla scheda Visualizza in Grafana.

Per visualizzare i log di
libtpu, vai alla scheda Log nella dashboard di Ray e seleziona il nodo TPU. I log di libtpu vengono scritti nella directory/tpu_logs.
Per saperne di più sulla configurazione della registrazione TPU, consulta Debug dei log delle VM TPU.
Passaggi successivi
- Scopri come raccogliere e visualizzare log e metriche per i cluster Ray su Google Kubernetes Engine (GKE).
- Scopri come visualizzare i log dell'operatore Ray.