Questo documento descrive come configurare il deployment di Google Kubernetes Engine in modo da poter utilizzare Google Cloud Managed Service per Prometheus per raccogliere le metriche da GKE Inference Gateway. Questo documento mostra come eseguire le seguenti operazioni:
- Configurare GKE Inference Gateway per la generazione di report sulle metriche.
- Accedere a una dashboard predefinita in Cloud Monitoring per visualizzare le metriche.
Queste istruzioni si applicano solo se utilizzi la raccolta gestita con Managed Service per Prometheus. Se utilizzi la raccolta con deployment autonomo, consulta la documentazione di GKE Inference Gateway per informazioni sull'installazione.
Queste istruzioni sono fornite a titolo di esempio e dovrebbero funzionare nella maggior parte degli ambienti Kubernetes. Se hai difficoltà a installare un'applicazione o un esportatore a causa di policy di sicurezza o aziendali restrittive, ti consigliamo di consultare la documentazione open source per ricevere assistenza.
Per informazioni su GKE Inference Gateway, consulta GKE Inference Gateway.
Prerequisiti
Per raccogliere le metriche da l'esportatore di GKE Inference Gateway utilizzando Managed Service per Prometheus e la raccolta gestita, il deployment deve soddisfare i seguenti requisiti:
- Il cluster deve eseguire Google Kubernetes Engine versione 1.28.15-gke.2475000 o successive.
- Devi eseguire Managed Service per Prometheus con la raccolta gestita abilitata. Per maggiori informazioni, consulta la guida introduttiva alla raccolta gestita.
Per verificare che l'esportatore di GKE Inference Gateway emetta metriche sugli endpoint previsti:
Aggiungi un secret, un ServiceAccount, un ClusterRole e un ClusterBinding. Gli endpoint di osservabilità dell'esportatore di GKE Inference Gateway sono protetti da token di autenticazione. Per ottenere le credenziali, il client richiede un secret che esegua il mapping a un account di servizio con la regola
nonResourceURLs: "/metrics", verbs: getdi ClusterRole connesso. Per maggiori informazioni, consulta Creare un secret per un account di servizio.Configura l'inoltro della porta utilizzando il seguente comando:
kubectl -n NAMESPACE_NAME port-forward POD_NAME 9090
In un'altra finestra:
Recupera il token eseguendo il seguente comando:
TOKEN=$(kubectl -n default get secret inference-gateway-sa-metrics-reader-secret -o jsonpath='{.secrets[0].name}' -o jsonpath='{.data.token}' | base64 --decode)Accedi all'endpoint
localhost:9090/metricsutilizzando l'utilitàcurl:curl -H "Authorization: Bearer $TOKEN" localhost:9090/metrics
Creare un secret per un account di servizio
Per l'endpoint dell'esportatore di GKE Inference Gateway protetto, l'operatore di Managed Service per Prometheus richiede un secret per la raccolta di metriche autorizzata nello spazio dei nomi gmp-system.
Se il cluster utilizza la modalità Autopilot, sostituisci
gmp-system con gke-gmp-system.
Puoi utilizzare la seguente configurazione di Secret, ServiceAccount, ClusterRole e ClusterRoleBinding:
Per maggiori informazioni, consulta la guida Metric & Observability dell'esportatore.
Per applicare le modifiche alla configurazione da un file locale, esegui il seguente comando:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Puoi anche utilizzare Terraform per gestire le configurazioni.
Definire una risorsa ClusterPodMonitoring
Per l'individuazione dei target, l'operatore di Managed Service per Prometheus richiede una risorsa ClusterPodMonitoring che corrisponda all'esportatore di GKE Inference Gateway nello stesso spazio dei nomi.
Puoi utilizzare la seguente configurazione di ClusterPodMonitoring:
GKE Inference Gateway uses the ClusterPodMonitoring resource instead of the
PodMonitoring resource because it needs to access the secret from another
namespace.
Nel selettore matchLabels della configurazione ClusterPodMonitoring, puoi sostituire il valore app di inference-gateway-ext-proc con le etichette del deployment di GKE Inference Gateway.
Assicurati che i valori dei campi port e matchLabels corrispondano a quelli dei pod di GKE Inference Gateway che vuoi monitorare.
Per applicare le modifiche alla configurazione da un file locale, esegui il seguente comando:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Puoi anche utilizzare Terraform per gestire le configurazioni.
Verificare la configurazione
Puoi utilizzare Metrics Explorer per verificare di aver configurato correttamente l'esportatore di GKE Inference Gateway. Cloud Monitoring potrebbe impiegare uno o due minuti per inserire le metriche.
Per verificare che le metriche siano inserite:
-
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.
- Nella barra degli strumenti del riquadro del generatore di query, seleziona il pulsante il cui nome è code PromQL.
- Inserisci ed esegui la seguente query:
inference_model_request_total{cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}
Visualizzare dashboard
L'integrazione di Cloud Monitoring include la dashboard Panoramica di GKE Inference Gateway Prometheus. Le dashboard vengono installate automaticamente quando configuri l'integrazione. Puoi anche visualizzare le anteprime statiche delle dashboard senza installare l'integrazione.
Per visualizzare una dashboard installata:
-
Nella Google Cloud console, vai alla pagina Dashboard:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.
- Seleziona la scheda Elenco dashboard.
- Scegli la categoria Integrazioni.
- Fai clic sul nome della dashboard, ad esempio Panoramica di GKE Inference Gateway Prometheus.
Per visualizzare un'anteprima statica della dashboard:
-
Nella Google Cloud console, vai alla
pagina Integrazioni:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.
- Fai clic sul filtro della piattaforma di deployment Kubernetes Engine.
- Individua l'integrazione di GKE Inference Gateway e fai clic su Visualizza dettagli.
- Seleziona la scheda Dashboard.
Risoluzione dei problemi
Per informazioni sulla risoluzione dei problemi di inserimento delle metriche, consulta Problemi con la raccolta dagli esportatori in Risoluzione dei problemi relativi all'inserimento.