Ereignislogs für vertikales Pod-Autoscaling erfassen

Auf dieser Seite finden Sie Informationen zu Entscheidungsereignissen, die vom vertikalen Pod-Autoscaler in Google Kubernetes Engine (GKE) ausgegeben werden. Wenn Sie diese Ereignisse analysieren, erhalten Sie Informationen dazu, wie der Controller für vertikales Pod-Autoscaling die Skalierung Ihrer Arbeitslast verwaltet, und können die Entscheidungsfindung hinter den Aktionen nachvollziehen.

Der vertikale Pod-Autoscaler gibt Entscheidungsereignisse aus, die als Logeinträge in Cloud Logging gespeichert werden.

Hinweis

Sie müssen die folgenden Voraussetzungen erfüllen:

Projekt auswählen oder erstellen

Sie können ein vorhandenes Projekt verwenden oder für diese Anleitung ein neues erstellen.

  1. In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Cloud de Confiance project.

APIs aktivieren

Aktivieren Sie die GKE- und Cloud Logging APIs.

Rollen, die zum Aktivieren von APIs erforderlich sind

Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

APIs aktivieren

Cloud Shell einrichten

In dieser Anleitung verwenden Sie Cloud Shell zum Ausführen von gcloud- und kubectl-Befehlen. Cloud Shell ist eine Shell-Umgebung für die Verwaltung von Ressourcen, die in Cloud de Confiance by S3NSgehostet werden. Sie ist bei Google Cloud CLI und dem kubectl-Befehlszeilentool vorinstalliert.

Aktivieren Sie Cloud Shell in der Cloud de Confiance Console.

Cloud Shell aktivieren

In einem Frame im unteren Teil der Console wird eine Cloud Shell-Sitzung geöffnet.

Achten Sie vor dem Ausführen von Befehlen in dieser Anleitung darauf, dass Ihr Standardprojekt auf die Projekt-ID festgelegt ist, in der Sie die Beispielanwendung bereitstellen möchten. Führen Sie den folgenden Befehl in Cloud Shell aus, falls sie noch nicht festgelegt ist:

gcloud config set project PROJECT_ID

Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.

Erforderliche Rollen und Berechtigungen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Aktivieren der Protokollgenerierung sowie zum Aufrufen und Verarbeiten von Protokollen benötigen:

  • So aktivieren Sie die Ereignisprotokollierung für das vertikale Pod-Autoscaling in Ihrem Cluster: Administrator für Kubernetes Engine-Cluster (roles/container.clusterAdmin)
  • So greifen Sie auf Logs zu und verwenden den Log-Explorer und Observability Analytics: Loganzeige (roles/logging.viewer)

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Voraussetzungen

  • Auf Ihrem GKE-Cluster muss Version 1.36.0-gke.1601000 oder höher ausgeführt werden.
  • Aktivieren Sie Cloud Logging in Ihrem GKE-Cluster.
  • Sie benötigen ein vertikales Pod-Autoscaling, das Sie überwachen möchten. Achten Sie darauf, dass die Felder für das vertikale Pod-Autoscaling keine sensiblen Daten enthalten.

Kosten

Die Cloud Logging-Preise gelten, wenn Sie Cloud Logging aktivieren und Entscheidungslogs für das vertikale Pod-Autoscaling erfassen.

Entscheidungslogs für vertikales Pod-Autoscaling aktivieren

Mit den Befehlen in den folgenden Abschnitten können Sie die von KCP_VPA generierten Logs exportieren und am Zielort logName="projects/PROJECT_ID/logs/container.googleapis.com%2Fvpa-controller" in Cloud Logging speichern.

Logs in einem neuen Cluster aktivieren

Führen Sie den folgenden Befehl aus, um einen neuen Cluster mit aktivierten KCP_VPA-Entscheidungslogs zu erstellen.

gcloud container clusters create CLUSTER_NAME \
    --location=LOCATION \
    --project=PROJECT_ID \
    --logging=SYSTEM,KCP_VPA

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: der Name des Clusters, den Sie erstellen oder aktualisieren möchten.
  • PROJECT_ID: Ihre Cloud de Confiance Projekt-ID.
  • LOCATION: die Compute-Regionen oder -Zonen für Ihren Cluster.

Logs für einen vorhandenen Cluster aktivieren

So aktivieren Sie die KCP_VPA-Entscheidungslogs für einen vorhandenen Cluster:

  1. Überprüfen Sie die vorhandene Konfiguration des Clusters. Wenn für den Cluster bereits bestimmte Logging-Komponenten konfiguriert sind, entscheiden Sie, ob Sie die vorhandene Logging-Konfiguration ergänzen oder überschreiben möchten.

  2. Führen Sie den folgenden Befehl aus, um die Entscheidungslogs für das vertikale Pod-Autoscaling zu aktivieren. Wenn Sie eine vorhandene Konfiguration ergänzen, fügen Sie dem Befehl auch die vorhandene Protokollierungskonfiguration hinzu.

    gcloud container clusters update CLUSTER_NAME \
        --location=LOCATION \
        --project=PROJECT_ID \
        --logging=SYSTEM,KCP_VPA
    

    Ersetzen Sie Folgendes:

    • CLUSTER_NAME: Name des Clusters, den Sie erstellen oder aktualisieren möchten.
    • PROJECT_ID: Ihre Cloud de Confiance Projekt-ID.
    • LOCATION: Compute-Regionen oder -Zonen für Ihren Cluster.

Prüfen, ob das Logging aktiviert ist

Wenn Sie prüfen möchten, ob die KCP_VPA-Entscheidungslogs für einen Cluster aktiviert sind, rufen Sie die aktualisierte Logging-Konfiguration des Clusters ab und sehen Sie sich die Liste der Logs an. Dazu führen Sie den folgenden Befehl aus:

gcloud container clusters describe CLUSTER_NAME \
    --location=LOCATION \
    --flatten=loggingConfig \
    --format='csv[delimiter=",",no-heading](componentConfig.enableComponents)'

Ersetzen Sie Folgendes:

Wenn KCP_VPA-Entscheidungslogs für einen Cluster aktiviert sind, sieht die Ausgabe in etwa so aus:

SYSTEM_COMPONENTS,APISERVER,CONTROLLER_MANAGER,SCHEDULER,KCP_VPA

Logs des vertikalen Pod-Autoscalers im Log-Explorer ansehen

Sie können das Verhalten des vertikalen Pod-Autoscaling im Log-Explorer beobachten. So rufen Sie Protokolle für vertikales Pod-Autoscaling auf:

  1. Rufen Sie die Seite „Log-Explorer“ auf:

    Zum Log-Explorer

  2. Wählen Sie Alle Lognamen aus und suchen Sie in den Lognamen nach vpa-controller.

    Im Log-Explorer werden alle Logs für vertikales Pod-Autoscaling angezeigt, einschließlich der Logs aus allen Clustern, in denen Logs für vertikales Pod-Autoscaling im Projekt aktiviert sind.

  3. Sie können die Logs nach Clusternamen oder Arbeitslastnamen filtern. Wenn Sie beispielsweise Ereignisse aus einer bestimmten Arbeitslast in einem Cluster auflisten möchten, geben Sie den Clusternamen und den Namen der Arbeitslast mit der folgenden Abfrage an:

    resource.labels.cluster_name="CLUSTER_NAME" AND
    jsonPayload.target.name="WORKLOAD_NAME"
    

    Ersetzen Sie Folgendes:

    • CLUSTER_NAME ist der Name des Clusters.
    • WORKLOAD_NAME: Der Name der Arbeitslast.

Entscheidungsprotokolle für vertikales Pod-Autoscaling deaktivieren

  1. Führen Sie den folgenden Befehl aus, um die KCP_VPA-Entscheidungslogs in einem vorhandenen Cluster zu deaktivieren:

    gcloud container clusters update CLUSTER_NAME \
        --location=LOCATION \
        --project=PROJECT_ID \
        --logging=SYSTEM
    
  2. Prüfen Sie, ob die KCP_VPA-Entscheidungslogs deaktiviert sind. Führen Sie dazu den folgenden Befehl aus:

    gcloud container clusters describe CLUSTER_NAME \
        --location=LOCATION \
        --flatten=loggingConfig \
        --format='csv[delimiter=",",no-heading](componentConfig.enableComponents)'
    

    Wenn KCP_VPA-Entscheidungslogs für einen Cluster deaktiviert sind, sieht die Ausgabe in etwa so aus:

    SYSTEM_COMPONENTS,APISERVER,CONTROLLER_MANAGER,SCHEDULER
    

Protokolltypen

Die Entscheidungsereignisse für das vertikale Pod-Autoscaling werden in Cloud Logging am logName="projects/PROJECT_ID/logs/container.googleapis.com%2Fvpa-controller"-Standort gespeichert, der sich im _Default bucket im selben Projekt wie Ihr GKE-Cluster befindet. Alle protokollierten Ereignisse liegen im JSON-Format vor und sind im Feld jsonPayload eines Logeintrags enthalten.

Art und Häufigkeit der generierten Logs hängen vom Modus für vertikales Pod-Autoscaling ab, der für Ihre Arbeitslast konfiguriert ist. Es gibt vier Arten von VPA-Logs, die nach dem Vorgang kategorisiert werden, den sie ausführen:

  • Aktualisierungsempfehlung: Jede Minute wird von jedem vertikalen Pod-Autoscaler ein neues Protokoll für Aktualisierungsempfehlungen generiert.
  • Pod entfernen: Jeder VerticalPodAutoscaler generiert ein Log vom Typ „Pod entfernen“ für jeden Pod, wenn der VerticalPodAutoscaler beschließt, die Größe im Modus Recreate zu ändern.
  • Empfehlung bei Entfernung anwenden: Jeder vertikale Pod-Autoscaler generiert ein Protokoll für die angewendete Empfehlung für jeden Pod, wenn der vertikale Pod-Autoscaler beschließt, die Größe im Modus Recreate zu ändern.
  • Empfehlung anwenden: Jeder vertikale Pod-Autoscaler generiert ein Log für die Anwendung der Empfehlung für jeden Pod, wenn der vertikale Pod-Autoscaler beschließt, die Größe im Modus InPlaceOrRecreate zu ändern.

Welche Arten von Logs der Controller ausgeben kann, hängt vom Modus des vertikalen Pod-Autoscalers ab. In der folgenden Tabelle sind die Logs aufgeführt, die für die einzelnen Modi ausgegeben werden können.

Modus für vertikales Pod-Autoscaling Arten von Logs, die ausgegeben werden können
Auto (verworfen) oder Recreate
  • Empfehlung aktualisieren
  • Pod entfernen
  • Empfehlung bei Ausschluss anwenden
InPlaceOrRecreate
  • Empfehlung aktualisieren
  • Empfehlung direkt anwenden
  • Pod entfernen (diese Art von Log ist möglich, wenn die In-place-Größenanpassung fehlschlägt)
  • Empfehlung bei Ausschluss anwenden (diese Art von Log ist möglich, wenn die In-place-Größenanpassung fehlschlägt)

Wenn In-place resize für einen vertikalen Pod-Autoscaler im Modus InPlaceOrRecreate fehlschlägt, verhält sich der Autoscaler wie im Modus Recreate.

Empfehlung aktualisieren

Ein Protokoll mit Aktualisierungsempfehlungen kann mit den folgenden Modi für vertikales Pod-Autoscaling erstellt werden: Auto (eingestellt), Recreate und InPlaceOrRecreate.

Das jsonPayload dieses Entscheidungslogs enthält die folgenden Felder:

Feld Beschreibung
vpaName Der Name des VPA.
vpaNamespace Der Namespace des VPA.
target Die Arbeitslast, auf die sich dieser VPA bezieht.
  • name: Der Name der Arbeitslast.
  • kind: Die Art der Arbeitslast.
  • apiVersion: Die API-Version der Arbeitslast.
operation Der Vorgang, der ausgeführt wird. Der Wert ist einer der folgenden:
  • UPDATE_RECOMMENDATION
  • EVICT_POD
  • APPLY_RECOMMENDATION_IN_PLACE
  • APPLY_RECOMMENDATION_ON_EVICTION
state Status des Vorgangs. Der Wert ist einer der folgenden:
  • SUCCEEDED
  • SKIPPED
  • FAILED
reason

Der Grund erklärt, warum der Vorgang übersprungen oder fehlgeschlagen ist.

Für den Vorgang APPLY_RECOMMENDATION_IN_PLACE und den Erfolgsfall APPLY_RECOMMENDATION_ON_EVICTION wird klargestellt, dass sich die angewendete Empfehlung aufgrund von Änderungen (z. B. Obergrenze oder Autopilot-Ressourcenverhältnis) von der Rohdatenempfehlung im Vorgang UPDATE_RECOMMENDATION unterscheiden kann.

recommendedResources Die Rohdaten der Empfehlung. Dies entspricht dem Feld Status.Recommendation im VPA-Objekt.
  • containerName: der Name des Containers, für den diese Empfehlung gilt.
  • target: die tatsächliche Empfehlung, die angewendet werden kann.
  • lowerBound: die Untergrenze der Empfehlung.
  • upperBound: die Obergrenze der Empfehlung.
  • uncappedTarget: Die Empfehlung vor der Begrenzung durch die Unter- oder Obergrenze.
confidence Konfidenz der Empfehlung. Dieses Feld ist vorhanden, wenn der Status succeeded ist. Der Wert ist einer der folgenden:
  • LOW: Der VPA hat weniger als 10 Messwert-Samples verarbeitet.
  • HIGH: Der VPA hat mindestens 10 Messwert-Samples verarbeitet.

Beispiel für ein Empfehlungslog für Updates:

{
 "insertId": "ehz6w9d304v4zttg",
 "jsonPayload": {
   "state": "SUCCEEDED",
   "instance": {
     "vm_name": "my-unique-vm-identifier",
     "zone": "us-central1-c"
   },
   "recommendedResources": [
     {
       "lowerBound": {
         "memory": "5Mi",
         "cpu": "5m"
       },
       "containerName": "nginx",
       "uncappedTarget": {
         "memory": "5Mi",
         "cpu": "1m"
       },
       "upperBound": {
         "memory": "5Mi",
         "cpu": "5m"
       },
       "target": {
         "memory": "5Mi",
         "cpu": "5m"
       }
     }
   ],
   "operation": "UPDATE_RECOMMENDATION",
   "target": {
     "name": "my-workload",
     "kind": "Deployment",
     "apiVersion": "apps/v1"
   },
   "vpaNamespace": "default",
   "vpaName": "my-vpa"
 },
 "resource": {
   "type": "k8s_control_plane_component",
   "labels": {
     "component_location": "us-central1-c",
     "project_id": "my-project",
     "cluster_name": "my-cluster",
     "location": "us-central1-c",
     "component_name": "vpa-controller"
   }
 },
 "timestamp": "2026-01-22T19:28:16.069635605Z",
 "severity": "INFO",
 "labels": {
   "compute.googleapis.com/resource_name": "my-unique-vm-identifier"
 },
 "logName": "projects/my-project/logs/container.googleapis.com%2Fvpa-controller",
 "sourceLocation": {
   "file": "vpa_event_logger.go",
   "line": "23"
 },
 "receiveTimestamp": "2026-01-22T19:28:17.750678359Z"
}

Pod entfernen

Ein Log für das Entfernen von Pods ist im VPA-Modus Auto (eingestellt) und Recreate verfügbar. Dieser Logtyp ist auch im VPA-Modus InPlaceOrRecreate möglich, wenn der In-place resize-Vorgang fehlschlägt.

Das jsonPayload dieses Entscheidungslogs enthält die folgenden Felder:

Feld Beschreibung
vpaName Der Name des VPA.
vpaNamespace Der Namespace des VPA.
target Die Arbeitslast, auf die sich dieser VPA bezieht.
  • name: Der Name der Arbeitslast.
  • kind: Die Art der Arbeitslast.
  • apiVersion: Die API-Version der Arbeitslast.
operation Der Vorgang, der ausgeführt wird. Der Wert ist einer der folgenden:
  • UPDATE_RECOMMENDATION
  • EVICT_POD
  • APPLY_RECOMMENDATION_IN_PLACE
  • APPLY_RECOMMENDATION_ON_EVICTION
state Der Status des Vorgangs. Der Wert ist einer der folgenden:
  • SUCCEEDED
  • SKIPPED
  • FAILED
reason

Der Grund erklärt, warum der Vorgang übersprungen oder fehlgeschlagen ist.

Im Erfolgsfall für die Vorgänge APPLY_RECOMMENDATION_IN_PLACE und APPLY_RECOMMENDATION_ON_EVICTION wird erläutert, dass sich die angewendete Empfehlung von der Rohfassung der Empfehlung im Vorgang UPDATE_RECOMMENDATION unterscheiden kann. Das liegt an den vorgenommenen Änderungen, z. B. an der Obergrenze oder dem Ressourcenverhältnis im Autopilot-Modus.

pod Der Name des Pods.

Beispiel für ein Log zum Entfernen eines Pods:

{
 "insertId": "8x278gc4f75oowf4",
 "jsonPayload": {
   "target": {
     "kind": "Deployment",
     "apiVersion": "apps/v1",
     "name": "my-deployment"
   },
   "operation": "EVICT_POD",
   "vpaName": "my-vpa",
   "pod": "my-deployment-856ff7966-gr4rh",
   "state": "SUCCEEDED",
   "vpaNamespace": "default",
   "instance": {
     "vm_name": "my-unique-vm-identifier",
     "zone": "us-central1-c"
   }
 },
 "resource": {
   "type": "k8s_control_plane_component",
   "labels": {
     "component_name": "vpa-controller",
     "cluster_name": "my-cluster",
     "component_location": "us-central1-c",
     "location": "us-central1-c",
     "project_id": "my-project"
   }
 },
 "timestamp": "2026-01-22T19:26:25.283067078Z",
 "severity": "INFO",
 "labels": {
   "compute.googleapis.com/resource_name": "my-unique-vm-identifier"
 },
 "logName": "projects/my-project/logs/container.googleapis.com%2Fvpa-controller",
 "sourceLocation": {
   "file": "vpa_event_logger.go",
   "line": "23"
 },
 "receiveTimestamp": "2026-01-22T19:26:27.766941073Z"
}

Empfehlung bei Ausschluss anwenden

Ein Log zum Anwenden von Empfehlungen bei der Entfernung ist mit dem VPA-Modus Auto (eingestellt) und Recreate verfügbar. Dieser Logtyp ist auch im VPA-Modus InPlaceOrRecreate möglich, wenn In-place resize fehlschlägt.

Das jsonPayload dieses Entscheidungslogs enthält die folgenden Felder:

Feld Beschreibung
vpaName Der Name des VPA.
vpaNamespace Der Namespace des VPA.
target Die Arbeitslast, auf die sich dieser VPA bezieht.
  • name: Der Name der Arbeitslast.
  • kind: Die Art der Arbeitslast.
  • apiVersion: Die API-Version der Arbeitslast.
operation Der Vorgang, der ausgeführt wird. Der Wert ist einer der folgenden:
  • UPDATE_RECOMMENDATION
  • EVICT_POD
  • APPLY_RECOMMENDATION_IN_PLACE
  • APPLY_RECOMMENDATION_ON_EVICTION
state Status des Vorgangs. Der Wert ist einer der folgenden:
  • SUCCEEDED
  • SKIPPED
  • FAILED
reason

Der Grund erklärt, warum der Vorgang übersprungen oder fehlgeschlagen ist.

Für den Vorgang APPLY_RECOMMENDATION_IN_PLACE und den Erfolgsfall APPLY_RECOMMENDATION_ON_EVICTION wird klargestellt, dass sich die angewendete Empfehlung aufgrund von Änderungen (z. B. Obergrenze oder Autopilot-Ressourcenverhältnis) von der Rohdatenempfehlung im Vorgang UPDATE_RECOMMENDATION unterscheiden kann.

pod Der Name des Pods.
appliedResources Die auf den Pod angewendeten Ressourcen.
  • containerName: Der Name des Containers.
  • requests: die angewendeten Ressourcenanfragen.
    • cpu: Die angewendete CPU.
    • memory: der angewendete Arbeitsspeicher.
  • limits: die angewendeten Ressourcenlimits.
    • cpu: Die angewendete CPU.
    • memory: der angewendete Arbeitsspeicher.
confidence Die Zuverlässigkeit der Empfehlung. Dieses Feld ist vorhanden, wenn der Status succeeded ist. Der Wert ist einer der folgenden:
  • LOW: Der VPA hat weniger als 10 Messwert-Samples verarbeitet.
  • HIGH: Der VPA hat mindestens 10 Messwert-Samples verarbeitet.

Beispiel für das Anwenden einer Empfehlung auf ein Ausschlusslog:

{
 "insertId": "366tcmgdkq94eppg",
 "jsonPayload": {
   "appliedResources": [
     {
       "containerName": "my-container",
       "requests": {
         "memory": "15Mi",
         "cpu": "15m"
       }
     }
   ],
   "vpaName": "my-vpa",
   "vpaNamespace": "default",
   "instance": {
     "zone": "us-central1-c",
     "vm_name": "my-unique-vm-identifier"
   },
   "pod": "my-deployment-856ff7966-%",
   "state": "SUCCEEDED",
   "target": {
     "name": "my-deployment",
     "kind": "Deployment",
     "apiVersion": "apps/v1"
   },
   "operation": "APPLY_RECOMMENDATION_ON_EVICTION"
 },
 "resource": {
   "type": "k8s_control_plane_component",
   "labels": {
     "location": "us-central1-c",
     "component_location": "us-central1-c",
     "cluster_name": "my-cluster",
     "component_name": "vpa-controller",
     "project_id": "my-project"
   }
 },
 "timestamp": "2026-01-22T19:26:25.344313199Z",
 "severity": "INFO",
 "labels": {
   "compute.googleapis.com/resource_name": "my-unique-vm-identifier"
 },
 "logName": "projects/my-project/logs/container.googleapis.com%2Fvpa-controller",
 "sourceLocation": {
   "file": "vpa_event_logger.go",
   "line": "23"
 },
 "receiveTimestamp": "2026-01-22T19:26:32.744122156Z"
}

Empfehlung direkt anwenden

Ein Log für die Anwendung von Empfehlungen ist mit dem VPA-Modus InPlaceOrRecreate verfügbar.

Das jsonPayload dieses Entscheidungslogs enthält die folgenden Felder:

Feld Beschreibung
vpaName Der Name des VPA.
vpaNamespace Der Namespace des VPA.
target Die Arbeitslast, auf die sich dieser VPA bezieht.
  • name: Der Name der Arbeitslast.
  • kind: Die Art der Arbeitslast.
  • apiVersion: Die API-Version der Arbeitslast.
operation Der Vorgang, der ausgeführt wird. Der Wert ist einer der folgenden:
  • UPDATE_RECOMMENDATION
  • EVICT_POD
  • APPLY_RECOMMENDATION_IN_PLACE
  • APPLY_RECOMMENDATION_ON_EVICTION
state Der Status des Vorgangs. Der Wert ist einer der folgenden:
  • SUCCEEDED
  • SKIPPED
  • FAILED
reason

Der Grund erklärt, warum der Vorgang übersprungen oder fehlgeschlagen ist.

Im Erfolgsfall für die Vorgänge APPLY_RECOMMENDATION_IN_PLACE und APPLY_RECOMMENDATION_ON_EVICTION wird erläutert, dass sich die angewendete Empfehlung von der Rohfassung der Empfehlung im Vorgang UPDATE_RECOMMENDATION unterscheiden kann. Das liegt an den vorgenommenen Änderungen, z. B. an der Obergrenze oder dem Ressourcenverhältnis im Autopilot-Modus.

pod Der Name des Pods.
appliedResources Die auf den Pod angewendeten Ressourcen.
  • containerName: Der Name des Containers.
  • requests: die angewendeten Ressourcenanfragen.
    • cpu: Die angewendete CPU.
    • memory: der angewendete Arbeitsspeicher.
  • limits: die angewendeten Ressourcenlimits.
    • cpu: Die angewendete CPU.
    • memory: der angewendete Arbeitsspeicher.
confidence Die Zuverlässigkeit der Empfehlung. Dieses Feld ist vorhanden, wenn der Status succeeded ist. Der Wert ist einer der folgenden:
  • LOW: Der VPA hat weniger als 10 Messwert-Samples verarbeitet.
  • HIGH: Der VPA hat mindestens 10 Messwert-Samples verarbeitet.

Beispiel für einen Logeintrag zum Anwenden einer Empfehlung:

{
 "insertId": "suzfuepgyiwap7hb",
 "jsonPayload": {
   "pod": "my-deployment-cdc7fd7b4-grxlk",
   "vpaNamespace": "default",
   "state": "SUCCEEDED",
   "target": {
     "name": "my-deployment",
     "apiVersion": "apps/v1",
     "kind": "Deployment"
   },
   "operation": "APPLY_RECOMMENDATION_IN_PLACE",
   "appliedResources": [
     {
       "containerName": "my-container",
       "limits": {
         "cpu": "10m",
         "memory": "10Mi"
       },
       "requests": {
         "cpu": "5m",
         "memory": "5Mi"
       }
     }
   ],
   "instance": {
     "zone": "us-central1-c",
     "vm_name": "my-unique-vm-identifier"
   },
   "vpaName": "my-vpa"
 },
 "resource": {
   "type": "k8s_control_plane_component",
   "labels": {
     "project_id": "my-project",
     "component_location": "us-central1-c",
     "cluster_name": "my-cluster",
     "location": "us-central1-c",
     "component_name": "vpa-controller"
   }
 },
 "timestamp": "2026-01-22T19:26:25.214095375Z",
 "severity": "INFO",
 "labels": {
   "compute.googleapis.com/resource_name": "my-unique-vm-identifier"
 },
 "logName": "projects/my-project/logs/container.googleapis.com%2Fvpa-controller",
 "sourceLocation": {
   "file": "vpa_event_logger.go",
   "line": "23"
 },
 "receiveTimestamp": "2026-01-22T19:26:27.766941073Z"
}

Fehlerbehebung

In diesem Abschnitt werden Probleme und Lösungsschritte im Zusammenhang mit Ereignissen des vertikalen Pod-Autoscalers beschrieben.

Keine Termine

Wenn Sie keine Ereignisse für Entscheidungen zum vertikalen Pod-Autoscaling sehen, haben Sie möglicherweise Folgendes nicht ausgeführt:

  • Sie haben Cloud Logging für den Cluster aktiviert.
  • Sie haben die KCP_VPA-Logs für den Cluster aktiviert.
  • Sie haben mindestens ein korrekt konfiguriertes vpa-Objekt in Ihrem Cluster bereitgestellt.

Führen Sie den folgenden Befehl aus, um die Konfiguration Ihres vpa-Objekts aufzurufen:

kubectl describe vpa $VPA_NAME

Wenn Sie weiterhin keine KCP_VPA-Logs sehen, wenden Sie sich an den Cloud de Confiance Support.

Nächste Schritte