פריסת פונקציה
במדריך הזה מוסבר איך לפרוס פונקציה מקוד מקור באמצעות הפקודה gcloud functions. במאמר פריסת פונקציית Cloud Run באמצעות ה-CLI של gcloud מוסבר איך לפרוס פונקציה באמצעות הפקודה gcloud run.
במהלך תהליך הפריסה, קוד המקור והגדרות התצורה שלכם מגובים לקובץ אימג' שאפשר להריץ, ופונקציות Cloud Run מנהלות אותו באופן אוטומטי כדי לטפל בבקשות לפונקציה.
היסודות של פריסה
למידע על סוגי הפונקציות שאפשר לפרוס, אפשר לעיין במאמר בנושא כתיבת פונקציות Cloud Run.
למשתמשים שמבצעים פריסה של פונקציות צריך להיות תפקיד IAM של מפתח Cloud Functions או תפקיד שכולל את אותן הרשאות. אפשר לעיין גם במאמר הגדרות נוספות לפריסה.
-
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 functions deployכדי לפרוס פונקציה:gcloud functions deploy YOUR_FUNCTION_NAME \ --region=YOUR_REGION \ --runtime=YOUR_RUNTIME \ --source=YOUR_SOURCE_LOCATION \ --entry-point=YOUR_CODE_ENTRYPOINT \ TRIGGER_FLAGS
הארגומנט הראשון,
YOUR_FUNCTION_NAME, הוא שם לפונקציה שפרסתם. שם הפונקציה חייב להתחיל באות ולהמשיך בעד 62 אותיות, מספרים, מקפים או קווים תחתונים, ולהסתיים באות או במספר. שם שירות Cloud Run שנוצר עבור הפונקציה יחליף קווים תחתונים במקפים, ואותיות גדולות יומרו לאותיות קטנות. לדוגמה, השםfunction-1יינתן ל-Function_1ב-Cloud Run.הדגל
--regionמציין את האזור שבו הפונקציה תופעל. במאמר מיקומים מופיעה רשימה של האזורים שנתמכים על ידי Cloud Run.הדגל
--runtimeמציין באיזו שפת זמן ריצה הפונקציה משתמשת. רשימת מזהי זמן הריצה הנתמכים מופיעה במאמר בנושא תמיכה בזמן ריצה.הדגל
--sourceמציין את המיקום של קוד המקור של הפונקציה.הדגל
--entry-pointמציין את נקודת הכניסה לפונקציה בקוד המקור. זה הקוד שיופעל כשהפונקציה תפעל. הערך של הדגל הזה חייב להיות שם של פונקציה או שם מחלקה מלא שקיים בקוד המקור. מידע נוסף זמין במאמר בנושא נקודת כניסה לפונקציה.כדי לציין את הטריגר של הפונקציה, צריך להשתמש בדגלים נוספים (שמסומנים כ-
TRIGGER_FLAGSלמעלה), בהתאם לטריגר שרוצים להשתמש בו:דגלי טריגר תיאור הטריגר --trigger-httpמפעילים את הפונקציה באמצעות בקשת HTTP(S). --trigger-topic=YOUR_PUBSUB_TOPICהפעלת הפונקציה כשמתפרסמת הודעה בנושא Pub/Sub שצוין. --trigger-bucket=YOUR_STORAGE_BUCKETהפעלת הפונקציה כשיוצרים אובייקט או מחליפים אובייקט בקטגוריית Cloud Storage שצוינה. --trigger-event-filters=EVENTARC_EVENT_FILTERSהפעלת הפונקציה באמצעות Eventarc כשמתרחש אירוע שתואם למסננים שצוינו. במאמרי העזרה של
gcloud functions deployמופיע מידע מלא על פקודת הפריסה והדגלים שלה.פרטים נוספים על דגלי ההגדרה של
gcloud functions deployזמינים במסמכי התיעוד של Cloud Run.
- אפשר להשתמש במסוף Google Cloud וב-CLI של gcloud (
gcloud run deploy). - השלבים להגדרת טריגרים שונים מעט. מידע נוסף זמין במאמרים בנושא טריגרים וניסיונות חוזרים ודוגמאות לטריגרים של פונקציות.
- ב-Cloud Run יש מגוון רחב יותר של אפשרויות הגדרה:
כשהפריסה מסתיימת בהצלחה, הפונקציות מופיעות עם סימן וי ירוק בדף הסקירה הכללית של Cloud Run במסוףGoogle Cloud .
הפריסה הראשונית של פונקציה עשויה להימשך כמה דקות, בזמן שהתשתית הבסיסית מוקצה. פריסה מחדש של פונקציה קיימת מהירה יותר, והתעבורה הנכנסת מועברת אוטומטית לגרסה החדשה ביותר.
כתובת ה-URL של נקודת הקצה של HTTP
כשיוצרים פונקציה באמצעות הפקודה gcloud functions או Cloud Functions v2 API, כברירת מחדל, הפונקציה מקבלת כתובת URL של נקודת קצה (endpoint) של HTTP cloudfunctions.net. אם לוקחים את הפונקציה הזו ופורסים אותה ב-Cloud Run, הפונקציה מקבלת גם כתובת URL של נקודת קצה של HTTP run.app. עם זאת, לפונקציות שנוצרות ב-Cloud Run לא תהיה כתובת URL של נקודת קצה מסוג HTTP.cloudfunctions.net כתובת ה-URL של פונקציה cloudfunctions.net וכתובת ה-URL של פונקציה run.app מתנהגות בדיוק באותו אופן. הם ניתנים להחלפה ומשמשים להפעלת הפונקציה.
דוגמאות ל-Terraform
דוגמאות לפריסת פונקציות באמצעות Terraform מופיעות במאמרים דוגמה ל-HTTP ב-Terraform ודוגמה ל-Pub/Sub ב-Terraform.
הגדרה של רשתות
אפשר לנהל פונקציות שנוצרו באמצעות Cloud Functions v2 API (לדוגמה, באמצעות gcloud functions, ה-API בארכיטקטורת REST או Terraform) גם באמצעות Cloud Run Admin API וגם באמצעות Cloud Functions v2 API.
מידע נוסף על ניהול רשתות לפונקציות, כולל איך לנתב תעבורה ברשת VPC, זמין במאמר שיטות מומלצות לשימוש ברשתות ב-Cloud Run.
איך פורסים פונקציות Cloud Run ב-Cloud Run
פריסת פונקציות ב-Cloud Run דומה לשלבים שמתוארים במסמך הזה, אבל יש לה כמה יתרונות נוספים: