In diesem Dokument wird beschrieben, wie Sie benutzerdefinierte und externe Messwerte abrufen und verwenden, um Pods horizontal zu skalieren.
Zum Abrufen der Messwerte können Sie einen von GKE verwalteten Messwertadapter verwenden. Diese verwaltete Lösung ist sowohl für Messwerte in Cloud Monitoring verfügbar, die mit PromQL abgefragt werden können, als auch für bestimmte benutzerdefinierte Pod-Messwerte, die unter einem HTTP-Endpunkt im Prometheus-Format bereitgestellt werden.
Der Autoscaler für Arbeitslasten kann diese Daten dann verwenden, um Arbeitslasten effizienter zu skalieren. Sie können diese Funktion beispielsweise verwenden, um die Warteschlangentiefe oder die Cacheauslastung zu überwachen und dann dem Autoscaler zu erlauben, die Anzahl der Pods zu erhöhen oder zu verringern. Im vLLM-Beispiel ist vllm:gpu_cache_usage_perc eine Metrik, die sich für die Überwachung der Cache-Auslastung eignet.
Als Alternative zum verwalteten Messwertadapter können Sie einen Messwert abrufen, indem Sie einen Messwertadapter manuell konfigurieren, um Messwerte an einen Autoscaler zu senden. Dieser Workflow umfasst die Installation eines Drittanbieteradapters, z. B. des Stackdriver-Adapters, und die Konfiguration von Berechtigungen. Sehen Sie sich dazu die Anleitung Pod-Autoscaling anhand von Messwerten optimieren an.
Im Rest dieses Dokuments geht es um den verwalteten Messwerte-Adapter.
Messwerte abrufen
Sie können Messwerte mit dem Adapter für verwaltete Messwerte auf folgende Arten abrufen:
- Benutzerdefinierte Pod-Messwerte, die von Pods ausgegeben werden, können im Cluster abgerufen werden. Diese Messwerte können für das Autoscaling verwendet werden, ohne dass sie über ein Monitoring-System wie Cloud Monitoring übertragen werden müssen.
- Benutzerdefinierte Pod-Messwerte, die in Cloud Monitoring gespeichert sind, können mit einer PromQL-Abfrage abgerufen werden. Diese Messwerte werden von Pods ausgegeben und in Cloud Monitoring exportiert, in der Regel mit Google Cloud Managed Service for Prometheus. Im Vergleich zur vorherigen Methode können Sie mit diesem Ansatz PromQL-Funktionen wie die Berechnung von Perzentilen oder das Lesen von Verlaufsdaten verwenden.
- Externe Messwerte können mit einer PromQL-Abfrage aus Cloud Monitoring abgerufen werden.
Nachdem Sie den Messwert abgerufen haben, verweisen Sie im HorizontalPodAutoscaler-Objekt darauf. Weitere Informationen finden Sie im Abschnitt Messwerte im horizontalen Pod-Autoscaler verwenden.
Eine Übersicht zum Autoscaling anhand von Messwerten finden Sie unter Autoscaling von Arbeitslasten anhand von Messwerten.
Benutzerdefinierte Messwerte im Cluster abrufen
Benutzerdefinierte Messwerte stammen von dem Dienst oder der Anwendung, die Sie ausführen. Ein Beispiel für bereitgestellte Messwerte finden Sie unter Von der vLLM Engine bereitgestellte Messwerte.
Voraussetzungen
Für die Pods gelten die folgenden Anforderungen:
- GKE 1.37.0-gke.3100000 und höher. Dieses Feature ist auch in der Vorschau für GKE-Versionen 1.36.4-gke.1247000 und höher verfügbar.
- Verwenden Sie horizontales Pod-Autoscaling mit dem Leistungsprofil.
Für die Messwerte gelten die folgenden Anforderungen:
- Die Messwerte müssen von Pods in der Arbeitslast ausgegeben werden, die automatisch skaliert wird.
- Messwerte müssen über einen HTTP-Endpunkt zugänglich sein. Der Endpunktpfad ist standardmäßig
/metrics. - Messwerte müssen gemäß dem Prometheus-Standard formatiert sein.
- Es werden nur Gauge-Messwerte unterstützt.
- Standardmäßig können pro Knoten maximal 50 eindeutige Messwerte verfügbar gemacht werden. Wenn Sie mehr Messwerte verfügbar machen müssen, können Sie zusätzlichen Arbeitsspeicher anfordern.
- Wenn Sie die Vorabversion dieses Features in der GKE-Version 1.36.4-gke.1247000 bis Version 1.37.0-gke.3100000 verwenden, gelten die folgenden zusätzlichen Anforderungen:
- Labelnamen in Pod-Labelselektoren dürfen keine Sonderzeichen enthalten. Es werden nur Buchstaben (a–z, Klein- oder Großbuchstaben), Ziffern, Bindestriche und Unterstriche unterstützt.
- Wenn Sie nach Messwertlabels filtern, muss der Labelschlüssel dem regulären Ausdruck
^[a-zA-Z_][a-zA-Z0-9_]*entsprechen (mit einem Buchstaben oder Unterstrich beginnen und nur Buchstaben, Zahlen oder Unterstriche enthalten). - Pro Cluster können maximal 20 eindeutige Messwerte verfügbar gemacht werden.
Messwert definieren
Wählen Sie einen Messwert aus, der angezeigt werden soll. Sie können einen beliebigen Messwert auswählen, der von Ihrer Arbeitslast bereitgestellt wird und die im vorherigen Abschnitt aufgeführten Anforderungen erfüllt.
Wenn Ihre Arbeitslast mehrere Messwerte mit demselben Namen, aber unterschiedlichen Labels verfügbar macht, fügen Sie einen Labelfilter hinzu, damit nur ein Messwert ausgewählt wird.
Fügen Sie die folgende benutzerdefinierte Ressource hinzu und ersetzen Sie die Details, die für Ihren Messwert und Pod spezifisch sind:
apiVersion: autoscaling.gke.io/v1beta1 kind: AutoscalingMetric metadata: name: NAME namespace: NAMESPACE spec: metrics: - pod: selector: matchLabels: APP_LABEL_NAME: APP_LABEL_VALUE containers: - endpoint: port: METRIC_PORT path: METRIC_PATH metrics: - gauge: name: METRIC_NAME prometheusMetricName: METRIC_PROMETHEUS_NAMEErsetzen Sie die folgenden Elemente entsprechend Ihrer Arbeitslast:
NAME: der Name des AutoscalingMetric-Objekts.NAMESPACE: der Namespace, in dem sich die Pods befinden.APP_LABEL_NAMEundAPP_LABEL_VALUE: Der Labelname und -wert, die mit den Pods übereinstimmen, die den Messwert ausgeben.METRIC_PORT: die Portnummer.METRIC_PATH: Der Pfad zum Messwert. Prüfen Sie den von Ihrem Dienst oder Ihrer Anwendung verwendeten Pfad. Dieser Pfad ist häufig/metrics.METRIC_NAME: der Name des Messwerts, den Sie verfügbar machen. Der Name muss dem regulären Ausdruck^[a-z]([-a-z0-9]*[a-z0-9])?entsprechen und darf maximal 63 Zeichen lang sein. Dieser Ausdruck bedeutet, dass das erste Zeichen ein Kleinbuchstabe sein muss. Alle folgenden Zeichen müssen Bindestriche, Kleinbuchstaben oder Ziffern sein. Das letzte Zeichen darf jedoch kein Bindestrich sein.Optional:
METRIC_PROMETHEUS_NAME: der Prometheus-Messwertname, der vom Pod bereitgestellt wird. Mit diesem Feld können Sie den Messwert umbenennen, z. B. weil der vom Pod bereitgestellte Messwertname nicht den vom Autoscaler festgelegten Namensbeschränkungen entspricht.Weitere Informationen zu Namenseinschränkungen finden Sie unter Einschränkungen für horizontales Pod-Autoscaling. Sie können Messwerte auch mithilfe von Messwertlabels filtern.
Wenden Sie das Manifest mit dem folgenden Befehl an:
kubectl apply -f FILE_NAME_AUTOSCALING_METRIC.yamlErsetzen Sie
FILE_NAME_AUTOSCALING_METRICdurch den Namen der YAML-Datei.Prüfen Sie die Messwertdefinition und rufen Sie den Messwertnamen ab, der für das HorizontalPodAutoscaler-Objekt verwendet werden soll:
Führen Sie den
kubectl describe-Befehl für die benutzerdefinierte Ressource „AutoscalingMetric“ aus:kubectl describe autoscalingmetric NAME -n NAMESPACEErsetzen Sie Folgendes:
NAME: Der Name des AutoscalingMetric-Objekts.NAMESPACE: der Namespace des AutoscalingMetric-Objekts.
Sehen Sie im Feld
Statusnach. Wenn keine Fehler aufgeführt sind, ist das Objekt gültig.Kopieren Sie den Namen im Feld
HPA Name. Dies ist der Name, den Sie dem HorizontalPodAutoscaler-Objekt hinzufügen. Dieser Name hat das folgende Format:autoscaling.gke.io|NAME|METRIC_NAME.
Der Messwert ist jetzt im AutoscalingMetric-Objekt definiert. Wenn Sie mit diesem Messwert automatisch skalieren möchten, müssen Sie ihn in einem HorizontalPodAutoscaler-Objekt referenzieren. Weitere Informationen finden Sie im Abschnitt Messwerte im HorizontalPodAutoscaler-Objekt verwenden.
Wenn Sie die benutzerdefinierte Ressource hinzufügen, wird der Messwert an die Autoscaling API übertragen. Der Messwert wird alle paar Sekunden gelesen und an den Autoscaler für Arbeitslasten gesendet.
Messwerte mit Messwertlabels filtern
Das Filtern von Messwerten mit Messwertlabels ist in GKE-Version 1.36.0-gke.1759000 oder höher verfügbar.
Die von Ihren Arbeitslasten ausgegebenen Messwerte enthalten oft Labels. Labels sind Schlüssel/Wert-Paare, mit denen Sie einem Wert Dimensionen hinzufügen können. Ein Messwert, der die Anzahl der Anfragen an einen HTTP-Endpunkt zählt, aufgeteilt nach Methode und Umgebung, könnte beispielsweise Labels verwenden, um diesen Kontext anzugeben. Dieses Beispiel könnte so aussehen:
http_requests_total{method="GET", env="prod"} 11111
http_requests_total{method="PUT", env="staging"} 22222
Mit Label-Filtern können Sie dafür sorgen, dass Ihre Messwertspezifikation genau einem Messwert entspricht. Wenn Sie beispielsweise nur den ersten Messwert im vorherigen Beispiel auswählen möchten, verwenden Sie die folgende Spezifikation für den Messwert „AutoscalingMetric“:gauge
apiVersion: autoscaling.gke.io/v1beta1
kind: AutoscalingMetric
metadata:
name: filter-sample
spec:
# Several lines are omitted here.
metrics:
- gauge:
name: http_requests_total
filter:
matchLabels:
method: GET
env: prod
Die Schlüssel der matchLabels-Schlüssel/Wert-Paare müssen dem regulären Ausdruck ^[a-zA-Z_][a-zA-Z0-9_]* entsprechen, d. h. mit einem Buchstaben oder einem Unterstrich beginnen und nur Buchstaben, Zahlen oder Unterstriche enthalten.
Benutzerdefinierte oder externe Messwerte aus Cloud Monitoring abrufen
Sie können Messwerte aus Cloud Monitoring abrufen, um Ihre Arbeitslasten zu skalieren. GKE unterstützt das Abrufen von zwei Arten von Messwerten aus Cloud Monitoring:
- Benutzerdefinierte Messwerte: Mit diesem Typ können Sie PromQL-Funktionen wie das Berechnen von Perzentilen oder das Lesen von Verlaufsdaten auf die von Ihren Cluster-Workloads ausgegebenen Messwerte anwenden.
- Externe Messwerte: Verwenden Sie diesen Typ, um basierend auf einer Entität außerhalb des Clusters zu skalieren, z. B. der Anzahl der ausstehenden Nachrichten in einem Pub/Sub-Abo.
Andernfalls rufen Sie benutzerdefinierte Messwerte aus dem Cluster ab.
Voraussetzungen
- GKE-Version 1.36.2-gke.2771000 oder höher.
- Messwerte müssen in Cloud Monitoring gespeichert werden. Sie können beispielsweise Google Cloud Managed Service for Prometheus verwenden.
- Pro Cluster werden maximal 100 Messwerte unterstützt. Dieses Limit gilt für benutzerdefinierte und externe Messwerte zusammen.
- Die Messwerte in Cloud Monitoring müssen sich im selben Cloud de Confiance by S3NS Projekt wie der Cluster befinden, der automatisch skaliert wird.
Messwert definieren
Sie verwenden eine YAML-Datei, um die Messwerte zu definieren, einschließlich der spezifischen PromQL-Abfrage.
Wählen Sie eine der folgenden Konfigurationen aus, je nachdem, ob Sie einen benutzerdefinierten Messwert oder einen externen Messwert abrufen:
Erstellen Sie ein AutoscalingMetric-Objekt und definieren Sie den abzurufenden Messwert.
Benutzerdefinierter Messwert (Pods)
apiVersion: autoscaling.gke.io/v1beta1 kind: AutoscalingMetric metadata: name: NAME namespace: NAMESPACE spec: metrics: - promql: name: METRIC_NAME query: PROMQL_QUERY type: Pods # Specifies that the metric is associated with Pods. # metricLabels are optional, default to the labels used by Google # Cloud Managed Service for Prometheus. The defaults are used # below. metricLabels: podName: "pod" namespace: "namespace" clusterName: "cluster" location: "location" projectId: "project_id"Ersetzen Sie Folgendes:
NAME: Der Name des AutoscalingMetric-Objekts.NAMESPACE: Der Namespace des AutoscalingMetric-Objekts, der mit dem Namespace der Arbeitslast übereinstimmen muss, die Sie skalieren möchten.METRIC_NAME: der Name des Messwerts, den das HorizontalPodAutoscaler-Objekt verwendet.PROMQL_QUERY: die PromQL-Abfrage, mit der der Messwert abgefragt wird. Die PromQL-Abfrage muss einen Vektor mit einem Eintrag pro Pod in der automatisch skalierten Ressource zurückgeben, z. B. einen Eintrag pro Pod in einem Deployment.
Sie können mehr als einen Messwert in einem einzelnen AutoscalingMetric-Manifest definieren, indem Sie dem Array
metricszusätzlichepromql-Einträge hinzufügen.In diesem Manifest gilt Folgendes:
- Das Feld
type: Podsgibt an, dass die Messwerte von Pods ausgegeben werden. Optional: Die
metricLabels-Felder sind die Labelnamen im PromQL-Abfrageergebnis, in denen die Ressourcendetails (z. B. Pod-Name, Namespace oder Clusterinformationen) aufgeführt sind. Der von einem Pod ausgegebene benutzerdefinierte Messwert muss ein Label enthalten, das mit dem FeldpodNameübereinstimmt und angibt, mit welchem Pod der Messwert verknüpft ist. Dieses Label wird automatisch konfiguriert, wenn Sie Messwerte mit Google Cloud Managed Service for Prometheus an Cloud Monitoring senden.Wenn diese Felder im AutoscalingMetric-Objekt nicht angegeben sind, werden die folgenden Standardwerte verwendet, um die Informationen im Label zu finden. Diese Standardwerte sind dieselben Labelnamen, die von Google Cloud Managed Service for Prometheus konfiguriert werden:
podName: "pod"namespace: "namespace"clusterName: "cluster"location: "location"projectId: "project_id"
Externer Messwert
apiVersion: autoscaling.gke.io/v1beta1 kind: AutoscalingMetric metadata: name: NAME namespace: NAMESPACE spec: metrics: - promql: name: METRIC_NAME query: PROMQL_QUERY type: External # Optional, default is 'External'Ersetzen Sie Folgendes:
NAME: der Name des AutoscalingMetric-Objekts.NAMESPACE: Der Namespace des AutoscalingMetric-Objekts, der mit dem Namespace der Arbeitslast übereinstimmen muss, die Sie skalieren möchten.METRIC_NAME: der Name des Messwerts, der vom HPA verwendet wird.PROMQL_QUERY: die PromQL-Abfrage, mit der der Messwert abgefragt wird. Die PromQL-Abfrage muss einen Skalarwert oder einen Vektor mit einem eindeutigen Eintrag zurückgeben.
Prüfen Sie die PromQL-Abfragen in Cloud Monitoring, um sicherzustellen, dass sie die erwarteten Messwerte zurückgeben. Es ist einfacher, die Abfragen bei der Einrichtung zu überprüfen, als später unerwartete Verhaltensweisen zu beheben.
Informationen zum Überprüfen der Abfragen finden Sie im folgenden Abschnitt: PromQL-Abfragen überprüfen.
Wenden Sie das AutoscalingMetric-Manifest auf den Cluster an:
kubectl apply -f MANIFEST_FILE.yamlErsetzen Sie
MANIFEST_FILEdurch den Namen der YAML-Datei.Prüfen Sie die Messwertdefinition und rufen Sie den Messwertnamen ab, der für das HorizontalPodAutoscaler-Objekt verwendet werden soll:
Führen Sie den
kubectl describe-Befehl für die benutzerdefinierte Ressource „AutoscalingMetric“ aus:kubectl describe autoscalingmetric NAME -n NAMESPACEErsetzen Sie Folgendes:
NAME: Der Name des AutoscalingMetric-Objekts.NAMESPACE: der Namespace des AutoscalingMetric-Objekts.
Sehen Sie im Feld
Statusnach. Wenn keine Fehler aufgeführt sind, ist das Objekt gültig.Kopieren Sie den Namen im Feld
HPA Name. Dies ist der Name, den Sie dem HorizontalPodAutoscaler-Objekt hinzufügen. Dieser Name hat das folgende Format:autoscaling.gke.io|NAME|METRIC_NAME.
Der Messwert ist jetzt im AutoscalingMetric-Objekt definiert. Wenn Sie mit diesem Messwert automatisch skalieren möchten, müssen Sie ihn in einem HorizontalPodAutoscaler-Objekt referenzieren. Weitere Informationen finden Sie im Abschnitt Messwerte im HorizontalPodAutoscaler-Objekt verwenden.
Messwerte im HorizontalPodAutoscaler-Objekt verwenden
Erstellen Sie ein HorizontalPodAutoscaler-Objekt. Der HorizontalPodAutoscaler-Messwerttyp muss mit dem Wert des Felds
typeübereinstimmen, das in der benutzerdefinierten Ressource „AutoscalingMetric“ definiert ist. Wählen Sie je nach Messwerttyp eine der folgenden Konfigurationen aus:Option 1: Externer Messwert
apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: HPA_NAME namespace: NAMESPACE spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: DEPLOYMENT_NAME minReplicas: MIN_REPLICAS maxReplicas: MAX_REPLICAS metrics: - type: External external: metric: name: autoscaling.gke.io|NAME|METRIC_NAME target: type: AverageValue averageValue: AVERAGE_VALUEOption 2: Messwert für Pods
apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: HPA_NAME namespace: NAMESPACE spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: DEPLOYMENT_NAME minReplicas: MIN_REPLICAS maxReplicas: MAX_REPLICAS metrics: - type: Pods pods: metric: name: autoscaling.gke.io|NAME|METRIC_NAME target: type: AverageValue # This is the only supported target type averageValue: AVERAGE_VALUEErsetzen Sie Folgendes:
HPA_NAME: Der Name des HorizontalPodAutoscaler-Objekts.NAMESPACE: Der Namespace des HorizontalPodAutoscaler-Objekts, der mit dem Namespace der Arbeitslast und der AutoscalingMetric-Ressource übereinstimmen muss.DEPLOYMENT_NAME: der Name des Arbeitslast-Deployments, das Sie skalieren möchten.MIN_REPLICAS: die Mindestanzahl der ausgeführten Pods.MAX_REPLICAS: die maximale Anzahl von ausgeführten Pods.NAME: Der Name der benutzerdefinierten AutoscalingMetric-Ressource, die Sie erstellt haben.METRIC_NAME: Der Name des Messwerts, der in der AutoscalingMetric-Ressource definiert ist.AVERAGE_VALUE: Der Zielmesswert, bei dem das Autoscaling die Arbeitslast skaliert.
Beachten Sie beim Erstellen eines eigenen HorizontalPodAutoscaler-Objekts Folgendes:
- Die Objekte „AutoscalingMetric“, „Deployment“ und „HorizontalPodAutoscaler“ müssen sich im selben Namespace befinden.
- Im vorherigen Beispiel wird das Feld/Wert-Paar
type: AverageValueverwendet.type: Valuewird auch für externe Messwerte unterstützt. - Im vorherigen Beispiel wird ein Deployment-Objekt nur als Beispiel verwendet. Sie können auch jedes Objekt automatisch skalieren, das von HorizontalPodAutoscaler-Objekten unterstützt wird, z. B. ein ReplicaSet-Objekt.
Wenden Sie das HorizontalPodAutoscaler-Manifest an:
kubectl apply -f HPA_MANIFEST_FILE.yamlErsetzen Sie
HPA_MANIFEST_FILEdurch den Namen der YAML-Datei.
Fehlerbehebung bei Messwerten, die für das Autoscaling abgerufen werden
Wenn Sie Probleme beim Abrufen von Messwerten beheben möchten, können Sie die Logs oder den Status der benutzerdefinierten Ressource „AutoscalingMetric“ prüfen.
Autoscaling-Messwertadapter hat null Replikate
Wenn Sie die autoscaling-metrics-adapter-Bereitstellung in kube-system untersuchen, stellen Sie möglicherweise fest, dass sie keine Replikate hat.
Standardmäßig wird der Adapter mit null Replikaten ausgeführt, um Clusterressourcen zu schonen. Das ist ganz normal. Die Bereitstellung wird nur auf ein Replikat skaliert, wenn im Cluster eine benutzerdefinierte AutoscalingMetric-Ressource vorhanden ist, für die eine PromQL-Verarbeitung erforderlich ist.
Wenn Sie ein AutoscalingMetric-Objekt mit einer PromQL-Abfrage konfiguriert haben, der Adapter aber nicht hochskaliert wurde, prüfen Sie, ob das Objekt im Cluster erstellt wurde.
Logs prüfen
Wenn Sie Probleme mit dem Controller finden möchten, der für das Abrufen von Messwerten aus Cloud Monitoring verantwortlich ist, können Sie die zugehörigen Logs prüfen.
Sie können die Logs in der Cloud de Confiance Console aufrufen:
Zur Seite „Log-Explorer“
Geben Sie im Bereich „Abfrage“ die folgende Abfrage ein:
resource.type="k8s_container" resource.labels.namespace_name="kube-system" resource.labels.container_name="autoscaling-metrics-adapter"
Alternativ können Sie die Logs mit kubectl aufrufen. Führen Sie dazu den folgenden Befehl aus:
kubectl logs deployment.apps/autoscaling-metrics-adapter -n kube-system
AutoscalingMetric-Status prüfen
Sie können den Status der benutzerdefinierten AutoscalingMetric-Ressource prüfen, um nach Konfigurationsfehlern zu suchen.
Prüfen Sie die benutzerdefinierte Ressource „AutoscalingMetric“:
kubectl describe autoscalingmetric NAME -n NAMESPACEErsetzen Sie Folgendes:
NAME: Der Name der benutzerdefinierten AutoscalingMetric-Ressource, die Sie erstellt haben.NAMESPACE: Der Namespace der benutzerdefinierten Ressource.
Details zu konfigurierten Messwerten finden Sie im Feld
Status. Diese Details umfassen alle Warnungen zu Konfigurationsfehlern und den genauen Namen des Messwerts, wie er im HorizontalPodAutoscaler-Objekt angezeigt werden soll.Hier ein Beispiel für einen gültigen Status:
Name: sample-metric Namespace: default Labels: <none> Annotations: <none> API Version: autoscaling.gke.io/v1beta1 Kind: AutoscalingMetric Metadata: Creation Timestamp: 2026-08-10T14:41:58Z Generation: 1 Resource Version: 1786372918604351020 UID: c3f012a9-8f25-4399-ac91-12ae8f4426d7 Spec: Metrics: Promql: Name: pubsub_unacked Query: sum(pubsub_subscription_num_undelivered_messages) Type: External Status: Metric Statuses: Hpa Name: autoscaling.gke.io|sample-metric|pubsub_unacked Name: pubsub_unacked Events: <none>Hier sehen Sie ein Beispiel für einen Status mit einem Konfigurationsfehler:
Name: bad-metric Namespace: default Labels: <none> Annotations: <none> API Version: autoscaling.gke.io/v1beta1 Kind: AutoscalingMetric Metadata: Creation Timestamp: 2026-08-10T14:42:40Z Generation: 1 Resource Version: 1786372960414079010 UID: a47d3ed4-f6f2-4c2c-9341-0de4e9752c3c Spec: Metrics: Promql: Name: duplicate_metric Query: sum(up) Type: External Promql: Name: duplicate_metric Query: avg(up) Type: External Status: Metric Statuses: Errors: Multiple metrics defined with the same name. Name: duplicate_metric Events: <none>
PromQL-Abfragen prüfen
Wenn Sie Messwerte aus Cloud Monitoring mit einer PromQL-Abfrage abrufen, kann ein Problem mit der Abfrage zu Fehlern beim Abrufen des Messwerts oder zum Abrufen eines unerwarteten Werts führen. Wenn Sie beispielsweise erwarten, dass ein Prozentsatz als Wert zwischen 1 und 100 zurückgegeben wird, Sie aber stattdessen einen Wert zwischen 0 und 1 erhalten, verhält sich das resultierende Autoscaling unerwartet.
Sie können die PromQL-Abfragen in Cloud Monitoring testen, um zu prüfen, ob die erwarteten Messwerte zurückgegeben werden.
So überprüfen Sie die Abfragen:
Wechseln Sie in der Cloud de Confiance Console zur Seite Metrics Explorer.
Wählen Sie oben im Bereich Query Builder den Tab PromQL aus.
Geben Sie im Abfrageeditor die PromQL-Abfrage ein, die Sie testen möchten.
Klicken Sie auf Abfrage ausführen, um die Messwerte im Diagramm aufzurufen.
Nächste Schritte
- Eine Übersicht über das Autoscaling anhand von Messwerten finden Sie unter Autoscaling von Arbeitslasten anhand von Messwerten.
- Informationen zum Autoscaling anhand von Messwerten, die nicht mit einer PromQL-Abfrage definiert werden können, finden Sie unter Pod-Autoscaling anhand von Messwerten optimieren.