Ce document explique comment configurer votre déploiement Google Kubernetes Engine afin de pouvoir collecter des métriques à partir de GKE Inference Gateway à l'aide de Google Cloud Managed Service pour Prometheus. Ce document vous explique comment :
- configurer GKE Inference Gateway pour générer des rapports sur les métriques ;
- accéder à un tableau de bord prédéfini dans Cloud Monitoring pour consulter les métriques.
Ces instructions ne s'appliquent que si vous utilisez une collecte gérée avec Managed Service pour Prometheus. Si vous utilisez une collecte auto-déployée, consultez la documentation de GKE Inference Gateway pour obtenir des informations sur l'installation.
Ces instructions sont fournies à titre d'exemple et devraient fonctionner dans la plupart des environnements Kubernetes. Si vous rencontrez des difficultés pour installer une application ou un exportateur en raison de règles de sécurité ou d'organisation restrictives, nous vous recommandons de consulter la documentation Open Source pour obtenir de l'aide.
Pour en savoir plus sur GKE Inference Gateway, consultez la page GKE Inference Gateway.
Prérequis
Pour collecter des métriques à partir de l'exportateur GKE Inference Gateway à l'aide de Managed Service pour Prometheus et de la collecte gérée, votre déploiement doit répondre aux exigences suivantes :
- Votre cluster doit exécuter Google Kubernetes Engine version 1.28.15-gke.2475000 ou ultérieure.
- Vous devez exécuter Managed Service pour Prometheus en ayant activé la collecte gérée. Pour en savoir plus, consultez la page Premiers pas avec la collecte gérée.
Pour vérifier que l'exportateur GKE Inference Gateway émet des métriques sur les points de terminaison attendus, procédez comme suit :
Ajoutez un secret, un compte de service, un ClusterRole et un ClusterBinding. Les points de terminaison d'observabilité de l'exportateur GKE Inference Gateway sont protégés par le jeton d'authentification. Pour obtenir des identifiants, le client a besoin d'un secret qui correspond à un compte de service avec le ClusterRole connecté, pour la
nonResourceURLs: "/metrics", verbs: getrègle. Pour en savoir plus, consultez la section Créer un secret pour un compte de service.Configurez le transfert de port à l'aide de la commande suivante :
kubectl -n NAMESPACE_NAME port-forward POD_NAME 9090
Dans une autre fenêtre, procédez comme suit :
Récupérez le jeton en exécutant la commande suivante :
TOKEN=$(kubectl -n default get secret inference-gateway-sa-metrics-reader-secret -o jsonpath='{.secrets[0].name}' -o jsonpath='{.data.token}' | base64 --decode)Accédez au point de terminaison
localhost:9090/metricsà l'aide de l'utilitairecurl:curl -H "Authorization: Bearer $TOKEN" localhost:9090/metrics
Créer un secret pour un compte de service
Pour le point de terminaison protégé de l'exportateur GKE Inference Gateway, l'opérateur Managed Service pour Prometheus nécessite un secret pour la collecte autorisée de métriques dans l'espace de noms gmp-system.
Si votre cluster utilise le mode Autopilot, remplacez
gmp-system par gke-gmp-system.
Vous pouvez utiliser la configuration suivante pour le secret, le compte de service, le ClusterRole et le ClusterRoleBinding :
Pour en savoir plus, consultez le guide Métriques et observabilité de l'exportateur.
Pour appliquer les modifications de configuration à partir d'un fichier local, exécutez la commande suivante :
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Vous pouvez également utiliser Terraform pour gérer vos configurations.
Définir une ressource ClusterPodMonitoring
Pour la découverte des cibles, l'opérateur Managed Service pour Prometheus doit disposer d'une ressource ClusterPodMonitoring correspondant à l'exportateur GKE Inference Gateway dans le même espace de noms.
Vous pouvez utiliser la configuration ClusterPodMonitoring suivante :
GKE Inference Gateway utilise la ressource ClusterPodMonitoring au lieu de la
PodMonitoring ressource, car il doit accéder au secret à partir d'un autre
espace de noms.
Dans le sélecteur matchLabels de la configuration ClusterPodMonitoring, vous pouvez remplacer la valeur app de inference-gateway-ext-proc par des libellés de votre déploiement GKE Inference Gateway.
Vérifiez que les valeurs des champs port et matchLabels correspondent à celles des pods GKE Inference Gateway que vous souhaitez surveiller.
Pour appliquer les modifications de configuration à partir d'un fichier local, exécutez la commande suivante :
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Vous pouvez également utiliser Terraform pour gérer vos configurations.
Vérifier la configuration
Vous pouvez utiliser l'Explorateur de métriques pour vérifier que vous avez correctement configuré l'exportateur GKE Inference Gateway. L'ingestion de vos métriques par Cloud Monitoring peut prendre une ou deux minutes.
Pour vérifier que les métriques sont ingérées, procédez comme suit :
-
Dans la Google Cloud console, accédez à la leaderboard page Explorateur de métriques :
Accéder à l'Explorateur de métriques
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.
- Dans la barre d'outils du volet de création de requêtes, sélectionnez le bouton nommé code PromQL.
- Saisissez et exécutez la requête suivante :
inference_model_request_total{cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}
Afficher les tableaux de bord
L'intégration à Cloud Monitoring comprend le tableau de bord Présentation de GKE Inference Gateway-Prometheus. Les tableaux de bord sont installés automatiquement lorsque vous configurez l'intégration. Vous pouvez également afficher des aperçus statiques de tableaux de bord sans installer l'intégration.
Pour afficher un tableau de bord installé, procédez comme suit :
-
Dans la Google Cloud console, accédez à la page Tableaux de bord :
Accéder à la page Tableaux de bord
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.
- Sélectionnez l'onglet Liste des tableaux de bord.
- Choisissez la catégorie Intégrations.
- Cliquez sur le nom du tableau de bord, par exemple Présentation de GKE Inference Gateway-Prometheus.
Pour afficher un aperçu statique du tableau de bord, procédez comme suit :
-
Dans la Google Cloud console, accédez à la
page Intégrations
:
Accéder à la page Intégrations
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.
- Cliquez sur le filtre de plate-forme de déploiement Kubernetes Engine.
- Localisez l'intégration GKE Inference Gateway, puis cliquez sur Afficher les détails.
- Sélectionnez l'onglet Tableaux de bord.
Dépannage
Pour en savoir plus sur la résolution des problèmes d'ingestion de métriques, consultez la section Problèmes liés à la collecte par les exportateurs dans la section Résoudre les problèmes côté ingestion.