לפני שמתחילים
ברשימה הבאה מפורטות הדרישות לשימוש ב-Workflows כדי לפרוס ולהפעיל תהליך עבודה של מאגרי עובדים ב-Cloud Run:
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
מפעילים את Cloud Run Admin API ואת Workflows APIs.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידים
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לפריסה ולהפעלה של מאגרי עובדים ב-Cloud Run באמצעות Workflows, אתם צריכים לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
- Cloud Run Admin (
roles/run.admin) on the Cloud Run worker pool - עורך תהליכי העבודה (
roles/workflows.editor) בפרויקט - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) בזהות השירות
כדי לאפשר ל-Workflows לעדכן את מאגר העובדים של Cloud Run, לחשבון השירות שמשמש לפריסת זרימת העבודה צריכה להיות ההרשאה הבאה:
- אדמין ב-Cloud Run (
roles/run.admin)
רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם מאגר העובדים של Cloud Run מתקשר עםGoogle Cloud ממשקי API, כמו ספריות לקוח ב-Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.
יצירת מאגר עובדים של Cloud Run
יוצרים מאגר עובדים ב-Cloud Run אם עוד לא עשיתם זאת. תצטרכו להשתמש בשם של מאגר העובדים של Cloud Run כשמריצים את תהליך העבודה בהמשך.
יצירה, פריסה והפעלה של תהליך העבודה
תהליך העבודה הבא מעדכן את מספר המופעים של מאגר העובדים שלכם ב-Cloud Run.
בספריית הבית, יוצרים קובץ YAML חדש בשביל תהליך העבודה, למשל
update-cr-worker-pool.yaml, ומעתיקים את התוכן הבא לקובץ:main: params: [args] steps: - init: assign: - project: ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")} - region: ${args.region} - workerPoolName: ${args.workerPool} - instanceCount: ${args.instanceCount} - workerPoolUrl: ${"https://run.googleapis.com/v2/projects/" + project + "/locations/" + region + "/workerPools/" + workerPoolName} - updateWorkerPool: call: http.patch args: url: ${workerPoolUrl} query: updateMask: "scaling.manualInstanceCount" auth: type: OAuth2 body: scaling: manualInstanceCount: ${int(instanceCount)} result: updateResult - returnOutput: return: ${updateResult.body}פורסים את תהליך העבודה ומשייכים אותו לחשבון שירות ספציפי:
gcloud workflows deploy WORKFLOW_NAME \ --source=WORKFLOW_NAME.yaml \ --location=REGION \ --service-account=SERVICE_ACCOUNT
מחליפים את מה שכתוב בשדות הבאים:
- WORKFLOW_NAME: השם של זרימת העבודה, למשל
update-worker-pool. שם תהליך העבודה צריך להיות זהה לשם קובץ ה-YAML שיצרתם קודם. - REGION: האזור שבו מאגר העובדים של Cloud Run נפרס, לדוגמה
europe-west1. - SERVICE_ACCOUNT: כתובת האימייל בחשבון השירות שקיבל את התפקידים הנדרשים, לדוגמה:
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.comPROJECT_NUMBER-compute@developer.gserviceaccount.com
- WORKFLOW_NAME: השם של זרימת העבודה, למשל
מריצים את תהליך העבודה עם הפרטים של מאגר העובדים ומספר המופעים:
gcloud workflows execute WORKFLOW_NAME \ --location=REGION \ --data='{"region":"REGION", "workerPool":"WORKER_POOL_NAME", "instanceCount":INSTANCE_COUNT}'
מחליפים את מה שכתוב בשדות הבאים:
- WORKFLOW_NAME: השם של תהליך העבודה.
- REGION: האזור שבו מאגר העובדים של Cloud Run נפרס, לדוגמה
europe-west1. - WORKER_POOL_NAME: השם של מאגר העובדים.
- INSTANCE_COUNT: מספר המופעים ששונה במאגר העובדים, לדוגמה
3.
אימות העדכונים
אחרי שמריצים את תהליך העבודה, אפשר לראות את העדכונים במקומות הבאים במסוף Google Cloud :
כדי לראות את סטטוס הביצוע והתוצאות, עוברים לדף הפרטים של Workflows ובוחרים את זרימת העבודה:
מוודאים שהשדה
manualInstanceCountהשתנה בהרצה האחרונה של תהליך העבודה.כדי לוודא שהעדכון בוצע בהצלחה ב-Cloud Run, עוברים לדף worker pools:
מוודאים שמספר ההגדלה הידנית של מאגר העובדים השתנה.