אתם יכולים לבחור את כמות הזיכרון שיוקצה למאגר העובדים של 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 מושפעת, בין היתר, מהגדרת הזיכרון ומהזמן שבו המשאב פעיל. הקצאת יתר של משאבים עלולה להגדיל את העלויות. כדי להחליט איזו הגדרת זיכרון הכי מתאימה למשאב:
- קביעת הגדרות בסיסיות ראשוניות.
- כדאי לעקוב אחרי מדדי ניצול הזיכרון ב-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 (עריכה ופריסה של גרסה חדשה).
אם אתם מגדירים מאגר עובדים חדש, ממלאים את הדף הראשוני של מאגר העובדים ולוחצים על Container(s), Volumes, Networking, Security כדי להרחיב את דף ההגדרות של מאגרי העובדים.
לוחצים על הכרטיסייה מאגר תגים.
- בוחרים את גודל הזיכרון מהרשימה זיכרון.
לוחצים על יצירה או על פריסה.
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
אם אתם יוצרים מאגר עובדים חדש, דלגו על השלב הזה. אם אתם מעדכנים מאגר עובדים קיים, אתם צריכים להוריד את הגדרת ה-YAML שלו:
gcloud beta run worker-pools describe WORKER_POOL --format export > workerpool.yaml
בדוגמה הבאה מופיעה הגדרת ה-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שמתאימים לגיבי-בייט או למבי-בייט, בהתאמה.
יוצרים או מעדכנים את מאגר העובדים באמצעות הפקודה הבאה:
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, שמתאימים לגיבי-בייט או למבי-בייט בהתאמה.
צפייה בהגדרות הזיכרון של מאגר העובדים
נכנסים ל-Cloud Run במסוף Google Cloud :
לוחצים על Worker pools כדי להציג את רשימת מאגרי העובדים שנפרסו.
לוחצים על מאגר העובדים שרוצים לבדוק כדי להציג את חלונית הפרטים שלו.
לוחצים על הכרטיסייה Containers כדי להציג את הגדרת הזיכרון של מאגר העובדים לכל קונטיינר.