יצירה ופריסה של אפליקציית אינטרנט בקונטיינר

בשיעור הזה תלמדו איך ליצור אפליקציית אינטרנט בקונטיינר באמצעות Cloud Shell Editor, לבדוק אותה באופן מקומי ואז לפרוס אותה באשכול Google Kubernetes Engine‏ (GKE).


בלחיצה על תראו לי איך תקבלו הסבר מפורט על המשימה ישירות ב-Cloud Shell Editor:

תראו לי איך


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

  1. נכנסים לדף לבחירת הפרויקט במסוף Google Cloud .

    כניסה לדף לבחירת הפרויקט

  2. בוחרים או יוצרים Google Cloud פרויקט.

    תפקידים שנדרשים כדי לבחור או ליצור פרויקט

    • Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
    • יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (roles/resourcemanager.projectCreator), שכולל את ההרשאה resourcemanager.projects.create. איך מקצים תפקידים

יצירת אפליקציית אינטרנט

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

כדי ליצור את האפליקציה:

  1. מפעילים את Cloud Shell Editor.

  2. אם מתבקשים לאשר ל-Cloud Code להשתמש בפרטי הכניסה כדי לבצע קריאה ל-Google Cloud API, לוחצים על Authorize (אישור).

  3. מפעילים את התפריט Cloud Code מסרגל הסטטוס.

  4. בוחרים באפשרות בקשה חדשה.

  5. בוחרים באפשרות Kubernetes application (אפליקציית Kubernetes) כסוג אפליקציית הדוגמה.

  6. ברשימת האפליקציות לדוגמה של Kubernetes, בוחרים באפשרות Go:Hello World.

  7. בוחרים תיקייה למיקום האפליקציה ולוחצים על יצירת אפליקציה חדשה.

האפליקציה נטענת בסביבת עבודה חדשה ב-Cloud Shell Editor. אחרי שהאפליקציה נטענת מחדש, אפשר לגשת אליה באמצעות תצוגת ה-Explorer.

בדיקת האפליקציה באשכול מקומי

אחרי שיוצרים את האפליקציה, אפשר להריץ אותה באשכול Kubernetes מקומי ב-Cloud Shell:

  1. כדי לפתוח טרמינל של Cloud Shell, לוחצים על Terminal ‏ > New Terminal.
  2. כדי להפעיל את אשכול minikube המקומי, מריצים את הפקודה הבאה בשורת הפקודה של הטרמינל:

    minikube start
    

    יכול להיות שיעברו כמה דקות עד שקלאסטר minikube יוגדר.

  3. אם מתבקשים לאשר ל-Cloud Shell לבצע קריאות ל-Cloud API, לוחצים על Authorize (אישור).

    אחרי שהאשכול מוגדר, מוצגת הודעה שדומה להודעה הבאה:

    Done! kubectl is now configured to
    use "minikube" cluster...
    

אחרי שמגדירים את האשכול המקומי, מבצעים build ומריצים את האפליקציה:

  1. מפעילים את התפריט Cloud Code מסרגל הסטטוס.
  2. בוחרים באפשרות Run on Kubernetes (הפעלה ב-Kubernetes).
  3. אם מוצגת בקשה, מאשרים שרוצים להשתמש בהקשר הנוכחי של minikube.

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

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

  4. אחרי שהאפליקציה מסיימת את הבנייה והפריסה, מוצאים את צומת העברת היציאה של השירות: בתצוגה 'סשנים של פיתוח', מרחיבים את כתובות URL של העברת יציאה > שירות > go-hello-world-external.

  5. כדי להפעיל את האפליקציה, מעבירים את מצביע העכבר מעל go-hello-world-external ואז לוחצים על Open URL (פתיחת כתובת URL).

עריכת האפליקציה

כדי להבין את הרכיבים של אפליקציית Hello World, אפשר לעיין בתרשים בקובץ readme.md של האפליקציה. באופן כללי, האפליקציה מורכבת מהרכיבים הבאים:

  • אפליקציית אינטרנט בסיסית go-hello-world, main.go, שמחזירה תגובה מבוססת-תבנית 'היא פועלת!' לכל הבקשות שהיא מקבלת.
  • שירות go-hello-world-external מאזן עומסים, hello.service.yaml, שחושף את האפליקציה על ידי תיאור של שירות Kubernetes.

כדי לשנות את האפליקציה:

  1. משנים את הקובץ main.go כדי להדפיס את הטקסט It's redeployed!. הקובץ נשמר באופן אוטומטי.
  2. מחכים דקה עד שהאפליקציה מסיימת את הבנייה והפריסה, ועוקבים אחרי התקדמות האפליקציה בזמן שהיא נבנית מחדש בתצוגה Development sessions.

  3. אחרי שהאפליקציה מסיימת את הבנייה והפריסה, מחפשים את צומת העברת הפורטים של השירות: Development sessions (סשנים של פיתוח) > Port Forward URLs (כתובות URL של העברת פורטים) > service (שירות) > go-hello-world-external.

  4. כדי להפעיל את האפליקציה, מעבירים את מצביע העכבר מעל go-hello-world-external ולוחצים על Open URL (פתיחת כתובת URL).

צפייה ביומני האפליקציות

כדי לנתח את האפליקציה בזמן שהיא פועלת, משתמשים בכלי Log Viewer כדי לעקוב אחרי היומנים שלה:

  1. מפעילים את Log Viewer על ידי פתיחת לוח הפקודות (אפשר לגשת אליו באמצעות Ctrl/Cmd+Shift+P או View > Command Palette) ואז מריצים את Cloud Code: View Logs.

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

  2. מציינים את המסננים של פריסה כדי להציג את היומנים של האפליקציה, go-hello-world.

  3. עוברים לכרטיסייה עם האפליקציה שבה מוצגת ההודעה 'הפריסה בוצעה מחדש!' טוענים מחדש את הדף בדפדפן ואז חוזרים לכרטיסייה של Cloud Shell.

  4. כדי לראות את היומנים החדשים שנוצרו בכלי לצפייה ביומנים, לוחצים על רענון.

יצירת אשכול של Google Kubernetes Engine

כדי ליצור אשכול חדש של Google Kubernetes Engine ולפרוס בו את האפליקציה:

  1. לוחצים על הסמל של Cloud Code Cloud Code ומרחיבים את הקטע Kubernetes.

  2. לוחצים על Add a Cluster to the KubeConfig (הוספת אשכול ל-KubeConfig) ואז על Google Kubernetes Engine בתפריט Quick pick (בחירה מהירה).

  3. כשמופיעה בקשה להפעיל את container.googleapis.com, לוחצים על כן.

  4. לוחצים על + יצירת אשכול GKE חדש.

  5. בוחרים באפשרות רגילה בתור סוג האשכול.

  6. לוחצים על פתיחה כדי לאפשר ל-Cloud Code לפתוח את מסוףGoogle Cloud .

  7. במסוף Google Cloud , משתמשים בפרויקט שיצרתם, מגדירים את האזור ל-us-central1-a ואת שם האשכול ל-my-first-cluster.

  8. לוחצים על יצירה. יצירת האשכול נמשכת כמה דקות.

  9. אחרי שיוצרים את האשכול, בתפריט בחירה מהירה, לוחצים על רענון התצוגה של אשכול Kubernetes ואז על רענון.

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

פריסת האפליקציה באשכול GKE

כדי לפרוס את האפליקציה באשכול החדש:

  1. בתפריט Cloud Code, שאליו אפשר לגשת דרך סרגל המצב, בוחרים באפשרות הפעלה ב-Kubernetes.

  2. מאשרים שהאשכול החדש שנוצר הוא ההקשר של האפליקציה.

  3. מאשרים את אפשרות ברירת המחדל עבור מאגר התמונות.

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

  5. אחרי שהאפליקציה מסיימת את הבנייה והפריסה, מוצאים את צומת העברת היציאה של השירות: בתצוגה 'סשנים של פיתוח', מרחיבים את כתובות URL של העברת יציאה > שירות > go-hello-world-external.

  6. כדי להפעיל את האפליקציה, מעבירים את מצביע העכבר מעל go-hello-world-external ולוחצים על Open URL (פתיחת כתובת URL).

סידור וארגון

כדי למחוק רק את האשכול שיצרתם במדריך למתחילים:

  1. מעבירים את מצביע העכבר מעל שם האשכול ולוחצים על פתיחה בסמל של מסוף Google Cloud Open in Google Cloud console (פתיחה ב-Console).
  2. לוחצים על מחיקה ואז על מחיקה.

כדי למחוק את הפרויקט (ואת המשאבים שמשויכים אליו, כולל אשכולות):

  1. נכנסים לדף Projects במסוף Google Cloud :

    כניסה לדף Projects

  2. בוחרים את הפרויקט שיצרתם במדריך למתחילים ולוחצים על מחיקה.

  3. כדי לאשר את הפעולה, מקלידים את מזהה הפרויקט ולוחצים על Shut down.

    הפעולה הזו משביתה את הפרויקט ומתזמנת את המחיקה שלו.

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