PracticU

קונטיינר בענן - Cloud Run
הרצת קונטיינר בענן

בלי כתוביותעם כתוביות
PracticU › קורס Google Cloud - שירותי ענן של גוגל › קונטיינר בענן - Cloud Run הרצת קונטיינר בענן
מילון מושגים:
קונטיינר - חבילה קלה ומבודדת שאורזת אפליקציה עם כל תלויותיה, ורצה באופן אחיד בכל סביבה, למשל ב-Docker.
פריסה - העברת תוכנה מסביבת פיתוח לסביבה שבה היא תרוץ בפועל, כדי להעמידה לשימוש.
URL - הכתובת שמזהה משאב באינטרנט, למשל דף אתר, וכוללת פרוטוקול, שם מארח ונתיב.
GitHub - שירות ענן לאחסון מאגרי קוד מבוססי Git, המאפשר שיתוף פעולה, מעקב גרסאות וניהול פרויקטים.
Docker - פלטפורמה להרצת אפליקציות בתוך קונטיינרים מבודדים וקלים, כדי שירוצו באופן אחיד בכל סביבה.
Dockerfile - קובץ טקסט עם הוראות לבניית Docker Image, המגדיר את הבסיס, הקבצים והפקודות שיירוצו.
ווליום - יחידת אחסון לוגית על דיסק או מספר דיסקים. ב-Docker, מנגנון לשמירת נתונים מחוץ לקונטיינר.
Python - שפת תכנות עילית וקריאה, נפוצה בפיתוח, אוטומציה, ניתוח נתונים ולמידת מכונה.

קונטיינר בענן - Cloud Run הרצת קונטיינר בענן
ההרצאה מציגה את הפריסה האחרונה בסדרה: יוצרים שירות ב-Cloud Run מ-Image שכבר נמצא ב-registry, ואחר כך מפרסמים גרסה חדשה ומפצלים אליה חלק מהתנועה.
השלבים העיקריים
1. יצירת השירות: ב-Cloud Run, ב-Services, לוחצים Deploy container ובוחרים את ה-Image מה-registry (גרסה 04). אפשר לתת גם URL מ-GitHub או מ-Docker Hub. נותנים שם Practicu Hello World-server.
2. הגדרות: region בתל אביב, גישה לכולם בלי אימות, מינימום אפס קונטיינרים ומקסימום חמישה כדי להגביל עלויות. הוא גדל לבד לפי העומס, ובאפס לא משלמים כלום. הפורט שממופה החוצה הוא 8081, כי ב-Dockerfile הוחלף הפורט.
3. אפשרויות נוספות: פקודות להרצה, זיכרון, מעבדים, GPU, ו-mount volume של Cloud Storage bucket כתיקייה משותפת. וגם כמה בקשות צריך כדי לפתוח instance חדש, תלוי באפליקציה. אחרי Create האתר עובד בכתובת הציבורית.
4. גרסה חדשה: משנים את main.py ל-version 5 ובודקים מקומית עם python3 main.py. אורזים עם docker build -t שכולל את שם ה-repository והגרסה V05, ונקודה לתיקייה הנוכחית. Docker לוקח את Python 3.9 מ-Docker Hub ומוסיף שכבות.
5. דחיפה: גרסה 5 קיימת רק במחשב עד docker push. Docker מזהה ששכבה כבר קיימת בענן ולא מעלה אותה שוב.
6. פריסת revision: בשירות, Edit and deploy new revision, בוחרים את גרסה 5 ופורט הקונטיינר בהתאם ל-Dockerfile (בהרצאה מצוין 8080), עם מקסימום חמישה instances. כל התנועה עוברת לגרסה החדשה ("Hello World V5").
7. פיצול תנועה: מחלקים חמישים אחוז לכל revision, וה-Ctrl F5 מחליף בין הגרסה הישנה לחדשה. אפשר להשתמש בזה להשוואת עיצוב ישן מול חדש.
אחרי ההרצאה אפשר לפרוס Image ב-Cloud Run, להוציא גרסה חדשה ולפצל אליה תנועה.

פרקי ההרצאה: קונטיינר בענן - Cloud Run הרצת קונטיינר בענן

  1. 00:00

    פריסת קונטיינר מ-image בענן

  2. 00:38

    בחירת ה-image ומתן שם

  3. 01:14

    קביעת מספר הקונטיינרים וגישה

  4. 01:51

    הקצאת משאבים ומיפוי bucket

תמלול ההרצאה: קונטיינר בענן - Cloud Run הרצת קונטיינר בענן

הטקסט המלא של הדקות הראשונות בהרצאה «קונטיינר בענן - Cloud Run הרצת קונטיינר בענן» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:20

    לפרוס את הקונטיינר מתוך image. הוא שואל אותי איפה קונטיינר image נמצא. אני יכול לתת לו פה URL. זה יכול להיות ב-GitHub, זה יכול להיות ב-Docker Hub, זה יכול להיות ב-registry של גוגל.

  3. 00:34

    אנחנו נעשה פה select. הוא מראה לי את ה-registry, את ה-repository ואנחנו רואים את ה-image שהעלנו, version אפס ארבע, ונעשה select. זה הלינק ל-image ואפשר להגדיר איך הקונטיינר הזה יקרא.

  4. 00:50

    Practicu Hello World מקף server, כי קונטיינר זה תכלס השרת. איפה הוא ישב. נניח אני אבחר תל אביב, חוות שרתים בתל אביב.

  5. 00:59

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

  6. 01:16

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

  7. 01:32

    ופה למטה אני יכול לקבוע עם הצ'ופצ'יק הזה איך למפות את הפורט. נניח בפנים פורט שמונים שמונים. רגע, החלפנו את הפורט, נכון? פה ב-docker file עשינו לו פורט שמונים ואחד שמונים ואחד.

  8. 01:43

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

  9. 01:55

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

  10. 02:13

    זה נקרא mount volume. ראינו את זה על המחשב הפיזי. גם פה אפשר לעשות cloud storage bucket. כרגע לא צריך. פה אני קובע כמה בקשות צריך בשביל לפתוח instance חדש.

  11. 02:26

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

לקורס המלא: קורס Google Cloud ‏(GCP) אונליין

ההרצאה הקודמת: קונטיינר בענן - Cloud Run - רפוזיטורי של גוגל - מאגר מרכזי - Docker Image - Artifact Registry

הרצאות קשורות מקורסים אחרים

  • Run As Account
  • Run Tests in Parallel
  • Run a Wear Emulator
  • מבוא ל-Storage בענן