בדף הזה מוסבר איך ליצור שירות ואיך לצפות במידע על שירות.
לכל שירות יש כתובת URL ייחודית וקבועה run.app שלא תשתנה לאורך זמן כשפורסים בו גרסאות חדשות. פונקציות שנפרסו ב-Cloud Run נחשבות גם הן כשירות, ומוקצית להן run.appכתובת. הדומיין הקבוע של השירות מורכב משם השירות ומגיבוב.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לניהול שירותים ועדכונים של Cloud Run, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד מפתח Cloud Run (roles/run.developer) בשירות Cloud Run.
רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם שירות Cloud Run שלכם מתקשר עםGoogle Cloud ממשקי API, כמו ספריות לקוח ב-Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.
יצירת שירות
כדי ליצור שירות חדש, צריך לפרוס בו קובץ אימג' של קונטיינר בפעם הראשונה. במאמר הזה יש הוראות נוספות לגבי פריסת שירות חדש.
הצגת רשימת השירותים בפרויקט
אפשר לראות את רשימת השירותים שזמינים בפרויקט באמצעות מסוף Google Cloud או Google Cloud CLI:
המסוף
כדי לראות את רשימת השירותים:
במסוף Google Cloud , נכנסים לדף Services של Cloud Run:
בודקים את רשימת השירותים שמוצגת בפרויקט:
gcloud
כדי לפרסם את השירותים בפרויקט:
gcloud run services list
שימו לב שלכל שירות יש כתובת URL משויכת.
אפשר לסנן את הרשימה הזו לפי מאפיינים של הגדרת השירות, כמו תווית שהוקצתה.
Cloud Code
כדי לראות את רשימת השירותים באמצעות Cloud Code, אפשר לקרוא את המדריכים של Cloud Run Explorer ל-IntelliJ ול-Visual Studio Code.
ספריות לקוח
כדי להציג את רשימת השירותים מהקוד:
API ל-REST
כדי לראות את רשימת השירותים בפרויקט, שולחים בקשת HTTP GET לנקודת הקצה service של Cloud Run Admin API.
לדוגמה, שימוש ב-curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X GET \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services
מחליפים את:
- ACCESS_TOKEN עם אסימון גישה תקף לחשבון שיש לו הרשאות IAM לצפייה בשירותים.
לדוגמה, אם אתם מחוברים ל-gcloud, אתם יכולים לאחזר אסימון גישה באמצעות
gcloud auth print-access-token. מתוך מופע קונטיינר של Cloud Run, אפשר לאחזר אסימון גישה באמצעות שרת המטא-נתונים של מופע הקונטיינר. - REGION עם Google Cloud האזור שבו ניתן השירות.
- PROJECT-ID במזהה הפרויקט. Google Cloud
הצגת רשימת הפונקציות בפרויקט
אפשר לראות רשימה של הפונקציות שזמינות בפרויקט באמצעות מסוףGoogle Cloud :
המסוף
כדי לסנן את הפונקציות ברשימת השירותים:
במסוף Google Cloud , נכנסים לדף Services של Cloud Run:
בודקים את רשימת השירותים שמוצגת בפרויקט:
בוחרים באפשרות Filter services (סינון שירותים) > Deployment type (סוג הפריסה) > Function (פונקציה).
אם פרסתם בעבר את הפונקציה באמצעות Cloud Functions v2 API, בעמודה Deployed by (נפרס על ידי) יופיע Cloud Functions.
העתקת שירות
אפשר ליצור עותק של שירות קיים באמצעות מסוף Google Cloud או YAML. אתם יכולים לשנות כל מה שתרצו בעותק, כולל השם והאזור.
המסוף
כדי להעתיק שירות:
במסוף Google Cloud , נכנסים לדף Services של Cloud Run:
בוחרים את השירות להעתקה מתוך רשימת השירותים שמוצגת בפרויקט:
לוחצים על Copy.
בדף של העתקת השירות, מגדירים או משנים את הערכים שרוצים לשנות, כמו אזור וכו'. אם האזור נשאר זהה, צריך לספק שם חדש לשירות.
לוחצים על יצירה כדי ליצור עותק ולפרוס אותו באמצעות שם השירות החדש.
YAML
אם אתם יוצרים שירות חדש, דלגו על השלב הזה. אם אתם מעדכנים שירות קיים, מורידים את הגדרות ה-YAML שלו:
gcloud run services describe SERVICE --format export > service.yaml
מבצעים את שינויי ההגדרה הבאים בשירות.
apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: ... name: SERVICE ... spec: template: metadata: annotations: ... name: REVISION- אם לא פורסים את העותק באזור אחר, מחליפים את SERVICE בשם שרוצים להשתמש בו עבור העותק. אם אתם פורסים את העותק באזור אחר, אתם יכולים להשתמש בשם הישן.
- מחליפים את REVISION בשם חדש של הגרסה או מוחקים אותו (אם הוא מופיע). אם מספקים שם חדש לגרסה, חובה שהוא יעמוד בקריטריונים הבאים:
- מתחיל ב-
SERVICE- - הוא מכיל רק אותיות קטנות, מספרים וגם
- - לא מסתיים ב-
- - לא חורג מ-63 תווים
- מתחיל ב-
מעתיקים את השירות באמצעות הפקודה הבאה:
gcloud run services replace service.yaml
משתמשים בדגל
--regionכדי לפרוס את העותק באזור אחר.
הצגת פרטים נוספים על שירות
אפשר לראות פרטים נוספים על שירות באמצעות מסוף Google Cloud , Google Cloud CLI, קובץ YAML או API בארכיטקטורת REST:
המסוף
כדי לראות את פרטי השירות:
במסוף Google Cloud , נכנסים לדף Services של Cloud Run:
לוחצים על השירות ברשימת השירותים שמוצגת כדי לפתוח את תצוגת הפרטים של השירות.
gcloud
כדי לראות פרטים על שירות:
gcloud run services describe SERVICE
אפשר להשתמש ב--format flag כדי לעצב את הפלט. לדוגמה, ב-YAML:
gcloud run services describe SERVICE --region REGION --format yaml
מחליפים את:
- SERVICE בשם של השירות.
- REGION עם Google Cloud האזור שבו ניתן השירות.
אפשר להשתמש ב---format export כדי לייצא כ-YAML בלי תוויות או סטטוס שנוצרו באופן אוטומטי:
gcloud run services describe SERVICE --region REGION --format export
אפשר גם להשתמש בדגל --format כדי לקבל את כתובת ה-URL של השירות:
gcloud run services describe SERVICE --region REGION --format='value(status.url)'
Cloud Code
כדי לראות את פרטי השירות באמצעות Cloud Code, אפשר לקרוא את המדריכים של Cloud Run Explorer ל-IntelliJ ול-Visual Studio Code.
מידע נוסף על עדכוני שירות זמין במאמר ניהול עדכונים.
ספריות לקוח
כדי לראות פרטים על שירות מקוד:
API ל-REST
כדי לראות פרטים על שירות, שולחים בקשת HTTP של GET אל נקודת הקצה service של Cloud Run Admin API.
לדוגמה, שימוש ב-curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X GET \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME
מחליפים את:
- ACCESS_TOKEN עם אסימון גישה תקף לחשבון שיש לו הרשאות IAM לצפייה בפרטי השירות.
לדוגמה, אם אתם מחוברים ל-gcloud, אתם יכולים לאחזר אסימון גישה באמצעות
gcloud auth print-access-token. מתוך מופע קונטיינר של Cloud Run, אפשר לאחזר אסימון גישה באמצעות שרת המטא-נתונים של מופע הקונטיינר. - SERVICE-NAME בשם של השירות.
- REGION עם Google Cloud האזור שבו ניתן השירות.
- PROJECT-ID במזהה הפרויקט. Google Cloud
השבתה של שירות קיים
כדי לקבל את ההרשאות שנדרשות להשבתה של שירות וגרסה קיימים ב-Cloud Run, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Cloud Run Admin (roles/run.admin) בפרויקט.
כשמשביתים שירות, כל הבקשות שנמצאות כרגע בתהליך עיבוד יקבלו אישור להשלמת התהליך.
עם זאת, כל בקשה נוספת לכתובת ה-URL של השירות תיכשל עם השגיאה Service unavailable או Service disabled.
בקשות לשינויים בשירות שפעילים רק בגלל תגי תנועה לא מושפעות, כי השינויים האלה לא מושבתים.
כדי להשבית שירות, מגדירים את קנה המידה לאפס. אפשר להשבית שירות באמצעות Google Cloud המסוף, Google Cloud CLI, קובץ YAML או API:
המסוף
במסוף Google Cloud , נכנסים לדף Services של Cloud Run:
לוחצים על השירות שרוצים להשבית כדי להציג את חלונית הפרטים שלו, ואז לוחצים על סמל העיפרון לצד שינוי גודל בפינה השמאלית העליונה של חלונית הפרטים.
מאתרים את הטופס עריכת שינוי הגודל ובוחרים באפשרות שינוי גודל ידני.
בשדה עם התווית מספר המופעים, מזינים את הערך
0(אפס).לוחצים על Save.
gcloud
כדי להשבית שירות, משתמשים בפקודה הבאה כדי להגדיר את קנה המידה לאפס:
gcloud run services update SERVICE --scaling=0
מחליפים את SERVICE בשם השירות.
YAML
מורידים את הגדרות ה-YAML של השירות:
gcloud run services describe SERVICE --format export > service.yaml
מגדירים את מאפיין
manualInstanceCountלאפס (0):apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE annotations: run.googleapis.com/scalingMode: manual run.googleapis.com/manualInstanceCount: `0`
מחליפים את SERVICE בשם של שירות Cloud Run.
יוצרים או מעדכנים את השירות באמצעות הפקודה הבאה:
gcloud run services replace service.yaml
API ל-REST
כדי להשבית שירות, שולחים בקשת HTTP PATCH לנקודת הקצה service של Cloud Run Admin API.
לדוגמה, שימוש ב-curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X PATCH \ -d '{"scaling":{"manualInstanceCount":0 }}' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE?update_mask=scaling.manualInstanceCount
מחליפים את מה שכתוב בשדות הבאים:
- ACCESS_TOKEN: אסימון גישה תקף לחשבון שיש לו הרשאות IAM לעדכון שירות.
לדוגמה, אם אתם מחוברים ל-
gcloud, אתם יכולים לאחזר טוקן גישה באמצעותgcloud auth print-access-token. מתוך מופע קונטיינר של Cloud Run, אפשר לאחזר אסימון גישה באמצעות שרת המטא-נתונים של מופע הקונטיינר. - SERVICE: שם השירות.
- REGION: Google Cloud האזור שבו השירות פרוס.
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
Terraform
כדי להשבית שירות, מגדירים את המאפיין manual_instance_count לאפס (0):
resource "google_cloud_run_v2_service" "default" {
name = "SERVICE_NAME"
location = "REGION"
template {
containers {
image = "IMAGE_URL"
}
}
scaling {
scaling_mode = "MANUAL"
manual_instance_count = "0"
}
}
מחליפים את מה שכתוב בשדות הבאים:
- SERVICE_NAME: השם של שירות Cloud Run.
- REGION: Google Cloud האזור. לדוגמה:
europe-west1. - IMAGE_URL: הפניה לקובץ אימג' בקונטיינר, לדוגמה,
us-docker.pkg.dev/cloudrun/container/hello:latest. אם אתם משתמשים ב-Artifact Registry, צריך ליצור מראש את המאגר REPO_NAME. כתובת ה-URL היא בפורמטLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
מחיקת שירותים קיימים
כשמוחקים שירות, צריך לקחת בחשבון את הנקודות הבאות:
- מחיקת שירות מוחקת את כל המשאבים שקשורים לשירות הזה, כולל כל הגרסאות של השירות, בין אם הן מציגות תנועה ובין אם לא.
- מחיקה של שירות לא מסירה אוטומטית תמונות של קונטיינרים מ-Artifact Registry. כדי למחוק מ-Artifact Registry תמונות של קונטיינרים שמשמשות את הגרסאות שנמחקו, אפשר לעיין במאמר בנושא מחיקת תמונות.
- אם מוחקים שירות עם טריגר אחד או יותר של Eventarc, הטריגרים האלה לא נמחקים באופן אוטומטי. כדי למחוק את הטריגרים, אפשר לעיין במאמר בנושא ניהול טריגרים.
- אחרי המחיקה, השירות עדיין יוצג במסוף Google Cloud ובממשק של שורת הפקודה עד שהמחיקה תושלם. עם זאת, אי אפשר לעדכן את השירות.
- מחיקת שירות היא פעולה סופית: אי אפשר לבטל אותה או לשחזר את השירות. עם זאת, אם אחרי מחיקת שירות מסוים תפעילו שירות חדש באותו שם ובאותו אזור, כתובת ה-URL של נקודת הקצה תהיה זהה.
- כשמוחקים פונקציה של Cloud Run, היא מפסיקה לקבל בקשות חדשות. עם זאת, ב-Cloud Run לא מתבצעת הפסקה מיידית של מופעים פעילים. במקום זאת, הפונקציה תפעל עד שהמשימה תושלם במסגרת הזמן הקצוב שהגדרתם. יכול להיות שהפונקציה תופיע כפעילה ביומנים למשך זמן קצר אחרי שמחקתם אותה.
אפשר למחוק שירות או פונקציה באמצעות מסוף Google Cloud , Google Cloud CLI, קובץ YAML או API בארכיטקטורת REST:
המסוף
כדי למחוק שירות:
במסוף Google Cloud , נכנסים לדף Services של Cloud Run:
ברשימת השירותים, מאתרים את השירות שרוצים למחוק ולוחצים על תיבת הסימון שלו כדי לבחור אותו.
לוחצים על מחיקה. כל הגרסאות של השירות יימחקו.
gcloud
כדי למחוק שירות, משתמשים בפקודה:
gcloud run services delete SERVICE --region REGION
החלפה
- SERVICE בשם של השירות.
- REGION עם Google Cloud האזור שבו ניתן השירות.
ספריות לקוח
כדי למחוק שירות מקוד:
API ל-REST
כדי למחוק שירות, שולחים בקשת HTTP DELETE לנקודת הקצה service של Cloud Run Admin API.
לדוגמה, שימוש ב-curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X DELETE \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME
מחליפים את:
- ACCESS_TOKEN עם אסימון גישה תקף לחשבון שיש לו הרשאות IAM למחיקת שירות.
לדוגמה, אם אתם מחוברים ל-gcloud, אתם יכולים לאחזר אסימון גישה באמצעות
gcloud auth print-access-token. מתוך מופע קונטיינר של Cloud Run, אפשר לאחזר אסימון גישה באמצעות שרת המטא-נתונים של מופע הקונטיינר. - SERVICE-NAME בשם של השירות.
- REGION עם Google Cloud האזור שבו ניתן השירות.
- PROJECT-ID במזהה הפרויקט. Google Cloud