אתם יכולים לבחור את כמות הזיכרון שיוקצה למאגר העובדים של Cloud Run. בדף הזה מוסבר איך מציינים את כמות הזיכרון שזמינה למאגר העובדים.
הסבר על השימוש בזיכרון
מכונות של Cloud Run שחורגות ממגבלת הזיכרון המותרת שלהן מופסקות.
הזיכרון שזמין למופע צריך להיות מספיק בשביל:
- הפעלת קובץ ההפעלה של מאגר העובדים, כי צריך לטעון את קובץ ההפעלה לזיכרון
- הקצאת זיכרון בתהליך של מאגר העובדים
- כתיבת קבצים למערכת הקבצים
גודל קובץ אימג' של קונטיינר הפריסה לא משפיע על הזיכרון שזמין למכונה.
הגדרה ועדכון של מגבלות זיכרון
אפשר להגדיר מגבלות זיכרון במאגרי עובדים ב-Cloud Run. כברירת מחדל, הזיכרון שמוקצה לכל מאגר עובדים הוא 512 MiB.
הזיכרון הנדרש כשמגדירים ערך של מעבד
כשמגדירים ערך של מעבד, נדרש הזיכרון הבא:
| מעבדים (CPU) | הזיכרון הנדרש |
|---|---|
| 1 vCPU | 128 MiB עד 4 GiB |
| 2 vCPU | 128MiB עד 8GiB |
| 4 vCPU | 2GiB עד 16GiB |
| 6 vCPU | 4 עד 24GiB |
| 8 vCPU | 4 עד 32 GiB |
כמות הזיכרון המקסימלית
הכמות המקסימלית של הזיכרון שאפשר להגדיר היא 32 גיביבייט (32 Gi).
זיכרון מינימלי
הגדרת הזיכרון המינימלית היא 512 MiB.
שיקולי עלות
העלות של מאגר העובדים ב-Cloud Run מושפעת, בין היתר, מהגדרת הזיכרון ומהזמן שבו המשאב פעיל. הקצאת יתר של משאבים עלולה להגדיל את העלויות. כדי להחליט איזו הגדרת זיכרון הכי מתאימה למשאב:
- קביעת הגדרות בסיסיות ראשוניות.
- כדאי לעקוב אחרי מדדי ניצול הזיכרון ב-Cloud Monitoring בזמן בדיקת המערכת בעומס.
- משנים את ההגדרות לפי הצורך.
אם השימוש בזיכרון נמוך באופן עקבי, כדאי להקטין את הזיכרון שהוקצה. אם זמן האחזור גבוה וניצול הזיכרון קרוב ל-100%, כדאי להגדיל את הזיכרון שהוקצה. אם אתם נתקלים בשגיאות של חוסר זיכרון (OOM), אתם צריכים להגדיל את הזיכרון שהוקצה או לשנות את האפליקציה כדי למנוע דליפות זיכרון ולהשתמש בפחות זיכרון. כדי להבין טוב יותר את השימוש בזיכרון, אפשר לעיין בלוח הבקרה של Cloud Monitoring.
למידע נוסף, אפשר לעיין בתמחור של Cloud Run או להשתמש במחשבון התמחור כדי להעריך את העלויות.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות להגדרה ולפריסה של מאגרי עובדים ב-Cloud Run, אתם צריכים לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
- Cloud Run Developer (
roles/run.developer) במאגר העובדים של Cloud Run - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) בזהות השירות
רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם מאגר העובדים של Cloud Run מתקשר עםGoogle Cloud ממשקי API, כמו ספריות לקוח ב-Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.
הגדרת מגבלות זיכרון
כל שינוי בהגדרות מוביל ליצירה של גרסה חדשה. גם גרסאות מתוקנות עתידיות יקבלו את הגדרת התצורה הזו באופן אוטומטי, אלא אם תבצעו עדכונים מפורשים כדי לשנות אותה.
אפשר להגדיר מגבלות זיכרון למאגר עובדים של Cloud Run באמצעותGoogle Cloud המסוף, Google Cloud CLI, YAML או Terraform:
המסוף
נכנסים ל-Cloud Run במסוף Google Cloud :
בתפריט, בוחרים באפשרות מאגרי עובדים ולוחצים על פריסת קונטיינר כדי להגדיר מאגר עובדים חדש. אם אתם מגדירים מאגר עובדים קיים, לוחצים על מאגר העובדים ואז על Edit and deploy new revision (עריכה ופריסה של עדכון חדש).
אם אתם מגדירים מאגר עובדים חדש, ממלאים את הדף הראשוני של מאגר העובדים ולוחצים על Containers, Networking, Security (מאגרי קונטיינרים, רשתות, אבטחה) כדי להרחיב את דף ההגדרות של מאגרי העובדים.
לוחצים על הכרטיסייה מאגר תגים.
- בוחרים את גודל הזיכרון מהרשימה זיכרון.
לוחצים על יצירה או על פריסה.
gcloud
אפשר לעדכן את הקצאת הזיכרון של מאגר עובדים מסוים באמצעות הפקודה הבאה:
gcloud run worker-pools update WORKER_POOL --memory SIZE
מחליפים את מה שכתוב בשדות הבאים:
- WORKER_POOL: שם מאגר העובדים
- SIZE: גודל הזיכרון מתוך הטבלה של ה-CPU והזיכרון.
הפורמט של הגודל הוא מספר קבוע או מספר עם נקודה עשרונית, שאחריו יחידה:
GאוM, שמתאימות לגיגה-בייט או למגה-בייט בהתאמה, או שמשתמשים בערכים המקבילים של חזקות של 2: GiאוMi, שמתאימות לגיבי-בייט או למבי-בייט בהתאמה.
אפשר גם להגדיר מגבלות זיכרון במהלך הפריסה באמצעות הפקודה:
gcloud 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
אם אתם יוצרים מאגר חדש של עובדים, דלגו על השלב הזה. אם אתם מעדכנים מאגר עובדים קיים, אתם צריכים להוריד את הגדרות ה-YAML שלו:
gcloud run worker-pools describe WORKER_POOL --format export > workerpool.yaml
בדוגמה הבאה מופיעה הגדרת ה-YAML:
apiVersion: run.googleapis.com/v1 kind: WorkerPool metadata: name: WORKER_POOL 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שמתאימים לגיבי-בייט או למבי-בייט, בהתאמה.
יוצרים או מעדכנים את מאגר העובדים באמצעות הפקודה הבאה:
gcloud run worker-pools replace workerpool.yaml
Terraform
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
resource "google_cloud_run_v2_worker_pool" "default" {
name = "WORKER_POOL"
location = "REGION"
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, שמתאימות לגיבי-בייט או למבי-בייט בהתאמה.
צפייה בהגדרות הזיכרון של מאגר העובדים
נכנסים ל-Cloud Run במסוף Google Cloud :
לוחצים על Worker pools כדי להציג את רשימת מאגרי העובדים שנפרסו.
לוחצים על מאגר העובדים שרוצים לבדוק כדי להציג את חלונית הפרטים שלו.
לוחצים על הכרטיסייה Containers כדי להציג את הגדרת הזיכרון של מאגר העובדים לכל מאגר.