בדף הזה מוסבר איך לפרוס קובצי אימג' של קונטיינרים למאגר חדש של עובדים ב-Cloud Run או לגרסה חדשה של מאגר קיים של עובדים ב-Cloud Run.
מאגרי עובדים הם משאב של Cloud Run שנועד במיוחד לביצוע עבודה רציפה ברקע. בניגוד לשירותי Cloud Run, למאגרי עובדים אין נקודת קצה או כתובת URL עם איזון עומסים, והם לא תומכים בהתאמה אוטומטית של נפח העבודה (autoscaling).
כדי לראות דוגמה להדרכה מפורטת על פריסת מאגר עובדים חדש, אפשר לעיין במאמר פריסה של מאגר עובדים לדוגמה – מדריך למתחילים.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לפריסת מאגרי עובדים של Cloud Run, אתם צריכים לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
-
Cloud Run Developer (
roles/run.developer) במאגר העובדים של Cloud Run -
משתמש בחשבון שירות (
roles/iam.serviceAccountUser) בזהות שמאגרי העובדים משתמשים בה כדי ליצור אינטראקציה עם שירותים אחרים של Google Cloud -
קורא של Artifact Registry (
roles/artifactregistry.reader) במאגר Artifact Registry של קובץ האימג' של הקונטיינר שנפרס
רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם מאגר העובדים של Cloud Run מתקשר עםGoogle Cloud ממשקי API, כמו ספריות לקוח ב-Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.
מאגרי תמונות וקונטיינרים נתמכים
אפשר להשתמש ישירות בקובצי אימג' לקונטיינרים שמאוחסנים ב-Artifact Registry או ב-Docker Hub. Google ממליצה להשתמש ב-Artifact Registry. תמונות Docker Hub נשמרות במטמון למשך שעה אחת לכל היותר.
אפשר להשתמש בתמונות של מאגרי תגים ממאגרי תגים ציבוריים או פרטיים אחרים (כמו JFrog Artifactory, Nexus או GitHub Container Registry) על ידי הגדרה של מאגר תגים מרוחק ב-Artifact Registry.
מומלץ להשתמש ב-Docker Hub רק לפריסת קובצי אימג' פופולריים של קונטיינרים, כמו Docker Official Images או Docker Sponsored OSS images. כדי להגדיל את הזמינות, Google ממליצה לפרוס את התמונות האלה מ-Docker Hub באמצעות מאגר מרוחק של Artifact Registry.
ב-Cloud Run אין תמיכה בשכבות של קובץ אימג' של קונטיינר בגודל של יותר מ-9.9GB כשמבצעים פריסה מ-Docker Hub או ממאגר מרוחק של Artifact Registry עם רישום חיצוני.
פריסת מאגרי עובדים
אפשר לפרוס מאגרי עובדים בדרכים הבאות:
- פריסת מאגר עובדים חדש
- עדכון של מאגר עובדים קיים
- פריסת תמונות מפרויקטים אחרים Google Cloud
- פריסת כמה קונטיינרים (sidecars) למאגר עובדים
פריסת מאגר עובדים חדש
אפשר לציין קובץ אימג' של קונטיינר עם תג (לדוגמה, us-docker.pkg.dev/my-project/container/my-image:latest) או עם תקציר מדויק (לדוגמה, us-docker.pkg.dev/my-project/container/my-image@sha256:41f34ab970ee...).
כשפורסים מאגר עובדים בפעם הראשונה, נוצרת הגרסה הראשונה שלו. חשוב לזכור שאי אפשר לשנות את הגרסאות. אם מבצעים פריסה מתג של קובץ אימג' של קונטיינר, התג יומר לערך גיבוב והגרסה תציג תמיד את ערך הגיבוב הספציפי הזה.
פועלים לפי ההוראות באמצעות מסוף Google Cloud , Google Cloud CLI, Terraform או API בארכיטקטורת REST:
המסוף
נכנסים ל-Cloud Run במסוף Google Cloud :
בתפריט, בוחרים באפשרות Worker pools (מאגרי עובדים) ולוחצים על Deploy container (פריסת קונטיינר) כדי להציג את הטופס Create worker pool (יצירת מאגר עובדים).
בטופס, מציינים את קובץ אימג' של קונטיינר.
מזינים את השם של מאגר העובדים. שמות של מאגרי עובדים צריכים להיות באורך של 49 תווים או פחות, והם צריכים להיות ייחודיים לכל אזור ופרויקט. אי אפשר להשתמש באותו שם של שירות קיים מהפרויקט. אי אפשר לשנות את שם מאגר העובדים בשלב מאוחר יותר, והוא גלוי לכולם.
בוחרים את האזור שבו רוצים שהעובד יהיה ממוקם. בורר האזורים מציין את רמת המחיר ומדגיש אזורים עם השלכות של פליטת פחמן הכי נמוכות.
בקטע Scaling, מציינים את מספר המופעים של מאגר העובדים.
לוחצים על Container(s), Volumes, Networking, Security כדי להגדיר הגדרות אופציונליות אחרות בכרטיסיות המתאימות:
כשמסיימים להגדיר את מאגר העובדים, לוחצים על Create כדי לפרוס את האימג' ב-Cloud Run ומחכים שהפריסה תסתיים.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
כדי לפרוס קובץ אימג' של קונטיינר של מאגר עובדים:
מריצים את הפקודה הבאה:
gcloud beta run worker-pools deploy WORKER_POOL --image IMAGE_URL
מחליפים את מה שכתוב בשדות הבאים:
- WORKER_POOL: שם מאגר העובדים שרוצים לפרוס בו. אם מאגר העובדים עדיין לא קיים, הפקודה הזו יוצרת את מאגר העובדים במהלך הפריסה. אפשר להשמיט את הפרמטר הזה לגמרי, אבל אם תשמיטו אותו, תתבקשו להזין את השם של מאגר העובדים. שמות של מאגרי עובדים צריכים להיות באורך של עד 49 תווים, להיות ייחודיים לכל אזור ופרויקט, ולא להיות זהים לשם שירות קיים מהפרויקט.
- IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, למשל
us-docker.pkg.dev/cloudrun/container/worker-pool:latest. שימו לב: אם לא מציינים את האפשרות--image, פקודת הפריסה מנסה לפרוס מקוד המקור.
ממתינים עד שהפריסה תסתיים. אחרי שהתהליך יסתיים בהצלחה, ב-Cloud Run תוצג הודעה על הצלחה יחד עם פרטי הגרסה של מאגר העובדים שנפרס.
כדי לפרוס למיקום אחר מזה שהגדרתם באמצעות המאפיינים
run/regiongcloud, משתמשים בפקודה:gcloud beta run worker-pools deploy WORKER_POOL --region REGION
- WORKER_POOL: שם מאגר העובדים.
- REGION: האזור Google Cloud . לדוגמה,
europe-west1. - IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, למשל
us-docker.pkg.dev/cloudrun/container/worker-pool:latest. - ACCESS_TOKEN: אסימון גישה תקף לחשבון שיש לו הרשאות IAM לפריסת שירותים.
לדוגמה, אם אתם מחוברים ל-gcloud, אתם יכולים לאחזר אסימון גישה באמצעות
gcloud auth print-access-token. מתוך מופע קונטיינר של Cloud Run, אפשר לאחזר אסימון גישה באמצעות שרת המטא-נתונים של מופע הקונטיינר. - IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, למשל
us-docker.pkg.dev/cloudrun/container/worker-pool:latest. - REGION: האזור Google Cloud . לדוגמה,
europe-west1. - PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- WORKER_POOL: שם מאגר העובדים.
Terraform
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
resource "google_cloud_run_v2_worker_pool" "default" {
name = "WORKER_POOL"
location = "REGION"
launch_stage = "BETA"
template {
containers {
image = "IMAGE_URL"
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
API ל-REST
כדי לפרוס מאגר חדש של סביבות עבודה, שולחים בקשת HTTP POST לנקודת הקצה create של מאגרי סביבות העבודה של Cloud Run Admin API.
לדוגמה, שימוש ב-curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X POST \ -d '{"launchStage":"BETA",template: {containers: [{image: "IMAGE_URL"}]}}' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/workerPools?workerPoolId=WORKER_POOL
מחליפים את מה שכתוב בשדות הבאים:
מיקומים של Cloud Run
Cloud Run הוא שירות אזורי, כלומר התשתית שמריצה את שירותי Cloud Run ממוקמת באזור ספציפי ומנוהלת על ידי Google כך שתהיה זמינה באופן יתירתי בכל התחומים באותו אזור.
הקריטריונים העיקריים לבחירת האזור שבו יפעלו שירותי Cloud Run הם זמן האחזור, הזמינות או העמידות שנדרשים לכם.
בדרך כלל אפשר לבחור את האזור הקרוב ביותר למשתמשים, אבל כדאי לקחת בחשבון את המיקום של מוצרים Google Cloud
אחרים שבהם נעשה שימוש בשירות Cloud Run.
השימוש במוצרי Google Cloud Google ביחד בכמה מיקומים יכול להשפיע על זמן האחזור ועל העלות של השירות.
Cloud Run זמין באזורים הבאים:
בכפוף לתמחור ברמה 1
asia-east1(טייוואן)asia-northeast1(טוקיו)-
asia-northeast2(אוסקה) asia-south1(מומבאי, הודו)-
asia-southeast3(בנגקוק) europe-north1(פינלנד)רמה נמוכה של CO2
europe-north2(שטוקהולם)רמה נמוכה של CO2
europe-southwest1(מדריד)רמה נמוכה של CO2
europe-west1(בלגיה)רמה נמוכה של CO2
europe-west4(הולנד)רמה נמוכה של CO2
europe-west8(מילאנו)europe-west9(פריז)רמה נמוכה של CO2
me-west1(תל אביב)northamerica-south1(מקסיקו)us-central1(אייווה)רמה נמוכה של CO2
us-east1(קרוליינה הדרומית)-
us-east4(צפון וירג'יניה) us-east5(Columbus)us-south1(דאלאס)רמה נמוכה של CO2
-
us-west1(אורגון)רמה נמוכה של CO2
בכפוף לתמחור ברמה 2
africa-south1(יוהנסבורג)asia-east2(הונג קונג)asia-northeast3(סיאול, קוריאה הדרומית)asia-southeast1(סינגפור)asia-southeast2(ג'קרטה)asia-south2(דלהי, הודו)australia-southeast1(סידני)australia-southeast2(מלבורן)europe-central2(ורשה, פולין)-
europe-west10(ברלין) europe-west12(טורינו)europe-west2(לונדון, בריטניה)רמה נמוכה של CO2
-
europe-west3(פרנקפורט, גרמניה) europe-west6(ציריך, שווייץ)רמה נמוכה של CO2
-
me-central1(דוחה) me-central2(דמאם)northamerica-northeast1(מונטריאול)רמה נמוכה של CO2
northamerica-northeast2(טורונטו)רמה נמוכה של CO2
southamerica-east1(סאו פאולו, ברזיל)רמה נמוכה של CO2
southamerica-west1(סנטיאגו, צ'ילה)רמה נמוכה של CO2
-
us-west2(לוס אנג'לס) -
us-west3(סולט לייק סיטי) -
us-west4(לאס וגאס)
אם כבר יצרתם שירות Cloud Run, תוכלו לראות את האזור בלוח הבקרה של Cloud Run במסוףGoogle Cloud .
פריסת גרסה חדשה של מאגר עובדים קיים
שימו לב: שינוי הגדרות התצורה של מאגר עובדים יוביל ליצירת גרסה חדשה, גם אם לא בוצע שינוי בקובץ אימג' של קונטיינר. כל גרסה שנוצרת היא בלתי ניתנת לשינוי.
קובץ האימג' של הקונטיינר מיובא על ידי Cloud Run בזמן הפריסה. Cloud Run שומר את העותק הזה של קובץ האימג' של הקונטיינר כל עוד הוא בשימוש בגרסה.
פועלים לפי ההוראות האלה באמצעות מסוף Google Cloud , Google Cloud CLI, Terraform או API בארכיטקטורת REST:
המסוף
נכנסים ל-Cloud Run במסוף Google Cloud :
בתפריט, בוחרים באפשרות Worker pools (מאגרי עובדים), בוחרים את מאגר העובדים שרוצים לעדכן ולוחצים על Edit and deploy new revision (עריכה ופריסה של עדכון חדש) כדי להציג את הטופס Deploy worker pool revision (פריסת עדכון של מאגר עובדים).
אם צריך, מציינים את כתובת ה-URL של קובץ אימג' של קונטיינר החדש שרוצים לפרוס.
מגדירים את מאגר התגים לפי הצורך.
אם צריך, מעדכנים את מספר המופעים של מאגר העובדים.
אם צריך, לוחצים על Container(s), Volumes, Networking, Security כדי להגדיר הגדרות אופציונליות אחרות בכרטיסיות המתאימות:
כשמסיימים לעדכן את מאגר העובדים, לוחצים על Deploy (פריסה).
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
כדי לפרוס קובץ אימג' של קונטיינר:
מריצים את הפקודה:
gcloud beta run worker-pools deploy WORKER_POOL --image IMAGE_URL
מחליפים את מה שכתוב בשדות הבאים:
- WORKER_POOL: שם מאגר העובדים שרוצים לפרוס בו. אם מאגר העובדים עדיין לא קיים, הפקודה הזו יוצרת את מאגר העובדים במהלך הפריסה. אפשר להשמיט את הפרמטר הזה לגמרי, אבל אם תשמיטו אותו, תתבקשו להזין את השם של מאגר העובדים. שמות של מאגרי עובדים צריכים להיות באורך של עד 49 תווים, להיות ייחודיים לכל אזור ופרויקט, ולא להיות זהים לשם שירות קיים מהפרויקט.
- IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, למשל
us-docker.pkg.dev/cloudrun/container/worker-pool:latest. שימו לב: אם לא מציינים את האפשרות--image, פקודת הפריסה מנסה לפרוס מקוד המקור.
סיומת הגרסה מוקצית באופן אוטומטי לגרסאות חדשות. אם רוצים לספק סיומת משלכם לציון מספר הגרסה, משתמשים בפרמטר
--revision-suffixשל ה-CLI של gcloud.ממתינים עד שהפריסה תסתיים. אחרי שהתהליך יסתיים בהצלחה, ב-Cloud Run תוצג הודעה על הצלחה יחד עם פרטי הגרסה של מאגר העובדים שנפרס.
מורידים את הגדרות ה-YAML של מאגר העובדים:
gcloud beta run worker-pools describe WORKER_POOL --format export > workerpool.yaml
מבצעים שינוי בקובץ התצורה.
מעדכנים את מאגר העובדים באמצעות הפקודה הבאה:
gcloud beta run worker-pools replace workerpool.yaml
מבצעים שינוי בקובץ התצורה.
מחילים את ההגדרות של Terraform:
terraform applyכדי לאשר שרוצים להחיל את הפעולות שמתוארות, מזינים
yes.- ACCESS_TOKEN: אסימון גישה תקף לחשבון שיש לו הרשאות IAM לפריסת שירותים.
לדוגמה, אם אתם מחוברים ל-gcloud, אתם יכולים לאחזר אסימון גישה באמצעות
gcloud auth print-access-token. מתוך מופע קונטיינר של Cloud Run, אפשר לאחזר אסימון גישה באמצעות שרת המטא-נתונים של מופע הקונטיינר. - IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, למשל
us-docker.pkg.dev/cloudrun/container/worker-pool:latest. - REGION: האזור Google Cloud . לדוגמה,
europe-west1. - PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- WORKER_POOL: השם של מאגר העובדים שבו אתם מבצעים פריסה.
YAML
Terraform
מוודאים שהגדרתם את Terraform כמו שמתואר בדוגמה פריסת מאגר עובדים חדש.
API ל-REST
כדי לפרוס מאגר חדש של עובדים, שולחים בקשת HTTP PATCH אל נקודת הקצה של מאגרי העובדים ב-Cloud Run Admin API.
כדי ליצור גרסה חדשה מהתבנית גם אם המערכת לא מזהה שינויים מהגרסה הקודמת שהופעלה, צריך להגדיר את פרמטר השאילתה forceNewRevision לערך true.
לדוגמה, שימוש ב-curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X PATCH \ -d '{"launchStage":"BETA",template: {containers: [{image: "IMAGE_URL"}]}}' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/workerPools/WORKER_POOL>?forceNewRevision=true
מחליפים את מה שכתוב בשדות הבאים:
פריסת תמונות מפרויקטים אחרים Google Cloud
כדי לפרוס תמונות מפרויקטים אחרים ב- Google Cloud , אתם או האדמין שלכם צריכים להקצות את תפקידי ה-IAM הנדרשים לחשבון הפריסה ולסוכן השירות של Cloud Run.
במאמר התפקידים הנדרשים מפורטים התפקידים הנדרשים לחשבון הפריסה.
כדי להקצות לסוכן השירות של Cloud Run את התפקידים הנדרשים, פועלים לפי ההוראות הבאות:
במסוף Google Cloud , פותחים את הפרויקט של מאגר העובדים ב-Cloud Run.
מסמנים את התיבה Include Google-provided role grants.
מעתיקים את כתובת האימייל של סוכן השירות של Cloud Run. היא כוללת את הסיומת @serverless-robot-prod.iam.gserviceaccount.com
פותחים את הפרויקט שכולל את מאגר התמונות של מאגר המכולות שרוצים להשתמש בו.
לוחצים על הוספה כדי להוסיף חשבון משתמש חדש.
בשדה New principals, מדביקים את כתובת האימייל של חשבון השירות שהעתקתם קודם.
בתפריט הנפתח Select a role, אם אתם משתמשים ב-Container Registry, בוחרים בתפקיד Storage -> Storage Object Viewer. אם אתם משתמשים ב-Artifact Registry, בוחרים בתפקיד Artifact Registry -> Artifact Registry Reader.
פורסים את קובץ האימג' של הקונטיינר בפרויקט שמכיל את מאגר העובדים של Cloud Run.
פריסת תמונות ממאגרי תמונות אחרים
כדי לפרוס קובצי אימג' ציבוריים או פרטיים של קונטיינרים שלא מאוחסנים ב-Artifact Registry או ב-Docker Hub, צריך להגדיר מאגר מרוחק של Artifact Registry.
מאגרי Artifact Registry מרוחקים מאפשרים לכם:
- פריסת קובץ אימג' של קונטיינר ציבורי, לדוגמה, GitHub Container Registry (
ghcr.io). - פריסת קובצי אימג' של קונטיינרים ממאגרים פרטיים שנדרש בהם אימות, למשל JFrog Artifactory או Nexus.
אם אי אפשר להשתמש במאגר מרוחק של Artifact Registry, אפשר למשוך קובצי אימג' של קונטיינרים מ-Artifact Registry ולהעביר אותם בדחיפה לשם באופן זמני על ידי פריסתם ב-Cloud Run באמצעות docker push. Cloud Run מייבא את קובץ האימג' של הקונטיינר במהלך הפריסה, ואחרי כן אפשר למחוק את קובץ האימג' מ-Artifact Registry.
פריסת כמה קונטיינרים (sidecar) למאגר עובדים
בפריסת Cloud Run עם קונטיינרים מסוג sidecar, יש קונטיינר אחד של מאגר עובדים ראשי וקונטיינר אחד או יותר מסוג sidecar. הקונטיינרים של sidecar יכולים לתקשר זה עם זה ועם הקונטיינר של מאגר העובדים באמצעות יציאת localhost. היציאה של localhost משתנה בהתאם למאגרי התגים שבהם אתם משתמשים.
אפשר לפרוס עד 10 קונטיינרים לכל מכונה, כולל הקונטיינר של מאגר העובדים. כל המאגדים במופע חולקים את אותו מרחב שמות של רשת, ויכולים גם לשתף קבצים באמצעות נפח משותף בזיכרון.
כדי לדרוש שכל הפריסות ישתמשו ב-sidecar ספציפי, אפשר ליצור מדיניות ארגונית בהתאמה אישית.
פריסת שירות עם קונטיינרים מסוג sidecar
כדי לפרוס כמה קונטיינרים למאגר עובדים של Cloud Run, פועלים לפי ההוראות האלה באמצעות Google Cloud CLI, YAML או Terraform:
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
כדי לפרוס כמה קונטיינרים למאגר עובדים, מריצים את הפקודה הבאה:
gcloud beta run worker-pools deploy WORKER_POOL \ --container WORKER_POOL_CONTAINER_NAME \ --image='WORKER_POOL_IMAGE' \ --container SIDECAR_CONTAINER_NAME \ --image='SIDECAR_IMAGE'
מחליפים את מה שכתוב בשדות הבאים:
- WORKER_POOL: השם של מאגר העובדים שבו אתם פורסים. אם לא תציינו את הפרמטר הזה, תתבקשו לציין את השם של מאגר העובדים.
- WORKER_POOL_CONTAINER_NAME: שם למאגר העובדים במאגר.
- IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, למשל
us-docker.pkg.dev/cloudrun/container/worker-pool:latest. - SIDECAR_CONTAINER_NAME: שם של קונטיינר ה-sidecar, לדוגמה
sidecar. - SIDECAR_IMAGE: הפניה לקובץ אימג' של קונטיינר sidecar.
כדי להגדיר כל מאגר תגים בפקודת הפריסה, צריך לספק את ההגדרה של כל מאגר תגים אחרי הפרמטרים
container, לדוגמה:gcloud beta run worker-pools deploy WORKER_POOL \ --container CONTAINER_1_NAME \ --image='WORKER_POOL_IMAGE' \ --set-env-vars=KEY=VALUE \ --container SIDECAR_CONTAINER_NAME \ --image='SIDECAR_IMAGE' \ --set-env-vars=KEY_N=VALUE_N
ממתינים עד שהפריסה תסתיים. אחרי שהתהליך יסתיים בהצלחה, תוצג הודעה ב-Cloud Run.
אם אתם יוצרים מאגר עובדים חדש, דלגו על השלב הזה. אם אתם מעדכנים מאגר עובדים קיים, אתם צריכים להוריד את הגדרת ה-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: - name: CONTAINER_NAME image: IMAGE_URL containers: - name: SIDECAR_CONTAINER_NAME image: SIDECAR_IMAGE_URL
מחליפים את מה שכתוב בשדות הבאים:
- WORKER_POOL: השם של מאגר העובדים שלכם ב-Cloud Run.
- CONTAINER_NAME: שם למאגר העובדים.
- IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, למשל
us-docker.pkg.dev/cloudrun/container/worker-pool:latest - SIDECAR_CONTAINER_NAME: שם לקונטיינר sidecar, לדוגמה
sidecar. - SIDECAR_CONTAINER_IMAGE: הפניה לקובץ אימג' של קונטיינר sidecar.
יוצרים או מעדכנים את מאגר העובדים באמצעות הפקודה הבאה:
gcloud beta run worker-pools replace workerpool.yaml
- WORKER_POOL: שם מאגר העובדים.
- REGION: האזור Google Cloud . לדוגמה,
europe-west1. - CONTAINER_NAME: השם של הקונטיינר.
- IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, למשל
us-docker.pkg.dev/cloudrun/container/worker-pool:latest. - SIDECAR_CONTAINER_NAME: השם של קונטיינר ה-sidecar.
- SIDECAR_IMAGE_URL: הפניה לקובץ אימג' של קונטיינר sidecar.
YAML
Terraform
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
resource "google_cloud_run_v2_worker_pool" "default" {
name = "WORKER_POOL"
location = "REGION"
launch_stage = "BETA"
template {
containers {
name = "CONTAINER_NAME"
image = "IMAGE_URL"
}
containers {
name = "SIDECAR_CONTAINER_NAME"
image = "SIDECAR_IMAGE_URL"
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
תכונות חשובות שזמינות לפריסות עם קבצים נלווים
אם יש לכם פריסה עם כמה קונטיינרים, אתם יכולים לציין את סדר ההפעלה של הקונטיינרים בפריסה, אם יש לכם תלויות שמחייבות הפעלה של קונטיינרים מסוימים לפני קונטיינרים אחרים בפריסה.
אם יש לכם קונטיינרים שתלויים בקונטיינרים אחרים, אתם צריכים להשתמש בבדיקות תקינות בפריסה. כשמשתמשים בבדיקות תקינות, Cloud Run פועל לפי סדר ההפעלה של הקונטיינרים, ומוודא את התקינות של כל קונטיינר לפני הפעלת הקונטיינר הבא. בלי בדיקות תקינות, Cloud Run מנסה להפעיל את כל הקונטיינרים, גם אם הקונטיינרים שהם תלויים בהם עדיין לא פועלים או שההפעלה שלהם נכשלה.
כמה קונטיינרים בתוך מופע יחיד יכולים לגשת לנפח משותף בזיכרון, שנגיש לכל קונטיינר באמצעות נקודות הרכבה שאתם יוצרים.
המאמרים הבאים
אחרי שפורסים מאגר חדש של עובדים, אפשר לבצע את הפעולות הבאות:
- צפייה ביומנים של מאגר העובדים
- מעקב אחרי הביצועים של מאגר העובדים
- הגדרת מגבלות על הזיכרון
- הגדרה של משתני סביבה
- ניהול מאגר העובדים
- ניהול של עדכונים במאגר העובדים