איסוף יומני אירועים של Vertical Pod Autoscaler

בדף הזה מפורט מידע על אירועי החלטה שמופקים על ידי הכלי להתאמה אוטומטית של גודל ה-Pod ב-Google Kubernetes Engine ‏ (GKE). ניתוח האירועים האלה מאפשר לכם לקבל תובנות לגבי האופן שבו בקר ההתאמה האנכית של קבוצות Pod לעומס מנהל את שינוי גודל עומס העבודה, ולהבין את תהליך קבלת ההחלטות שמוביל לפעולות שלו.

הכלי Vertical Pod Autoscaler פולט אירועים של החלטות, שמאוחסנים כרשומות ביומן ב-Cloud Logging.

לפני שמתחילים

חשוב לוודא שאתם עומדים בדרישות המוקדמות הבאות:

יצירת פרויקט חדש או בחירה בפרויקט קיים

אתם יכולים להשתמש בפרויקט קיים או ליצור פרויקט חדש לצורך המדריך הזה.

  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.

הפעלת ממשקי ה-API

מפעילים את ממשקי ה-API של GKE ו-Cloud Logging.

תפקידים שנדרשים להפעלת ממשקי API

כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק 'שימוש בשירות'' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

הפעלת ממשקי ה-API

הגדרת Cloud Shell

במדריך הזה תשתמשו ב-Cloud Shell כדי להריץ פקודות של gcloud ושל kubectl. ‫Cloud Shell היא סביבת shell לניהול משאבים שמתארחים ב- Cloud de Confiance by S3NS. הוא מגיע עם Google Cloud CLI ועם כלי שורת הפקודה kubectl שמותקנים מראש.

במסוף Cloud de Confiance , מפעילים את Cloud Shell.

הפעלת Cloud Shell

בחלק התחתון של המסוף ייפתח סשן של Cloud Shell בתוך מסגרת.

לפני שמריצים פקודות במדריך הזה, מוודאים שפרויקט ברירת המחדל מוגדר למזהה הפרויקט שבו רוצים לפרוס את אפליקציית הדוגמה. אם הוא עדיין לא מוגדר, מריצים את הפקודה הבאה ב-Cloud Shell:

gcloud config set project PROJECT_ID

מחליפים את PROJECT_ID במזהה הפרויקט.

התפקידים וההרשאות הנדרשים

כדי לקבל את ההרשאות שדרושות בשביל להפעיל את יצירת היומנים, ולגשת ליומנים ולעבד אותם, אתם צריכים לבקש מהאדמין לתת לכם את תפקידי ה-IAM הבאים בפרויקט:

  • כדי להפעיל רישום של אירועים של Vertical Pod Autoscaler באשכול: אדמין של אשכול Kubernetes Engine (roles/container.clusterAdmin)
  • כדי לגשת ליומנים ולהשתמש ב-Logs Explorer וב-Observability Analytics: Logs Viewer (roles/logging.viewer)

להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.

דרישות

  • אשכול GKE צריך להיות בגרסה 1.36.0-gke.1601000 ואילך.
  • מפעילים את Cloud Logging באשכול GKE.
  • מוודאים שיש לכם vertical Pod autoscaler שאתם רוצים לעקוב אחריו. חשוב לוודא שבשדות של הכלי האוטומטי לשינוי גודל של Pods אנכיים לא מופיעים נתונים רגישים.

עלויות

התמחור של Cloud Logging חל כשמפעילים את Cloud Logging ואוספים יומני החלטות של שינוי גודל אוטומטי של Pod אנכי.

הפעלת יומני החלטות של Vertical Pod Autoscaler

חשוב להפעיל גם את רכיב יומני המערכת.

הפקודות שמופיעות בקטעים הבאים מאפשרות לייצא את היומנים שנוצרו על ידי KCP_VPA ולשמור את היומנים ביעד logName="projects/PROJECT_ID/logs/container.googleapis.com%2Fvpa-controller" ב-Cloud Logging.

הפעלת יומנים באשכול חדש

כדי ליצור אשכול חדש עם הפעלת יומני ההחלטות של KCP_VPA, מריצים את הפקודה הבאה.

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

מחליפים את מה שכתוב בשדות הבאים:

  • CLUSTER_NAME: השם של אשכול ה-Kubernetes שרוצים ליצור או לעדכן.
  • PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance .
  • LOCATION: אזורי או תחומים של מחשוב לאשכול.

הפעלת יומנים באשכול קיים

כדי להפעיל את יומני ההחלטות KCP_VPA באשכול קיים:

  1. בודקים את ההגדרה הקיימת של האשכול. אם באשכול כבר מוגדרים רכיבי רישום ספציפיים, צריך להחליט אם רוצים להוסיף להגדרת הרישום הקיימת או להחליף אותה.

  2. כדי להפעיל את יומני ההחלטות של הכלי האוטומטי לשינוי גודל של Pods אנכיים, מריצים את הפקודה הבאה. אם מוסיפים להגדרה קיימת, צריך להוסיף את הגדרת הרישום הקיימת לפקודה.

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

    מחליפים את מה שכתוב בשדות הבאים:

    • CLUSTER_NAME: שם האשכול שרוצים ליצור או לעדכן.
    • PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance .
    • LOCATION: אזורי מחשוב או אזורים לאשכול.

מוודאים שהרישום ביומן מופעל

כדי לוודא שיומני ההחלטות של KCP_VPA מופעלים באשכול, מאחזרים את הגדרות הרישום המעודכנות של האשכול ובודקים את רשימת היומנים. כדי לעשות זאת, מריצים את הפקודה הבאה:

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

מחליפים את מה שכתוב בשדות הבאים:

כשיומני ההחלטות של KCP_VPA מופעלים באשכול, הפלט נראה כך:

SYSTEM_COMPONENTS,APISERVER,CONTROLLER_MANAGER,SCHEDULER,KCP_VPA

צפייה ביומנים של Vertical Pod Autoscaler בכלי Logs Explorer

אפשר לעקוב אחרי ההתנהגות של הכלי לשינוי גודל אוטומטי של Pods אנכיים בכלי Logs Explorer. כדי לראות את היומנים של Vertical Pod Autoscaler:

  1. עוברים לדף Logs Explorer:

    כניסה לדף Logs Explorer

  2. בוחרים באפשרות כל שמות היומנים ומחפשים את שם היומן vpa-controller.

    בכלי לבדיקת יומנים מוצגים כל היומנים של Vertical Pod Autoscaler, כולל יומנים מכל האשכולות שבהם הופעלו יומנים של Vertical Pod Autoscaler בפרויקט.

  3. אפשר לסנן את היומנים לפי שם האשכול או שם עומס העבודה. לדוגמה, כדי להציג רשימה של אירועים מתוך עומס עבודה ספציפי באשכול, מציינים את שם האשכול ואת שם עומס העבודה באמצעות השאילתה הבאה:

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

    מחליפים את מה שכתוב בשדות הבאים:

    • CLUSTER_NAME: שם האשכול.
    • WORKLOAD_NAME: שם עומס העבודה.

השבתת יומני החלטות של התאמה אנכית של קבוצות Pod לעומס

  1. כדי להשבית את יומני ההחלטות של KCP_VPA באשכול קיים, מריצים את הפקודה הבאה:

    gcloud container clusters update CLUSTER_NAME \
        --location=LOCATION \
        --project=PROJECT_ID \
        --logging=SYSTEM
    
  2. מוודאים שיומני ההחלטות KCP_VPA מושבתים. כדי לעשות זאת, מריצים את הפקודה הבאה:

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

    כשיומני ההחלטות של KCP_VPA מושבתים באשכול, הפלט דומה לזה:

    SYSTEM_COMPONENTS,APISERVER,CONTROLLER_MANAGER,SCHEDULER
    

סוגים של יומנים

אירועי ההחלטה של הכלי לשינוי גודל ה-Pods באופן אנכי מאוחסנים ב-Cloud Logging, בlogName="projects/PROJECT_ID/logs/container.googleapis.com%2Fvpa-controller" מיקום שמופיע ב_Default bucket באותו פרויקט כמו אשכול GKE. כל האירועים שמתועדים הם בפורמט JSON ואפשר למצוא אותם בשדה jsonPayload של רשומה ביומן.

הסוג והתדירות של היומנים שנוצרים תלויים במצב ההתאמה האוטומטית של Pods אנכיים שהוגדר לעומס העבודה. יש ארבעה סוגים של יומני VPA, שמסווגים לפי הפעולה שהם מבצעים:

  • המלצת עדכון: כל Pod של קנה מידה אנכי יוצר יומן חדש של המלצות עדכון כל דקה.
  • Evict Pod: כל Vertical Pod Autoscaler יוצר יומן אחד של Evict Pod לכל Pod, כשהוא מחליט לשנות את הגודל במצב Recreate.
  • החלת המלצה על הוצאה: כל כלי לשינוי גודל של Pod באופן אנכי יוצר יומן אחד של המלצות להחלה לכל Pod, כשהכלי מחליט לשנות את הגודל במצב Recreate.
  • החלת המלצה במקום: כל כלי להתאמה אנכית של קבוצות Pod לעומס יוצר יומן אחד של החלת המלצה במקום לכל Pod, כשהכלי מחליט לשנות את הגודל במצב InPlaceOrRecreate.

סוגי היומנים שהבקר יכול להפיק תלויים במצב של הכלי האוטומטי לשינוי גודל של Pods אנכיים. בטבלה הבאה מפורטים היומנים שאפשר להפיק לכל מצב.

מצב של Vertical Pod Autoscaler סוגי היומנים שאפשר להפיק
Auto (הוצא משימוש) או Recreate
  • עדכון ההמלצה
  • Evict Pod
  • יישום ההמלצה על פינוי
InPlaceOrRecreate
  • עדכון ההמלצה
  • יישום המלצה במקום
  • הוצאת Pod (סוג היומן הזה אפשרי אם שינוי הגודל של In-place נכשל)
  • החלת המלצה על פינוי (סוג היומן הזה אפשרי אם שינוי הגודל של In-place נכשל)

ב-Vertical Pod Autoscaler עם מצב InPlaceOrRecreate, אם In-place resize נכשל, ההתנהגות של ה-Autoscaler זהה להתנהגות במצב Recreate.

עדכון ההמלצה

אפשר ליצור יומן המלצות לעדכון באמצעות המצבים הבאים של vertical Pod autoscaler: ‏ Auto (הוצא משימוש), Recreate ו-InPlaceOrRecreate.

השדה jsonPayload ביומן ההחלטות הזה כולל את השדות הבאים:

שדה תיאור
vpaName שם כתובת ה-VPA.
vpaNamespace מרחב השמות של ה-VPA.
target עומס העבודה שה-VPA הזה מטרגט.
  • name: שם עומס העבודה.
  • kind: סוג עומס העבודה.
  • apiVersion: גרסת ה-API של עומס העבודה.
operation הפעולה שמתבצעת. הערך הוא אחד מהערכים הבאים:
  • UPDATE_RECOMMENDATION
  • EVICT_POD
  • APPLY_RECOMMENDATION_IN_PLACE
  • APPLY_RECOMMENDATION_ON_EVICTION
state מצב הפעולה. הערך הוא אחד מהערכים הבאים:
  • SUCCEEDED
  • SKIPPED
  • FAILED
reason

הסיבה מסבירה למה הפעולה נכשלה או למה המערכת דילגה עליה.

במקרה של פעולה APPLY_RECOMMENDATION_IN_PLACE ופעולה APPLY_RECOMMENDATION_ON_EVICTION, ההסבר מבהיר שההמלצה שיושמה עשויה להיות שונה מההמלצה הגולמית בפעולה UPDATE_RECOMMENDATION בגלל שינויים שבוצעו (כמו הגבלת עלויות או יחס משאבים של טייס אוטומטי).

recommendedResources ההמלצה הגולמית. השדה הזה זהה לשדה Status.Recommendation באובייקט VPA.
  • containerName: השם של מאגר התגים שאליו מתייחסת ההמלצה.
  • target: ההמלצה בפועל שאפשר ליישם.
  • lowerBound: הגבול התחתון של ההמלצה.
  • upperBound: הגבול העליון של ההמלצה.
  • uncappedTarget: ההמלצה לפני הגבלת הערך על ידי הגבול התחתון או העליון.
confidence רמת הביטחון בהמלצה. השדה הזה קיים כשהמצב הוא succeeded. הערך הוא אחד מהערכים הבאים:
  • LOW: המערכת של VPA עיבדה פחות מ-10 דגימות של מדדים.
  • HIGH: ה-VPA עיבד 10 דגימות של מדדים או יותר.

דוגמה ליומן המלצות לעדכון:

{
 "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"
}

Evict Pod

יומן של הוצאת Pod זמין במצב VPA‏ Auto (הוצא משימוש) וRecreate. סוג היומן הזה אפשרי גם במצב VPA‏ InPlaceOrRecreate אם הפעולה In-place resize נכשלת.

השדה jsonPayload ביומן ההחלטות הזה כולל את השדות הבאים:

שדה תיאור
vpaName שם כתובת ה-VPA.
vpaNamespace מרחב השמות של ה-VPA.
target עומס העבודה שה-VPA הזה מטרגט.
  • name: שם עומס העבודה.
  • kind: סוג עומס העבודה.
  • apiVersion: גרסת ה-API של עומס העבודה.
operation הפעולה שמתבצעת. הערך הוא אחד מהערכים הבאים:
  • UPDATE_RECOMMENDATION
  • EVICT_POD
  • APPLY_RECOMMENDATION_IN_PLACE
  • APPLY_RECOMMENDATION_ON_EVICTION
state המצב של הפעולה. הערך הוא אחד מהערכים הבאים:
  • SUCCEEDED
  • SKIPPED
  • FAILED
reason

הסיבה מסבירה למה הפעולה נכשלה או למה המערכת דילגה עליה.

במקרים של פעולה APPLY_RECOMMENDATION_IN_PLACE ופעולה APPLY_RECOMMENDATION_ON_EVICTION, הסיבה מסבירה שההמלצה שיושמה עשויה להיות שונה מההמלצה הגולמית בפעולה UPDATE_RECOMMENDATION בגלל שינויים שבוצעו (כמו הגבלת הוצאות או יחס משאבים של טייס אוטומטי).

pod השם של ה-Pod.

דוגמה ליומן של הוצאת Pod:

{
 "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"
}

יישום ההמלצה על פינוי

המלצה להחלת יומן פינוי זמינה במצב VPA Auto (הוצא משימוש) וב-Recreate. סוג היומן הזה אפשרי גם במצב VPA InPlaceOrRecreate אם In-place resize נכשל.

השדה jsonPayload ביומן ההחלטות הזה כולל את השדות הבאים:

שדה תיאור
vpaName שם כתובת ה-VPA.
vpaNamespace מרחב השמות של ה-VPA.
target עומס העבודה שה-VPA הזה מטרגט.
  • name: שם עומס העבודה.
  • kind: סוג עומס העבודה.
  • apiVersion: גרסת ה-API של עומס העבודה.
operation הפעולה שמתבצעת. הערך הוא אחד מהערכים הבאים:
  • UPDATE_RECOMMENDATION
  • EVICT_POD
  • APPLY_RECOMMENDATION_IN_PLACE
  • APPLY_RECOMMENDATION_ON_EVICTION
state מצב הפעולה. הערך הוא אחד מהערכים הבאים:
  • SUCCEEDED
  • SKIPPED
  • FAILED
reason

הסיבה מסבירה למה הפעולה נכשלה או למה המערכת דילגה עליה.

במקרה של פעולה APPLY_RECOMMENDATION_IN_PLACE ופעולה APPLY_RECOMMENDATION_ON_EVICTION, ההסבר מבהיר שההמלצה שיושמה עשויה להיות שונה מההמלצה הגולמית בפעולה UPDATE_RECOMMENDATION בגלל שינויים שבוצעו (כמו הגבלת עלויות או יחס משאבים של טייס אוטומטי).

pod השם של ה-Pod.
appliedResources המשאבים שמוגדרים ב-Pod.
  • containerName: השם של הקונטיינר.
  • requests: בקשות המשאבים שהוחלו.
    • cpu: יחידת ה-CPU שהוקצתה.
    • memory: הזיכרון שהוקצה.
  • limits: מגבלות המשאבים שהוחלו.
    • cpu: יחידת ה-CPU שהוקצתה.
    • memory: הזיכרון שהוקצה.
confidence רמת הוודאות של ההמלצה. השדה הזה קיים כשהמצב הוא succeeded. הערך הוא אחד מהערכים הבאים:
  • LOW: המערכת של VPA עיבדה פחות מ-10 דגימות של מדדים.
  • HIGH: ה-VPA עיבד 10 דגימות של מדדים או יותר.

דוגמה להחלת המלצה ביומן של הסרת משתמשים:

{
 "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"
}

יישום המלצה במקום

יומן של המלצות ליישום זמין במצב VPA InPlaceOrRecreate.

השדה jsonPayload ביומן ההחלטות הזה כולל את השדות הבאים:

שדה תיאור
vpaName שם כתובת ה-VPA.
vpaNamespace מרחב השמות של ה-VPA.
target עומס העבודה שה-VPA הזה מטרגט.
  • name: שם עומס העבודה.
  • kind: סוג עומס העבודה.
  • apiVersion: גרסת ה-API של עומס העבודה.
operation הפעולה שמתבצעת. הערך הוא אחד מהערכים הבאים:
  • UPDATE_RECOMMENDATION
  • EVICT_POD
  • APPLY_RECOMMENDATION_IN_PLACE
  • APPLY_RECOMMENDATION_ON_EVICTION
state המצב של הפעולה. הערך הוא אחד מהערכים הבאים:
  • SUCCEEDED
  • SKIPPED
  • FAILED
reason

הסיבה מסבירה למה הפעולה נכשלה או למה המערכת דילגה עליה.

במקרים של פעולה APPLY_RECOMMENDATION_IN_PLACE ופעולה APPLY_RECOMMENDATION_ON_EVICTION, הסיבה מסבירה שההמלצה שיושמה עשויה להיות שונה מההמלצה הגולמית בפעולה UPDATE_RECOMMENDATION בגלל שינויים שבוצעו (כמו הגבלת הוצאות או יחס משאבים של טייס אוטומטי).

pod השם של ה-Pod.
appliedResources המשאבים שמוגדרים ב-Pod.
  • containerName: השם של הקונטיינר.
  • requests: בקשות המשאבים שהוחלו.
    • cpu: יחידת ה-CPU שהוקצתה.
    • memory: הזיכרון שהוקצה.
  • limits: מגבלות המשאבים שהוחלו.
    • cpu: יחידת ה-CPU שהוקצתה.
    • memory: הזיכרון שהוקצה.
confidence רמת הוודאות של ההמלצה. השדה הזה קיים כשהמצב הוא succeeded. הערך הוא אחד מהערכים הבאים:
  • LOW: המערכת של VPA עיבדה פחות מ-10 דגימות של מדדים.
  • HIGH: ה-VPA עיבד 10 דגימות של מדדים או יותר.

דוגמה להחלת המלצה ביומן השינויים:

{
 "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"
}

פתרון בעיות

בקטע הזה מפורטות בעיות ושלבים לפתרון בעיות שקשורות לאירועים של Vertical Pod Autoscaler.

אין אירועים

אם לא מופיעים אירועים של החלטות לגבי שינוי גודל של Pod אנכי, צריך לוודא שביצעתם את כל הפעולות הבאות:

  • הפעלתם את Cloud Logging באשכול.
  • הפעלת את היומנים KCP_VPA עבור האשכול.
  • פרסתם לפחות אובייקט vpa אחד שהוגדר בצורה נכונה באשכול.

כדי להציג את הגדרות האובייקט של vpa, מריצים את הפקודה הבאה:

kubectl describe vpa $VPA_NAME

אם עדיין לא מוצגים יומני KCP_VPA, אפשר לפנות אל Cloud de Confiance התמיכה.

המאמרים הבאים