GKE Inference Gateway

In diesem Dokument wird beschrieben, wie Sie Ihr Google Kubernetes Engine-Deployment so konfigurieren, dass Sie Google Cloud Managed Service for Prometheus verwenden können, um Messwerte von GKE Inference Gateway zu erfassen. Dieses Dokument enthält Anleitungen für folgende Aufgaben:

  • Richten Sie das GKE Inference Gateway ein, um Messwerte zu erfassen.
  • Eine ClusterPodMonitoring-Ressource für Managed Service for Prometheus konfigurieren, um die exportierten Messwerte zu erfassen.
  • Auf ein Dashboard in Cloud Monitoring zugreifen, um die Messwerte zu prüfen.

Diese Anleitung gilt nur, wenn Sie die verwaltete Sammlung mit Managed Service for Prometheus verwenden. Wenn Sie eine selbst bereitgestellte Sammlung verwenden, finden Sie Informationen zur Installation in der Dokumentation zum GKE Inference Gateway.

Diese Anleitung dient als Beispiel und sollte in den meisten Kubernetes-Umgebungen funktionieren. Wenn Sie aufgrund von restriktiven Sicherheits- oder Organisationsrichtlinien Probleme beim Installieren einer Anwendung oder eines Exporters haben, empfehlen wir Ihnen, die Open Source-Dokumentation für Support zu nutzen.

Informationen zu GKE Inference Gateway finden Sie unter GKE Inference Gateway.

Vorbereitung

Zum Erfassen von Messwerten vom GKE Inference Gateway-Exporter mit Managed Service for Prometheus und der verwalteten Sammlung muss Ihr Deployment die folgenden Anforderungen erfüllen:

  • Auf Ihrem Cluster muss Google Kubernetes Engine-Version 1.28.15-gke.2475000 oder höher ausgeführt werden.
  • Sie müssen Managed Service for Prometheus mit aktivierter verwalteter Sammlung ausführen. Weitere Informationen finden Sie unter Erste Schritte mit verwalteter Sammlung.

Der GKE Inference Gateway-Exporter stellt automatisch Messwerte im Prometheus-Format bereit. Sie müssen ihn nicht separat installieren.

So prüfen Sie, ob der GKE Inference Gateway-Exporter Messwerte an den erwarteten Endpunkten ausgibt:

  1. Fügen Sie einen Secret, ein ServiceAccount, eine ClusterRole und ein ClusterBinding hinzu. Die Beobachtbarkeitsendpunkte des GKE Inference Gateway-Exporters sind durch das Autorisierungstoken geschützt. Um Anmeldedaten zu erhalten, benötigt der Client ein Secret, das der nonResourceURLs: "/metrics", verbs: get-Regel entsprechend einem Dienstkonto mit der verbundenen ClusterRole zugeordnet ist. Weitere Informationen finden Sie unter Secret für ein Dienstkonto erstellen.

  2. Richten Sie mit dem folgenden Befehl die Portweiterleitung ein:

    kubectl -n NAMESPACE_NAME port-forward POD_NAME 9090
    
  3. Gehen Sie in einem anderen Fenster so vor:

    1. Rufen Sie das Token ab, indem Sie den folgenden Befehl ausführen:

      TOKEN=$(kubectl -n default get secret inference-gateway-sa-metrics-reader-secret  -o jsonpath='{.secrets[0].name}' -o jsonpath='{.data.token}' | base64 --decode)
      
    2. Greifen Sie mit dem Dienstprogramm curl auf den Endpunkt localhost:9090/metrics zu:

      curl -H "Authorization: Bearer $TOKEN" localhost:9090/metrics
      

Secret für ein Dienstkonto erstellen

Für den geschützten GKE Inference Gateway-Exporter-Endpunkt benötigt der Managed Service for Prometheus-Operator ein Secret für die autorisierte Erfassung von Messwerten im Namespace gmp-system.

Wenn Ihr Cluster den Autopilot-Modus verwendet, ersetzen Sie gmp-system durch gke-gmp-system.

Sie können die folgende Konfiguration für Secret, ServiceAccount, ClusterRole und ClusterRoleBinding verwenden:

# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: inference-gateway-metrics-reader
rules:
- nonResourceURLs:
  - /metrics
  verbs:
  - get
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: inference-gateway-sa-metrics-reader
  namespace: default
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: inference-gateway-sa-metrics-reader-role-binding
  namespace: default
subjects:
- kind: ServiceAccount
  name: inference-gateway-sa-metrics-reader
  namespace: default
roleRef:
  kind: ClusterRole
  name: inference-gateway-metrics-reader
  apiGroup: rbac.authorization.k8s.io
---
apiVersion: v1
kind: Secret
metadata:
  name: inference-gateway-sa-metrics-reader-secret
  namespace: default
  annotations:
    kubernetes.io/service-account.name: inference-gateway-sa-metrics-reader
type: kubernetes.io/service-account-token
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: inference-gateway-sa-metrics-reader-secret-read
rules:
- resources:
  - secrets
  apiGroups: [""]
  verbs: ["get", "list", "watch"]
  resourceNames: ["inference-gateway-sa-metrics-reader-secret"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: gmp-system:collector:inference-gateway-sa-metrics-reader-secret-read
  namespace: default
roleRef:
  name: inference-gateway-sa-metrics-reader-secret-read
  kind: ClusterRole
  apiGroup: rbac.authorization.k8s.io
subjects:
- name: collector
  namespace: gmp-system
  kind: ServiceAccount

Weitere Informationen finden Sie im Leitfaden zu Messwerten und Beobachtbarkeit des Exporters.

Führen Sie den folgenden Befehl aus, um Konfigurationsänderungen aus einer lokalen Datei anzuwenden:

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

Sie können Ihre Konfigurationen auch mit Terraform verwalten.

ClusterPodMonitoring-Ressource definieren

Für die Zielerkennung benötigt der Managed Service for Prometheus-Operator eine ClusterPodMonitoring-Ressource, die dem GKE Inference Gateway-Exporter im selben Namespace entspricht.

Sie können die folgende ClusterPodMonitoring-Konfiguration verwenden:

# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

apiVersion: monitoring.googleapis.com/v1
kind: ClusterPodMonitoring
metadata:
  name: inference-optimized-gateway-monitoring
  labels:
    app.kubernetes.io/name: inference-optimized-gateway
    app.kubernetes.io/part-of: google-cloud-managed-prometheus
spec:
  endpoints:
  - port: metrics
    scheme: http
    interval: 5s
    path: /metrics
    authorization:
      type: Bearer
      credentials:
        secret:
          name: inference-gateway-sa-metrics-reader-secret
          key: token
          namespace: default
  selector:
    matchLabels:
      app: inference-gateway-ext-proc

Das GKE Inference Gateway verwendet die ClusterPodMonitoring-Ressource anstelle der PodMonitoring-Ressource, da es auf das Secret aus einem anderen Namespace zugreifen muss.

Im matchLabels-Selektor der ClusterPodMonitoring-Konfiguration können Sie den app-Wert von inference-gateway-ext-proc durch Labels aus Ihrer GKE Inference Gateway-Bereitstellung ersetzen.

Führen Sie den folgenden Befehl aus, um Konfigurationsänderungen aus einer lokalen Datei anzuwenden:

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

Sie können Ihre Konfigurationen auch mit Terraform verwalten.

Konfiguration prüfen

Mit dem Metrics Explorer können Sie prüfen, ob Sie den GKE Inference Gateway-Exporter richtig konfiguriert haben. Es kann ein oder zwei Minuten dauern, bis Cloud Monitoring Ihre Messwerte aufgenommen hat.

So prüfen Sie, ob die Messwerte aufgenommen wurden:

  1. Rufen Sie in der Google Cloud Console die Seite  Metrics Explorer auf:

    Zum Metrics Explorer

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

  2. Klicken Sie in der Symbolleiste des Bereichs "Query Builder" auf die Schaltfläche  MQL oder  PromQL.
  3. Prüfen Sie, ob PromQL in der Ein-/Aus-Schaltfläche PromQL ausgewählt ist. Die Sprachschaltfläche befindet sich in derselben Symbolleiste, mit der Sie Ihre Abfrage formatieren können.
  4. Geben Sie die folgende Abfrage ein und führen Sie sie aus:
    inference_model_request_total{cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}

Dashboards ansehen

Die Cloud Monitoring-Integration beinhaltet das Dashboard GKE Inference Gateway Prometheus – Übersicht. Dashboards werden automatisch mitkonfiguriert, wenn Sie die Integration konfigurieren. Sie können auch eine statische Vorschau von Dashboards aufrufen, ohne die Integration zu installieren.

So rufen Sie ein installiertes Dashboard auf:

  1. Öffnen Sie in der Google Cloud Console die Seite Dashboards :

    Dashboards aufrufen

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

  2. Wählen Sie den Tab Dashboard-Liste aus.
  3. Wählen Sie die Kategorie Integrationen aus.
  4. Klicken Sie auf den Namen des Dashboards, z. B. GKE Inference Gateway Prometheus – Übersicht.

So rufen Sie eine statische Vorschau des Dashboards auf:

  1. Rufen Sie in der Google Cloud Console die Seite  Einbindungen auf:

    Zu „Integrationen“

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

  2. Klicken Sie auf den Filter für die Deployment-Plattform Kubernetes Engine.
  3. Suchen Sie nach der GKE Inference Gateway-Integration und klicken Sie auf Details ansehen.
  4. Wählen Sie den Tab Dashboards aus.

Fehlerbehebung

Informationen zur Fehlerbehebung bei Problemen mit der Messwertaufnahme finden Sie unter Probleme mit der Erfassung über Exporter unter Fehlerbehebung bei Problemen mit der Aufnahme.