1. מטרות
בשיעור ה-Lab הזה:
- עיון בפלאגינים של Cloud Code
- פריסה לאשכול Kubernetes
- הזרמת יומני Kubernetes
- שימוש בטעינה מחדש של שינויים
- ניפוי באגים באפליקציות Kubernetes פעילות
2. הכנת סביבת העבודה
שיבוט האפליקציה
כדי לשכפל את המאגר ולפתוח אותו בסביבת הפיתוח:
- פותחים את Cloud Shell Editor בכתובת ה-URL הבאה
https://ide.cloud.google.com
- בחלון הטרמינל, משכפלים את מקור האפליקציה באמצעות הפקודה הבאה:
git clone https://github.com/viglesiasce/sample-app.git -b golden-path
- עוברים לספרייה ומגדירים את סביבת העבודה של סביבת פיתוח משולבת (IDE) לשורש המאגר
cd sample-app && cloudshell workspace .
הפעלת Minikube
בקטע הזה תבנו, תבדקו, תפרסו ותגשו לאפליקציה באמצעות גרסה מקומית של Kubernetes שנקראת Minikube.
- בטרמינל, מריצים את הפקודה הבאה כדי להפעיל את minikube:
minikube start
Minikube מגדיר אשכול Kubernetes מקומי ב-Cloud Shell, וההגדרה הזו תימשך כמה דקות. בזמן ההפעלה, כדאי לעיין בממשקים השונים ש-Cloud Code מספק בשלב הבא.
3. התנסות בפלאגין של Cloud Code
Cloud Code מספק תמיכה בסביבת פיתוח משולבת (IDE) למחזור הפיתוח המלא של אפליקציות Kubernetes ו-Cloud Run, החל מיצירת אפליקציה מתבנית קיימת ועד למעקב אחרי משאבי האפליקציה שנפרסה. תשתמשו בפקודות ובתצוגות שונות שמופיעות ב-Cloud Code. בשלב הזה נכיר את הממשקים הבסיסיים.
בדיקת תצוגות של סייר הביקורות מסרגל הפעילות
אפשר לגשת לכמה חלוניות של ממשק המשתמש מסרגל הפעילות. כדי להכיר בקצרה את התצוגות השונות, לוחצים על הסמלים של כל תצוגה.
API Explorer:
- בסרגל הפעילות, לוחצים על הסמל של Cloud Code – Cloud APIs Cloud Code . פרטים נוספים על עבודה בתצוגה הזו זמינים במאמרי העזרה.

Secret Manager Explorer:
- בסרגל הפעילות, לוחצים על התצוגה של Secret Manager . פרטים נוספים על עבודה בתצוגה הזו זמינים במאמרי העזרה.

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

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

בדיקת הפקודות בשורת הסטטוס
אפשר לגשת במהירות לפקודות שמשתמשים בהן לעיתים קרובות דרך האינדיקטור בשורת הסטטוס.
- מאתרים את האינדיקטור של התוסף Cloud Code בסרגל הסטטוס
 ולוחצים עליו. - בדיקת הפקודות השונות שזמינות להרצה ולניפוי באגים ב-Cloud Run וב-Kubernetes
- כדי לקבל פרטים נוספים ופעילויות לדוגמה, לוחצים על 'פתיחת דף הפתיחה'.
בדיקת הפקודות בלוח הפקודות
פקודות נוספות זמינות מלוח הפקודות. בודקים את רשימת הפקודות שאפשר לגשת אליהן.
- פותחים את לוח הפקודות (מקישים על Ctrl/Cmd+Shift+P) ומקלידים Cloud Code כדי לסנן את הפקודות הזמינות.
- משתמשים במקשי החיצים כדי לעבור בין הפקודות ברשימה.
4. פריסה לאשכול Kubernetes
בקטע הזה נסביר איך ליצור את האפליקציה, לבדוק אותה, לפרוס אותה ולגשת אליה.
בשלבים הבאים מתחילים ליצור את קוד המקור ואז מריצים את הבדיקות. הפעלת ה-build והבדיקות תימשך כמה דקות. הבדיקות האלה כוללות בדיקות יחידה ושלב אימות שבודק את הכללים שהוגדרו לסביבת הפריסה. שלב האימות הזה כבר מוגדר, והוא מבטיח שתקבלו אזהרה על בעיות בהטמעה גם כשאתם עדיין עובדים בסביבת הפיתוח.
- בחלונית שבתחתית Cloud Shell Editor, בוחרים באפשרות Cloud Code 
. - בחלונית שמופיעה בחלק העליון, בוחרים באפשרות 'הפעלה ב-Kubernetes'. אם מוצגת בקשה, בוחרים באפשרות Yes כדי להשתמש בהקשר של minikube Kubernetes.
- בוחרים בכרטיסייה Output (פלט) בחלונית התחתונה
כדי לראות את ההתקדמות וההתראות - בוחרים באפשרות Kubernetes: Run/Debug - Detailed (הפעלה/ניפוי באגים – מפורט) בתפריט הנפתח של הערוץ משמאל
כדי לראות פרטים נוספים ויומנים שמוזרמים בשידור חי מהקונטיינרים.
בסיום ה-build והבדיקות, בכרטיסייה Output (פלט) יופיע הכיתוב Resource deployment/sample-app-dev status completed successfully ושתי כתובות URL.
- במסוף Cloud Code, מעבירים את העכבר מעל כתובת ה-URL הראשונה בפלט (http://localhost:8080), ואז בתיאור הכלים שמופיע בוחרים באפשרות 'פתיחת תצוגה מקדימה של האינטרנט'.
הגרסה המקומית של האפליקציה תיפתח בדפדפן. הגרסה הזו של האפליקציה פועלת באשכול Kubernetes של minikube.
- בדפדפן, מרעננים את הדף. המספר שליד Counter גדל, וזה אומר שהאפליקציה מגיבה לרענון.
בדפדפן, משאירים את הדף הזה פתוח כדי שתוכלו לראות את האפליקציה בזמן שאתם מבצעים שינויים בסביבה המקומית.
5. שימוש בטעינה מחדש של שינויים
בקטע הזה, מבצעים שינוי באפליקציה ורואים את השינוי בזמן שהאפליקציה פועלת באשכול Kubernetes המקומי. בכרטיסיית הפלט של הערוץ Kubernetes: Run/Debug, בנוסף לכתובות ה-URL של האפליקציה, מופיע גם Watching for changes.. המשמעות היא שמצב הצפייה מופעל. בזמן שמצב הצפייה מופעל ב-Cloud Code, המערכת תזהה שינויים שנשמרו במאגר ותבנה מחדש את האפליקציה ותפרוס אותה מחדש עם השינויים האחרונים באופן אוטומטי.
- ב-Cloud Shell Editor, עוברים לקובץ main.go.
- בקובץ main.go, בשורה 23, משנים את הצבע מירוק לכחול.
- שומרים את הקובץ.
Cloud Code מזהה שהשינוי באפליקציה נשמר, ומבצע פריסה מחדש של השינוי באופן אוטומטי. בכרטיסייה 'פלט' מוצג 'העדכון הופעל'. הפריסה מחדש תימשך כמה דקות.
הבנייה מחדש האוטומטית הזו דומה לטעינה מחדש של קוד בזמן ריצה, שהיא תכונה שזמינה לחלק מסוגי האפליקציות ולמסגרות.
- בסיום ה-build, עוברים לדפדפן שבו האפליקציה פתוחה ומרעננים את הדף.
כשמרעננים, הצבע בחלק העליון של הטבלה משתנה מכחול לירוק.
ההגדרה הזו מאפשרת לכם לטעון מחדש באופן אוטומטי כל ארכיטקטורה, עם כל הרכיבים. כשמשתמשים ב-Cloud Code וב-minikube, כל מה שפועל ב-Kubernetes כולל את הפונקציונליות של טעינה מחדש של קוד.
6. ניפוי באגים באפליקציות Kubernetes פעילות
הפעלתם את האפליקציה, ביצעתם שינוי וצפיתם באפליקציה הפועלת. בקטע הזה, תנפו את הבאגים באפליקציה כדי לוודא שהיא מוכנה להתחייבות בחזרה למאגר הראשי.
בדוגמה הזו לניפוי באגים, נתמקד בקטע הקוד של מונה הדפים.
- ב-Cloud Shell Editor, פותחים את הקובץ main.go.
- מגדירים נקודת עצירה באפליקציה על ידי לחיצה משמאל למספר השורה 82 (if err != nil {)
- בחלונית הכחולה שבתחתית Cloud Shell Editor, בוחרים באפשרות Cloud Code
. - בחלונית שמופיעה בחלק העליון, בוחרים באפשרות 'ניפוי באגים ב-Kubernetes'.
Cloud Code מפעיל ומצרף מאגרי באגים כדי שתוכלו לגשת למצב בזיכרון של האפליקציה, ולא רק להתנהגות של האפליקציה שמוצגת למשתמש.
- בסיום תהליך הפריסה, תופיע בחלק העליון של החלון בקשה לאשר את הספרייה במאגר שבו האפליקציה נפרסה.

מוודאים שהערך מוגדר ל-/go/src/app ומקישים על Enter כדי לאשר את הערך.
- מחכים עד שהפריסה של הכלי לניפוי באגים מסתיימת. התהליך יסתיים כששורת הסטטוס תהפוך לכתום והפלט ידווח על
"Attached debugger to container "sample-app-dev-..." successfully". - במסוף Cloud Code, מעבירים את העכבר מעל כתובת ה-URL הראשונה בפלט (http://localhost:8081), ואז בתיאור הכלים שמופיע בוחרים באפשרות Open Web Preview (פתיחת תצוגה מקדימה של האינטרנט). הדף לא יסיים את הטעינה, וזה צפוי.
- חוזרים לסביבת הפיתוח המשולבת (IDE) שבה מופיע עכשיו ה-Debugger. הקוד מופיע בכרטיסייה, ומוצג סטאק ביצוע, וגם אילו משתנים זמינים בחלק הזה של הקוד. אפשר להרחיב את הקטע Variables - Local (משתנים – מקומיים) כדי לראות את הערך הנוכחי של משתנה הדלפק.
- כדי לאפשר את המשך טעינת הדף, לוחצים על סמל ההמשך בחלון הניפוי באגים

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