הגדרת מגבלות זיכרון למאגרי עובדים

אתם יכולים לבחור את כמות הזיכרון שיוקצה למאגר העובדים של Cloud Run. בדף הזה מוסבר איך מציינים את כמות הזיכרון שזמינה למאגר העובדים.

הסבר על השימוש בזיכרון

מכונות של Cloud Run שחורגות ממגבלת הזיכרון המותרת שלהן מופסקות.

הזיכרון שזמין למופע צריך להיות מספיק בשביל:

  • הפעלת קובץ ההפעלה של מאגר העובדים, כי צריך לטעון את קובץ ההפעלה לזיכרון
  • הקצאת זיכרון בתהליך של מאגר העובדים
  • כתיבת קבצים למערכת הקבצים

גודל קובץ אימג' של קונטיינר שפריסתו בוצעה לא משפיע על הזיכרון שזמין למופע.

הגדרה ועדכון של מגבלות זיכרון

אפשר להגדיר מגבלות זיכרון במאגרי עובדים ב-Cloud Run. כברירת מחדל, הזיכרון שמוקצה לכל מאגר עובדים הוא ‎512 MiB.

הזיכרון הנדרש כשמגדירים ערך של מעבד

כשמגדירים ערך של מעבד, נדרש הזיכרון הבא:

מעבדים (CPU) הזיכרון הנדרש
‫1 vCPU ‫128MiB עד 4GiB
‫2 vCPU ‫128MiB עד 8GiB
‫4 vCPU ‫2GiB עד 16GiB
‫6 vCPU ‫4 עד 24 גיגה-בייט
‫8 vCPU ‫4 עד 32GiB

כמות הזיכרון המקסימלית

הכמות המקסימלית של הזיכרון שאפשר להגדיר היא 32 גיביבייט (32 Gi).

אפשר לאכוף מגבלת זיכרון מקסימלית באמצעות מדיניות ארגונית בהתאמה אישית.

זיכרון מינימלי

הגדרת הזיכרון המינימלית היא ‎512 MiB.

שיקולי עלות

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

  1. קביעת הגדרות בסיסיות ראשוניות.
  2. כדאי לעקוב אחרי מדדי ניצול הזיכרון ב-Cloud Monitoring בזמן בדיקת המערכת בעומס.
  3. משנים את ההגדרות לפי הצורך.

אם השימוש בזיכרון נמוך באופן עקבי, כדאי לצמצם את הזיכרון שהוקצה. אם זמן האחזור גבוה וניצול הזיכרון קרוב ל-100%, כדאי להגדיל את הזיכרון שהוקצה. אם אתם נתקלים בשגיאות של חוסר זיכרון (OOM), כדאי להגדיל את הזיכרון שהוקצה או לשנות את האפליקציה כדי למנוע דליפות זיכרון ולהשתמש בפחות זיכרון. כדי להבין טוב יותר את השימוש בזיכרון, אפשר לעיין בלוח הבקרה של Cloud Monitoring.

למידע נוסף, אפשר לעיין בתמחור של Cloud Run או להשתמש במחשבון התמחור כדי להעריך את העלויות.

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

כדי לקבל את ההרשאות שדרושות להגדרה ולפריסה של מאגרי עובדים ב-Cloud Run, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם מאגר העובדים של Cloud Run מתקשר עםGoogle Cloud ממשקי API, כמו ספריות לקוח ב-Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.

הגדרת מגבלות זיכרון

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

אפשר להגדיר מגבלות זיכרון למאגר עובדים של Cloud Run באמצעותGoogle Cloud המסוף, Google Cloud CLI,‏ YAML או Terraform:

המסוף

  1. נכנסים ל-Cloud Run במסוף Google Cloud :

    כניסה ל-Cloud Run

  2. בתפריט, בוחרים באפשרות מאגרי עובדים ולוחצים על פריסת קונטיינר כדי להגדיר מאגר עובדים חדש. אם אתם מגדירים מאגר עובדים קיים, לוחצים על מאגר העובדים ואז על Edit and deploy new revision (עריכה ופריסה של גרסה חדשה).

  3. אם אתם מגדירים מאגר עובדים חדש, ממלאים את הדף הראשוני של מאגר העובדים ולוחצים על Container(s), Volumes, Networking, Security כדי להרחיב את דף ההגדרות של מאגרי העובדים.

  4. לוחצים על הכרטיסייה מאגר תגים.

    תמונה

    • בוחרים את גודל הזיכרון מהרשימה זיכרון.
  5. לוחצים על יצירה או על פריסה.

gcloud

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

gcloud beta run worker-pools update WORKER_POOL --memory SIZE

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

  • WORKER_POOL: שם מאגר העובדים
  • SIZE: גודל הזיכרון מתוך הטבלה של ה-CPU והזיכרון. הפורמט של הגודל הוא מספר נקודה קבועה או מספר נקודה צפה, ואחריו יחידה: G או M, שמתאימות לגיגה-בייט או למגה-בייט בהתאמה, או שמשתמשים בערכים המקבילים של חזקות של 2: Gi או Mi, שמתאימים לגיבי-בייט או למבי-בייט בהתאמה.

אפשר גם להגדיר מגבלות זיכרון במהלך הפריסה באמצעות הפקודה:

gcloud beta run worker-pools deploy --image IMAGE_URL --memory SIZE

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

  • IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, למשל us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
  • SIZE: גודל הזיכרון מתוך הטבלה של ה-CPU והזיכרון. הפורמט של גודל הוא מספר נקודה קבועה או מספר נקודה צפה, ואחריו יחידה: G או M שמתאימות לגיגה-בייט או למגה-בייט, בהתאמה, או שימוש במקבילות של חזקות של 2: ‏ Gi או Mi שמתאימות לגיבי-בייט או למבי-בייט, בהתאמה.

YAML

  1. אם אתם יוצרים מאגר עובדים חדש, דלגו על השלב הזה. אם אתם מעדכנים מאגר עובדים קיים, אתם צריכים להוריד את הגדרת ה-YAML שלו:

    gcloud beta run worker-pools describe WORKER_POOL --format export > workerpool.yaml
  2. בדוגמה הבאה מופיעה הגדרת ה-YAML:

    apiVersion: run.googleapis.com/v1
    kind: WorkerPool
    metadata:
      name: WORKER_POOL
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      template:
        spec:
          containers:
          - image: IMAGE_URL
            resources:
              limits:
                memory: SIZE

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

    • WORKER_POOL: השם של מאגר העובדים שלכם ב-Cloud Run.
    • IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, למשל us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
    • SIZE: גודל הזיכרון שנבחר. הפורמט הוא מספר נקודה צפה או מספר קבוע, ואחריו יחידה: ‫G או M שמתאימים לגיגה-בייט או למגה-בייט, בהתאמה, או שמשתמשים בערכים המקבילים בחזקות של 2: ‏ Gi או Mi שמתאימים לגיבי-בייט או למבי-בייט, בהתאמה.
  3. יוצרים או מעדכנים את מאגר העובדים באמצעות הפקודה הבאה:

    gcloud beta run worker-pools replace workerpool.yaml

Terraform

כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.

resource "google_cloud_run_v2_worker_pool" "default" {
  name     = "WORKER_POOL"
  location = "REGION"
  launch_stage = "BETA"

  template {
    containers {
      image = "IMAGE_URL"
      resources {
        limits = {
          memory = "SIZE"
        }
      }
    }
  }
}

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

  • WORKER_POOL: שם מאגר העובדים.
  • REGION: Google Cloud האזור. לדוגמה: europe-west1.
  • IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, למשל us-docker.pkg.dev/cloudrun/container/worker-pool:latest
  • SIZE: גודל הזיכרון מתוך הטבלה של ה-CPU והזיכרון. הפורמט של הגודל הוא מספר קבוע או מספר עם נקודה עשרונית, שאחריו מופיעה יחידה: G או M, שמתאימות לגיגה-בייט או למגה-בייט בהתאמה, או שמשתמשים בערכים המקבילים של חזקות של 2: ‏ Gi או Mi, שמתאימים לגיבי-בייט או למבי-בייט בהתאמה.

צפייה בהגדרות הזיכרון של מאגר העובדים

  1. נכנסים ל-Cloud Run במסוף Google Cloud :

    כניסה ל-Cloud Run

  2. לוחצים על Worker pools כדי להציג את רשימת מאגרי העובדים שנפרסו.

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

  4. לוחצים על הכרטיסייה Containers כדי להציג את הגדרת הזיכרון של מאגר העובדים לכל קונטיינר.