本文說明如何設定 Google Kubernetes Engine 部署作業,以便使用 Google Cloud Managed Service for Prometheus 收集 GKE Inference Gateway 的指標。本文說明如何執行下列操作:
- 設定 GKE Inference Gateway 回報指標。
- 在 Cloud Monitoring 中存取預先定義的資訊主頁,查看指標。
只有在搭配 Managed Service for Prometheus 使用 代管收集時,才適用這些操作說明。如果您使用自行部署的收集功能,請參閱 GKE Inference Gateway 說明文件,瞭解安裝資訊。
這些操作說明僅供參考,適用於大多數 Kubernetes 環境。 如果因安全性或組織政策限制,而無法安裝應用程式或匯出工具,建議您參閱開放原始碼說明文件,尋求支援。
如要瞭解 GKE Inference Gateway,請參閱「GKE Inference Gateway」。
必要條件
如要使用 Managed Service for Prometheus 和代管收集功能,從 GKE Inference Gateway 匯出工具收集指標,部署作業必須符合下列需求條件:
- 叢集必須執行 Google Kubernetes Engine 1.28.15-gke.2475000 以上版本。
- 您必須執行 Managed Service for Prometheus,並啟用代管收集功能。詳情請參閱「 開始使用代管集合」一文。
GKE Inference Gateway 匯出工具會自動公開 Prometheus 格式的指標,您不必另外安裝。
如要確認 GKE Inference Gateway 匯出工具是否在預期的端點上發出指標,請按照下列步驟操作:
新增 Secret、ServiceAccount、ClusterRole 和 ClusterBinding。GKE Inference Gateway 匯出工具觀測能力端點受到驗證權杖保護。如要取得憑證,用戶端需要 Secret,該 Secret 會對應至具有
nonResourceURLs: "/metrics", verbs: get規則連結 ClusterRole 的服務帳戶。詳情請參閱「為服務帳戶建立 Secret」。使用下列指令設定通訊埠轉送:
kubectl -n NAMESPACE_NAME port-forward POD_NAME 9090
在另一個視窗中,執行下列操作:
執行下列指令來擷取權杖:
TOKEN=$(kubectl -n default get secret inference-gateway-sa-metrics-reader-secret -o jsonpath='{.secrets[0].name}' -o jsonpath='{.data.token}' | base64 --decode)使用
curl公用程式存取端點localhost:9090/metrics:curl -H "Authorization: Bearer $TOKEN" localhost:9090/metrics
為服務帳戶建立 Secret
針對受保護的 GKE Inference Gateway 匯出工具端點,Managed Service for Prometheus Operator 需要 Secret,才能在 gmp-system 命名空間中收集授權指標。
如果叢集使用 Autopilot 模式,請將 gmp-system 替換為 gke-gmp-system。
您可以使用下列 Secret、ServiceAccount、ClusterRole 和 ClusterRoleBinding 設定:
詳情請參閱匯出工具的指標和觀測能力指南。
如要從本機檔案套用設定變更,請執行下列指令:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
您也可以使用 Terraform 管理設定。
定義 ClusterPodMonitoring 資源
如要探索目標,Managed Service for Prometheus 運算子需要 ClusterPodMonitoring 資源,該資源須對應至相同命名空間中的 GKE Inference Gateway 匯出工具。
您可以使用下列 ClusterPodMonitoring 設定:
GKE Inference Gateway 會使用 ClusterPodMonitoring 資源,而非 PodMonitoring 資源,因為它需要從其他命名空間存取 Secret。
在 ClusterPodMonitoring 設定的 matchLabels 選取器中,您可以將 inference-gateway-ext-proc 的 app 值替換為 GKE Inference Gateway 部署作業的標籤。
確認 port 和 matchLabels 欄位的值,與要監控的 GKE Inference Gateway Pod 相符。
如要從本機檔案套用設定變更,請執行下列指令:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
您也可以使用 Terraform 管理設定。
驗證設定
您可以使用 Metrics Explorer,確認 GKE Inference Gateway 匯出工具設定正確。Cloud Monitoring 可能需要一兩分鐘才能擷取指標。
如要確認指標是否已擷取,請按照下列步驟操作:
-
前往 Google Cloud 控制台的leaderboard「Metrics Explorer」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
- 在查詢建立工具窗格的工具列中,選取名為 code「PromQL」PromQL的按鈕。
- 輸入並執行下列查詢:
inference_model_request_total{cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}
查看資訊主頁
Cloud Monitoring 整合功能包含 GKE Inference Gateway Prometheus 總覽資訊主頁。設定整合作業後,系統會自動安裝資訊主頁。您也可以查看資訊主頁的靜態預覽畫面,不必安裝整合項目。
如要查看已安裝的資訊主頁,請按照下列步驟操作:
-
在 Google Cloud 控制台中,前往「 Dashboards」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
- 選取「Dashboard List」(資訊主頁清單) 分頁標籤。
- 選擇「整合」類別。
- 按一下資訊主頁名稱,例如「GKE Inference Gateway Prometheus Overview」。
如要查看資訊主頁的靜態預覽畫面,請按照下列步驟操作:
-
在 Google Cloud 控制台中,前往
「Integrations」(整合) 頁面:如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
- 按一下「Kubernetes Engine」部署平台篩選器。
- 找出 GKE Inference Gateway 整合項目,然後按一下「查看詳細資料」。
- 選取「資訊主頁」分頁標籤。
疑難排解
如要瞭解如何排解指標擷取問題,請參閱「 排解擷取端問題」中的「 從匯出工具收集資料時發生問題」。