GKE Inference Gateway

Dokumen ini menjelaskan cara mengonfigurasi deployment Google Kubernetes Engine Anda sehingga Anda dapat menggunakan Google Cloud Managed Service for Prometheus untuk mengumpulkan metrik dari GKE Inference Gateway. Dokumen ini menunjukkan cara melakukan hal berikut:

  • Siapkan GKE Inference Gateway untuk melaporkan metrik.
  • Konfigurasi resource ClusterPodMonitoring untuk Managed Service for Prometheus guna mengumpulkan metrik yang diekspor.
  • Akses dasbor di Cloud Monitoring untuk melihat metrik.

Petunjuk ini hanya berlaku jika Anda menggunakan koleksi terkelola dengan Managed Service for Prometheus. Jika Anda menggunakan pengumpulan yang di-deploy sendiri, lihat dokumentasi GKE Inference Gateway untuk mengetahui informasi penginstalan.

Petunjuk ini diberikan sebagai contoh dan diharapkan berfungsi di sebagian besar lingkungan Kubernetes. Jika Anda mengalami masalah saat menginstal aplikasi atau eksportir karena kebijakan keamanan atau organisasi yang ketat, sebaiknya lihat dokumentasi open source untuk mendapatkan dukungan.

Untuk mengetahui informasi tentang GKE Inference Gateway, lihat GKE Inference Gateway.

Prasyarat

Untuk mengumpulkan metrik dari pengekspor GKE Inference Gateway dengan menggunakan Managed Service for Prometheus dan pengumpulan terkelola, deployment Anda harus memenuhi persyaratan berikut:

  • Cluster Anda harus menjalankan Google Kubernetes Engine versi 1.28.15-gke.2475000 atau yang lebih baru.
  • Anda harus menjalankan Managed Service for Prometheus dengan koleksi terkelola yang diaktifkan. Untuk mengetahui informasi selengkapnya, lihat Mulai menggunakan koleksi terkelola.

Exporter GKE Inference Gateway secara otomatis mengekspos metrik format Prometheus; Anda tidak perlu menginstalnya secara terpisah.

Untuk memverifikasi bahwa eksportir GKE Inference Gateway memancarkan metrik di endpoint yang diharapkan, lakukan hal berikut:

  1. Tambahkan secret, ServiceAccount, ClusterRole, dan ClusterBinding. Endpoint kemampuan observasi eksportir GKE Inference Gateway dilindungi oleh token autentikasi. Untuk mendapatkan kredensial, klien memerlukan Secret yang dipetakan ke akun layanan dengan ClusterRole yang terhubung, untuk aturan nonResourceURLs: "/metrics", verbs: get. Untuk mengetahui informasi selengkapnya, lihat Membuat secret untuk akun layanan.

  2. Siapkan penerusan port menggunakan perintah berikut:

    kubectl -n NAMESPACE_NAME port-forward POD_NAME 9090
    
  3. Di jendela lain, lakukan tindakan berikut:

    1. Ambil token dengan menjalankan perintah berikut:

      TOKEN=$(kubectl -n default get secret inference-gateway-sa-metrics-reader-secret  -o jsonpath='{.secrets[0].name}' -o jsonpath='{.data.token}' | base64 --decode)
      
    2. Akses endpoint localhost:9090/metrics menggunakan utilitas curl:

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

Membuat rahasia untuk akun layanan

Untuk endpoint pengekspor GKE Inference Gateway yang dilindungi, Operator Managed Service for Prometheus memerlukan secret untuk pengumpulan metrik yang sah di namespace gmp-system.

Jika cluster Anda menggunakan mode Autopilot, ganti gmp-system dengan gke-gmp-system.

Anda dapat menggunakan konfigurasi Secret, ServiceAccount, ClusterRole, dan ClusterRoleBinding berikut:

# 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

Untuk mengetahui informasi selengkapnya, lihat Panduan Metrik & Kemampuan Observasipengekspor.

Untuk menerapkan perubahan konfigurasi dari file lokal, jalankan perintah berikut:

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

Anda juga dapat menggunakan Terraform untuk mengelola konfigurasi Anda.

Tentukan resource ClusterPodMonitoring

Untuk penemuan target, Managed Service for Prometheus Operator memerlukan resource ClusterPodMonitoring yang sesuai dengan eksportir GKE Inference Gateway di namespace yang sama.

Anda dapat menggunakan konfigurasi ClusterPodMonitoring berikut:

# 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

GKE Inference Gateway menggunakan resource ClusterPodMonitoring, bukan resource PodMonitoring karena perlu mengakses secret dari namespace lain.

Di pemilih matchLabels konfigurasi ClusterPodMonitoring, Anda dapat mengganti nilai app dari inference-gateway-ext-proc dengan label dari deployment GKE Inference Gateway Anda.

Untuk menerapkan perubahan konfigurasi dari file lokal, jalankan perintah berikut:

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

Anda juga dapat menggunakan Terraform untuk mengelola konfigurasi Anda.

Memverifikasi konfigurasi

Anda dapat menggunakan Penjelajah Metrik untuk memverifikasi bahwa Anda telah mengonfigurasi pengekspor GKE Inference Gateway dengan benar. Mungkin perlu waktu satu atau dua menit agar Cloud Monitoring dapat memproses metrik Anda.

Untuk memverifikasi bahwa metrik telah di-ingest, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman  Metrics explorer:

    Buka Metrics explorer

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Di toolbar panel pembuat kueri, pilih tombol yang namanya  MQL atau  PromQL.
  3. Pastikan PromQL dipilih di tombol Language. Tombol bahasa ada di toolbar yang sama yang memungkinkan Anda memformat kueri.
  4. Masukkan dan jalankan kueri berikut:
    inference_model_request_total{cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}

Melihat dasbor

Integrasi Cloud Monitoring mencakup dasbor GKE Inference Gateway Prometheus Overview. Dasbor akan otomatis diinstal saat Anda mengonfigurasi integrasi. Anda juga dapat melihat pratinjau statis dasbor tanpa menginstal integrasi.

Untuk melihat dasbor yang terinstal, lakukan tindakan berikut:

  1. Di konsol Google Cloud , buka halaman  Dashboards:

    Buka Dasbor

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Pilih tab Daftar Dasbor.
  3. Pilih kategori Integrasi.
  4. Klik nama dasbor, misalnya, GKE Inference Gateway Prometheus Overview.

Untuk melihat pratinjau statis dasbor, lakukan tindakan berikut:

  1. Di konsol Google Cloud , buka halaman  Integrations:

    Buka Integrations

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Klik filter platform deployment Kubernetes Engine.
  3. Temukan integrasi GKE Inference Gateway, lalu klik Lihat Detail.
  4. Pilih tab Dasbor.

Pemecahan masalah

Untuk mengetahui informasi tentang cara memecahkan masalah penyerapan metrik, lihat Masalah pengumpulan dari eksportir di Memecahkan masalah sisi penyerapan.