יצירה וניהול של מופעי Cloud Run

בדף הזה מוסבר איך ליצור ולנהל מופעי Cloud Run יחידים שאפשר לפנות אליהם בנפרד. בניגוד לשירותי Cloud Run שמתרחבים בהתאם לתנועה הנכנסת, מופע הוא קונטיינר ייעודי של מחשוב שאתם מנהלים באופן ידני באמצעות מעברים במחזור החיים (יצירה, עצירה, הפעלה, עדכון ומחיקה).

אזורים נתמכים

אתם יכולים להשתמש בכל אחד מהאזורים שנתמכים ב-Cloud Run כדי ליצור מופעים של Cloud Run. עם זאת, אין תמיכה באזורים עם חביון גבוה הבאים:

  • us-central1
  • us-east1
  • europe-west1

לפני שמתחילים

  1. מגדירים פרויקט חדש ל-Cloud Run, כמו שמתואר בדף ההגדרה.

  2. מפעילים את Cloud Run Admin API:

    gcloud services enable run.googleapis.com
    
  3. מעדכנים את הרכיבים של gcloud לגרסה האחרונה:

    gcloud components update
  4. אם אתם כפופים למדיניות ארגונית של הגבלת דומיין שמגבילה הפעלות לא מאומתות של הפרויקט, תצטרכו לגשת לשירות הפרוס שלכם כמו שמתואר בקטע בדיקת שירותים פרטיים.

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות להגדרה ולפריסה של מופעי Cloud Run, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם מופע Cloud Run שלכם מתקשר עםGoogle Cloud ממשקי API, כמו ספריות לקוח של Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.

יצירת מופע

אתם יכולים לפרוס קובץ אימג' של קונטיינר כדי ליצור מופע חדש. אם לא תספקו שם, המערכת תיצור שם באופן אוטומטי.

gcloud

כדי ליצור מופע חדש של Cloud Run באמצעות הפקודה gcloud beta run instances create:

gcloud beta run instances create INSTANCE_NAME \
    --image IMAGE_URL \
    --region REGION

כדי ליצור מופע חדש של Cloud Run באמצעות הפקודה gcloud beta run instances deploy:

gcloud beta run instances deploy INSTANCE_NAME \
    --image IMAGE_URL \
    --region REGION

מחליפים את מה שכתוב בשדות הבאים:

  • INSTANCE_NAME: השם של המכונה שאתם יוצרים. שם המופע חייב להיות ייחודי בפרויקט ובאזור. אי אפשר ליצור מכונה עם שם זהה לשם של מכונה או שירות קיימים ב-Cloud Run.
  • IMAGE_URL: הפניה לקובץ אימג' בקונטיינר, לדוגמה, us-docker.pkg.dev/cloudrun/container/instances:latest.
  • REGION: Google Cloud האזור שבו מריצים את המכונה, לדוגמה europe-west1.

ספריות לקוח

כדי ליצור מכונה חדשה מקוד:

‫API בארכיטקטורת REST

כדי ליצור מכונה חדשה של Cloud Run, שולחים בקשת HTTP‏ POST לנקודת הקצה instances.

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "containers": [{
      "image": "IMAGE_URL",
      "ports": [{"containerPort": PORT}]
    }],
    "ingress": "INGRESS_TRAFFIC_ALL",
    "invokerIamDisabled": true,
    "timeout": "3600s"
  }' \
  "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances?instance_id=INSTANCE_NAME"

מחליפים את מה שכתוב בשדות הבאים:

  • IMAGE_URL: כתובת ה-URL של קובץ אימג' של קונטיינר.
  • PORT: היציאה שהקונטיינר מאזין לה.
  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
  • REGION: Google Cloud האזור של הפריסה.
  • INSTANCE_NAME: השם של המופע החדש.

אחרי שיוצרים מופע, המופע מקבל כתובת URL של Cloud Run בפורמט הבא:

https://INSTANCE_NAME-PROJECT_NUMBER.REGION.run.app

עדכון מכונה

כשמעדכנים מופע, כמו קובץ אימג' של קונטיינר, היציאה או משתני הסביבה שלו, המופע מופעל מחדש.

gcloud

כדי לעדכן מכונה של Cloud Run באמצעות הפקודה gcloud beta run instances update:

gcloud beta run instances update INSTANCE_NAME \
    --image NEW_IMAGE_URL \
    --region REGION

כדי לעדכן מכונה של Cloud Run באמצעות הפקודה gcloud beta run instances deploy:

gcloud beta run instances deploy INSTANCE_NAME \
    --image IMAGE_URL \
    --region REGION

‫API בארכיטקטורת REST

כדי לעדכן את ההגדרה של מופע Cloud Run מ-API, שולחים בקשת HTTP PATCH לנקודת הקצה של ה-URI של המופע.

curl -H "Content-Type: application/json" \
  -X PATCH \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -d '{template: {containers: [{image: "IMAGE_URL"}]}}' \
  "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME"

הפסקת מכונה

משתמשים בפקודה או בשיטה stop כדי לעצור מופע של Cloud Run שפועל.

gcloud

כדי להפסיק מופע:

gcloud beta run instances stop INSTANCE_NAME \
    --region REGION

ספריות לקוח

כדי להפסיק מופע פעיל מקוד:

‫API בארכיטקטורת REST

כדי להפסיק מופע, שולחים בקשת HTTP עם העיטור :stop:POST

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME:stop"

הפעלה או הפעלה מחדש של מכונה

משתמשים בפקודה או בשיטה להפעלה כדי להפעיל מופע שהופסק, או כדי לכפות הפעלה מחדש של מופע קיים.

gcloud

כדי להפעיל או להפעיל מחדש מכונה:

gcloud beta run instances start INSTANCE_NAME \
    --region REGION

ספריות לקוח

כדי להפעיל מופע שהופסק מתוך קוד:

‫API בארכיטקטורת REST

כדי להפעיל מופע, שולחים בקשת HTTP‏ POST עם העיטור :start:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME:start"

הצגת רשימת המקרים בפרויקט

אתם יכולים לראות את כל המקרים הפעילים והלא פעילים בפרויקט.

gcloud

כדי להציג את רשימת המכונות באזור ספציפי:

gcloud beta run instances list \
    --region REGION

מחליפים את REGION ב Google Cloud אזור שבו המכונה פועלת.

ספריות לקוח

כדי להציג רשימה של מקרים פעילים ולא פעילים מתוך קוד:

‫API בארכיטקטורת REST

כדי לאחזר רשימה של מופעים, שולחים בקשת HTTP‏ GET:

curl -X GET \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances"

הצגת פרטי המופע

משתמשים בפקודה או בשיטה describe כדי לראות את פרטי ההגדרה ואת הסטטוס הנוכחי.

gcloud

כדי לתאר מופע:

gcloud beta run instances describe INSTANCE_NAME \
    --region REGION

ספריות לקוח

כדי להציג את פרטי ההגדרה והסטטוס של מופע מהקוד:

‫API בארכיטקטורת REST

כדי לתאר מופע, שולחים בקשת HTTP מסוג GET:

curl -X GET \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME"

מחיקת מכונה

מחיקת מופע תגרום להסרה קבועה של ההגדרה, המטא-נתונים, המיפוי של כתובת ה-URL הציבורית הישירה ותפקידי הזהות מהפרויקט.

gcloud

כדי למחוק מכונה:

gcloud beta run instances delete INSTANCE_NAME \
    --region REGION

ספריות לקוח

כדי למחוק מופע מקוד:

‫API בארכיטקטורת REST

כדי למחוק מופע, שולחים בקשת HTTP‏ DELETE:

curl -X DELETE \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME"

המאמרים הבאים