אפשרויות פריסה ומודל משאבים

במדריך הזה מוסבר איך Cloud Run מטפל בפריסות, והוא מחולק לשלושה תחומים:

  • סוגי פריסה: מה אתם מביאים ל-Cloud Run, כמו קוד מקור או קובצי אימג' של קונטיינרים.
  • משאבי Cloud Run: מה הפריסה שלכם מפעילה ב-Cloud Run (שירות, משימה, מאגר עובדים או מכונה).
  • שיטות פריסה: איך מבצעים את הפריסה, למשל באמצעות מסוף Cloud de Confiance ,‏ ה-CLI של gcloud,‏ YAML או Terraform.

סוגי פריסה

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

אפשרות פריסה שירותים תעסוקה
תמונות קונטיינר שאפשר לפרוס. נתמך נתמך
פריסה מקוד המקור נתמך נתמך
פריסת פונקציות1 נתמך —

פריסת קובצי אימג' של קונטיינרים

אפשר לפרוס כל קובץ אימג' של קונטיינר שעומד בדרישות של הסכם זמן הריצה של הקונטיינר ב-Cloud Run לשירות או למשימה

משאבי Cloud Run

בקטעים הבאים מפורטים משאבי Cloud Run.

השוואה בין משאבי Cloud Run

תכונה שירותים תעסוקה
תרחיש ראשי לדוגמה מבוסס על בקשות (אתרים, ממשקי API, מיקרו-שירותים) מבוסס-משימות (סקריפטים, עיבוד נתונים, העברות)
Trigger בקשות HTTP/gRPC, ‏ Eventarc מצבי הפעלה – רגיל (מיידי), מושהה.

טריגרים – הפעלה ידנית, באמצעות Scheduler, באמצעות Workflows
שינוי גודל אוטומטי/ידני: שינוי הגודל ל-0 או על סמך בקשות אוטומטי: מתרחב ל-N משימות עצמאיות שמופעלות ברצף או במקביל.
מחזור חיים זמני, מצטמצם כשלא פעיל פועל עד להשלמה למשך עד 7 ימים (קצר טווח)
כתובת כתובת URL יציבה של שירות (עם איזון עומסים) אין נקודת קצה ציבורית.

כתובת URL פנימית לטריגרים (למשל, מתזמן)
תנועה נכנסת HTTP/gRPC ציבורי/פנימי ללא
חיוב מבוסס-בקשה או מבוסס-מופע משך הביצוע

שירותי Cloud Run

שירות הוא סוג המשאב העיקרי ב-Cloud Run, שמייצג עומס עבודה מבוסס-בקשות שמתאים באופן אוטומטי את מספר המקרים של קונטיינרים כדי לטפל בתעבורת אינטרנט נכנסת, בבקשות HTTP או באירועים. כל שירות ממוקם בCloud de Confiance by S3NS אזור ספציפי. כדי לספק יתירות ומעבר לגיבוי, Cloud Run משכפל באופן אוטומטי שירותים בכמה אזורים בתוך אזור.Cloud de Confiance בפרויקט נתון יכולים לפעול שירותים רבים באזורים שונים.

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

בתרשים הבא מוצג מודל המשאבים של Cloud Run לשירותים:

שירותים ועדכונים ב-Cloud Run

בתרשים מוצג Cloud de Confiance פרויקט שמכיל שלושה שירותי Cloud Run‏: שירות א', שירות ב' ושירות ג'. לכל אחד מהשירותים יש כמה עדכונים:

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

גרסאות של שירות Cloud Run

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

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

‫Cloud Run מנתב בקשות באופן אוטומטי בהקדם האפשרי לגרסה האחרונה של השירות שפועלת בצורה תקינה.

מופעים של שירות Cloud Run

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

משימות ב-Cloud Run

כל משימה ממוקמת באזור ספציפי Cloud de Confianceומורכבת ממשימה אחת או יותר שמוציאות לפועל קונטיינר אחד או יותר עד להשלמה. משימות של עבודות הן עצמאיות ויכולות לפעול במקביל בהרצת עבודה נתונה.

הפעלות של משימות ב-Cloud Run

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

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

משימות של משימות ב-Cloud Run

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