בדף הזה מוסבר איך לשנות את גודל מאגר העובדים באופן ידני.
סקירה כללית
שינוי גודל ידני מאפשר לכם להגדיר מספר ספציפי של מופעים בלי שתצטרכו לפרוס מחדש. כך תוכלו לכתוב לוגיקה משלכם להתאמת גודל באמצעות מערכת חיצונית. אפשר לראות דוגמה לכך ב-Kafka Autoscaler.
שיקולים בנושא חיוב כשמשתמשים בהתאמת קנה מידה ידנית
כשמשתמשים בהגדלת נפח אחסון ידנית, כל המופעים שביקשתם מחויבים כמופעים פעילים, גם אם הם לא פעילים. פרטים מלאים על החיוב מופיעים בדף המחירים.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לפריסת מאגרי עובדים של Cloud Run, אתם צריכים לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
-
Cloud Run Developer (
roles/run.developer) בשירות Cloud Run -
משתמש בחשבון שירות (
roles/iam.serviceAccountUser) בזהות השירות -
Artifact Registry Reader (
roles/artifactregistry.reader) במאגר Artifact Registry של קובץ האימג' של הקונטיינר שנפרס (אם רלוונטי)
רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם מאגר העובדים של Cloud Run מתקשר עםGoogle Cloud ממשקי API, כמו ספריות לקוח ב-Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.
הגדרת שינוי גודל
שינוי מצב ההתאמה או שינוי מספר המופעים הידני לא יוצרים גרסה חדשה.
כדי להגדיר את מצב שינוי הגודל, משתמשים במסוף Google Cloud , ב-Google Cloud CLI, ב-YAML, ב-Terraform או ב-API בארכיטקטורת REST:
המסוף
נכנסים ל-Cloud Run במסוף Google Cloud :
אם אתם מגדירים מאגר עובדים חדש, בוחרים באפשרות מאגרי עובדים בתפריט ולוחצים על פריסת מאגר. אם אתם מגדירים מאגר עובדים קיים, לוחצים על מאגר העובדים כדי להציג את חלונית הפרטים שלו, ואז לוחצים על סמל העיפרון לצד Scaling בפינה השמאלית העליונה של חלונית הפרטים.
מאתרים את הטופס Scaling (למאגר עובדים חדש) או את הטופס Edit scaling למאגר עובדים קיים.
בשדה Number of instances (מספר המופעים) מציינים את מספר מופעי מאגר התגים של השירות.
משלימים את המפרט.
לוחצים על Create כדי ליצור מאגר עובדים חדש או על Save כדי לשמור מאגר עובדים קיים.
gcloud
כדי לציין את קנה המידה של מאגר עובדים חדש, משתמשים בפקודה deploy:
gcloud beta run worker-pools deploy WORKER_POOL \ --instances=INSTANCE_COUNT \ --image IMAGE_URL
מחליפים את מה שכתוב בשדות הבאים:
- WORKER_POOL: השם של מאגר העובדים.
- INSTANCE_COUNT: מספר המופעים של מאגר העובדים.
הפעולה הזו מגדירה את מאגר העובדים כמאגר עם שינוי גודל ידני. כדי להשבית את מאגר העובדים, מציינים את הערך
0. - IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, למשל
us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
כדי להגדיר שינוי גודל של מאגר עובדים קיים, משתמשים בפקודה update הבאה:
gcloud beta run worker-pools update WORKER_POOL \ --instances=INSTANCE_COUNT
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 run.googleapis.com/manualInstanceCount: `INSTANCE_COUNT`
מחליפים את מה שכתוב בשדות הבאים:
- WORKER_POOL: השם של מאגר העובדים שלכם ב-Cloud Run.
- INSTANCE_COUNT: מספר המופעים שאתם משנים את הגודל שלהם באופן ידני במאגר העובדים. כדי להשבית את מאגר העובדים, צריך לציין את הערך
0.
יוצרים או מעדכנים את מאגר העובדים באמצעות הפקודה הבאה:
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"
}
}
scaling {
scaling_mode = "MANUAL"
manual_instance_count = "INSTANCE_COUNT"
}
}
מחליפים את מה שכתוב בשדות הבאים:
- WORKER_POOL: שם מאגר העובדים.
- REGION: האזור Google Cloud . לדוגמה,
europe-west1. - IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, למשל
us-docker.pkg.dev/cloudrun/container/worker-pool:latest. - INSTANCE_COUNT: מספר המופעים של מאגר העובדים.
הפעולה הזו מגדירה את מאגר העובדים כמאגר עם שינוי גודל ידני. מציינים ערך של
0כדי להשבית את מאגר העובדים.
API ל-REST
כדי לעדכן את מספר המופעים של מאגר עובדים נתון, שולחים בקשת HTTP לנקודת הקצה workerPools של Cloud Run Admin API.PATCH
לדוגמה, שימוש ב-curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X PATCH \ -d '{"scaling":{"manualInstanceCount":INSTANCE_COUNT }}' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/workerPools/WORKER_POOL?update_mask=scaling.manualInstanceCount
מחליפים את מה שכתוב בשדות הבאים:
- ACCESS_TOKEN: אסימון גישה תקין לחשבון שיש לו הרשאות IAM לעדכון מאגר עובדים.
לדוגמה, אם אתם מחוברים ל-
gcloud, אתם יכולים לאחזר טוקן גישה באמצעותgcloud auth print-access-token. מתוך מופע קונטיינר של Cloud Run, אפשר לאחזר אסימון גישה באמצעות שרת המטא-נתונים של מופע הקונטיינר. - INSTANCE_COUNT: מספר המופעים של מאגר העובדים.
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- REGION: האזור שבו מתבצעת הפריסה של מאגר העובדים. Google Cloud
- WORKER_POOL: שם מאגר העובדים.
צפייה בהגדרות של שינוי גודל מאגר העובדים
נכנסים ל-Cloud Run במסוף Google Cloud :
לוחצים על Worker pools כדי להציג את רשימת מאגרי העובדים שנפרסו.
לוחצים על מאגר העובדים שרוצים לבדוק כדי להציג את חלונית הפרטים שלו.
הגדרת שינוי הגודל הנוכחית מוצגת מעל רשימת הגרסאות של מאגרי העובדים: שינוי גודל: ידני (מופעים: ).
השבתה של מאגר עובדים
כדי להשבית מאגר עובדים, משתמשים בפקודה הבאה כדי להגדיר את קנה המידה לאפס:
gcloud beta run worker-pools update WORKER_POOL --instances=0
מחליפים את WORKER_POOL בשם של מאגר העובדים.