Questo documento descrive come configurare il deployment di Google Kubernetes Engine in modo da poter utilizzare Google Cloud Managed Service per Prometheus per raccogliere metriche da GKE Inference Gateway. Questo documento mostra come:
- Configura GKE Inference Gateway per generare report sulle metriche.
- Configura una risorsa ClusterPodMonitoring per Managed Service per Prometheus per raccogliere le metriche esportate.
- Accedi a una dashboard 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 autodeploy, consulta la documentazione di GKE Inference Gateway per informazioni sull'installazione.
Queste istruzioni sono fornite come esempio e dovrebbero funzionare nella maggior parte degli ambienti Kubernetes. Se hai difficoltà a installare un'applicazione o un exporter a causa di norme di sicurezza o organizzative 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 dall'esportatore 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 GKE Inference Gateway emetta metriche sugli endpoint previsti, procedi nel seguente modo:
Aggiungi un secret, un service account, un ClusterRole e un ClusterBinding. Gli endpoint di osservabilità dell'esportatore di GKE Inference Gateway sono protetti dal token di autenticazione. Per ottenere le credenziali, il client richiede un secret che mappa unaccount di serviziot con il ClusterRole connesso per la regola
nonResourceURLs: "/metrics", verbs: get
. Per saperne di più, vedi Creare un secret per un service account.Configura l'inoltro delle porte utilizzando il seguente comando:
kubectl -n NAMESPACE_NAME port-forward POD_NAME 9090
In un'altra finestra:
Recupera il token eseguendo questo 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/metrics
utilizzando l'utilitàcurl
:curl -H "Authorization: Bearer $TOKEN" localhost:9090/metrics
Crea un secret per un account di servizio
Per l'endpoint dell'esportatore di GKE Inference Gateway protetto, l'operatore Managed Service per Prometheus richiede un secret per la raccolta delle 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 ulteriori informazioni, consulta la guida Metric & Observability dell'esportatore.
Per applicare le modifiche alla configurazione da un file locale, esegui questo comando:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Puoi anche utilizzare Terraform per gestire le configurazioni.
Definisci una risorsa ClusterPodMonitoring
Per l'individuazione dei target, l'operatore Managed Service for Prometheus richiede una risorsa ClusterPodMonitoring che corrisponda all'esportatore GKE Inference Gateway nello stesso spazio dei nomi.
Puoi utilizzare la seguente configurazione ClusterPodMonitoring:
GKE Inference Gateway utilizza la risorsa ClusterPodMonitoring
anziché la risorsa PodMonitoring
perché deve accedere al secret da un altro spazio dei nomi.
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.
Per applicare le modifiche alla configurazione da un file locale, esegui questo 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 del gateway di inferenza GKE. Potrebbero essere necessari uno o due minuti prima che Cloud Monitoring acquisisca le metriche.
Per verificare che le metriche vengano importate, segui questi passaggi:
-
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.
- Nella barra degli strumenti del riquadro del generatore di query, seleziona il pulsante il cui nome è code MQL o code PromQL.
- Verifica che PromQL sia selezionato nel pulsante di attivazione/disattivazione Lingua. Il pulsante di attivazione/disattivazione della lingua si trova nella stessa barra degli strumenti che ti consente di formattare la query.
- Inserisci ed esegui la seguente query:
inference_model_request_total{cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}
Visualizza dashboard
L'integrazione di Cloud Monitoring include la dashboard Panoramica di Prometheus di GKE Inference Gateway. Le dashboard vengono installate automaticamente quando configuri l'integrazione. Puoi anche visualizzare anteprime statiche delle dashboard senza installare l'integrazione.
Per visualizzare una dashboard installata:
-
Nella console Google Cloud , 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 Prometheus di GKE Inference Gateway.
Per visualizzare un'anteprima statica della dashboard:
-
Nella console Google Cloud , 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 importazione delle metriche, vedi Problemi di raccolta dagli esportatori in Risoluzione dei problemi lato importazione.