אתם יכולים לבחור את נפח הזיכרון שיוקצה לעבודת 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).
זיכרון מינימלי
נפח הזיכרון המינימלי שאפשר להגדיר בסביבת ההפעלה של דור שני הוא 512MiB.
שיקולי עלות
העלות של עבודת Cloud Run מושפעת, בין היתר, מהגדרת הזיכרון ומהמשך הפעילות של המשאב. הקצאת יתר של משאבים עלולה להגדיל את העלויות. כדי להחליט איזו הגדרת זיכרון הכי מתאימה למשאב:
- קביעת הגדרות בסיסיות ראשוניות.
- כדאי לעקוב אחרי מדדי ניצול הזיכרון ב-Cloud Monitoring בזמן בדיקת המערכת בעומס.
- משנים את ההגדרות לפי הצורך.
אם השימוש בזיכרון נמוך באופן עקבי, כדאי לצמצם את הזיכרון שהוקצה. אם זמן האחזור גבוה וניצול הזיכרון קרוב ל-100%, כדאי להגדיל את הזיכרון שהוקצה. אם אתם נתקלים בשגיאות של חוסר זיכרון (OOM), כדאי להגדיל את הזיכרון שהוקצה או לשנות את האפליקציה כדי למנוע דליפות זיכרון ולהשתמש בפחות זיכרון. כדי להבין טוב יותר את השימוש בזיכרון, אפשר לעיין בלוח הבקרה של Cloud Monitoring.
למידע נוסף, אפשר לעיין בתמחור של Cloud Run או להשתמש במחשבון התמחור כדי להעריך את העלויות.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות להגדרת משימות Cloud Run, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
-
Cloud Run Developer (
roles/run.developer) on the Cloud Run job -
משתמש בחשבון שירות (
roles/iam.serviceAccountUser) בזהות השירות
רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם עבודת Cloud Run שלכם מתקשרת עםGoogle Cloud ממשקי API, כמו ספריות לקוח ב-Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.
הגדרת מגבלות זיכרון
צריך לציין לפחות 512Mi לעבודת Cloud Run. כדי לציין את הזיכרון לעבודת Cloud Run:
המסוף
נכנסים לדף Jobs ב-Cloud Run במסוף Google Cloud :
לוחצים על Deploy container (פריסת מאגר תגים) כדי למלא את דף ההגדרות הראשוניות של המשימה. אם מגדירים משימה קיימת, בוחרים את המשימה ולוחצים על View and edit job configuration (הצגה ועריכה של הגדרת המשימה).
לוחצים על Container(s), Volumes, Connections, Security (מאגרי נתונים, אמצעי אחסון, חיבורים, אבטחה) כדי להרחיב את דף מאפייני העבודה.
לוחצים על הכרטיסייה מאגר תגים.
- בוחרים את גודל הזיכרון הרצוי מהרשימה הנפתחת זיכרון.
לוחצים על יצירה או על עדכון.
gcloud
כדי להגדיר מגבלות זיכרון כשיוצרים משימה:
gcloud run jobs create JOB_NAME --image IMAGE_URL --memory SIZE
מחליפים את:
- JOB_NAME בשם של המשימה.
- IMAGE_URL: הפניה לקובץ אימג' של קונטיינר, לדוגמה
us-docker.pkg.dev/cloudrun/container/job:latest. - SIZE עם גודל הזיכרון הרצוי. הפורמט של הגודל הוא מספר קבוע או מספר עם נקודה צפה, ואחריו יחידה:
GאוM, שמתאימות לגיגה-בייט או למגה-בייט בהתאמה, או שימוש במקבילות של חזקות של 2:GiאוMi, שמתאימות לגיבי-בייט או למבי-בייט בהתאמה.
כדי להגדיר מגבלות זיכרון כשמעדכנים עבודה:
gcloud run jobs update JOB_NAME --memory SIZE
YAML
אם אתם יוצרים משרה חדשה, דלגו על השלב הזה. אם אתם מעדכנים משימה קיימת, אתם צריכים להוריד את הגדרת ה-YAML שלה:
gcloud run jobs describe JOB_NAME --format export > job.yaml
מעדכנים את המאפיין
memory:apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB spec: template: spec: template: spec: containers: - image: IMAGE resources: limits: memory: SIZE
מחליפים את SIZE בגודל הזיכרון הרצוי, ומציינים מינימום של 512Mi. הפורמט הוא מספר נקודה קבועה או צפה, ואחריו יחידה:
GאוM, שמתאימות לגיגה-בייט או למגה-בייט בהתאמה, או שמשתמשים בערכים המקבילים בחזקת 2: GiאוMi, שמתאימים לגיבי-בייט או למבי-בייט בהתאמה.אפשר גם לציין הגדרות נוספות, כמו משתני סביבה או מגבלות זיכרון.
מעדכנים את ההגדרה הקיימת של העבודה:
gcloud run jobs replace job.yaml
Terraform
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
מוסיפים את השורות הבאות למשאבgoogle_cloud_run_v2_job בקובץ התצורה של Terraform:resource "google_cloud_run_v2_job" "default" {
name = "cloudrun-job"
location = "REGION"
deletion_protection = false
template {
template {
containers {
image = "us-docker.pkg.dev/cloudrun/container/job"
resources {
limits = {
cpu = "2"
memory = "SIZE"
}
}
}
}
}
}
מחליפים את:
- REGION עם האזור Google Cloud . לדוגמה:
europe-west1. - SIZE עם גודל הזיכרון הנדרש, ומציינים מינימום של 512Mi.
הפורמט הוא מספר נקודה קבועה או צפה, ואחריו יחידה:
GאוM, שמתאימות לגיגה-בייט או למגה-בייט בהתאמה, או שמשתמשים בערכים המקבילים בחזקת 2: GiאוMi, שמתאימים לגיבי-בייט או למבי-בייט בהתאמה.
הצגת הגדרות של מגבלת הזיכרון
כדי לראות את הגדרות מגבלת הזיכרון הנוכחיות של משימת Cloud Run:
המסוף
במסוף Google Cloud , נכנסים לדף Cloud Run jobs:
לוחצים על המשרה שמעניינת אתכם כדי לפתוח את הדף פרטי המשרה.
לוחצים על View and Edit job configuration (הצגה ועריכה של הגדרות העבודה).
מאתרים את הגדרת מגבלת הזיכרון בפרטי ההגדרה.
gcloud
משתמשים בפקודה הבאה:
gcloud run jobs describe JOB_NAME
מחפשים את הגדרת מגבלת הזיכרון בהגדרה שמוחזרת.