פריסת אפליקציית Kubernetes באמצעות פיתוח מרחוק

בדף הזה מוסבר איך להתחיל במהירות להשתמש ב-Cloud Code ל-VS Code באמצעות סביבת פיתוח מרוחקת ב-Cloud Shell.

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

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

כדי להגדיר משאבים תומכים ולגשת ל-Cloud Shell, סביבת הפיתוח המרוחקת ב- Google Cloud שבה משתמשים במדריך למתחילים הזה, בתוך VS Code, מבצעים את השלבים הבאים:

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. אם עדיין לא עשיתם זאת, מתקינים את Visual Studio Code במחשב.
  7. מתקינים את התוסף Remote - SSH ל-Visual Studio Code.
  8. מתקינים את Git. כדי להעתיק דוגמאות למחשב, צריך להתקין את Git.
  9. אם עוד לא עשיתם זאת, מתקינים את הפלאגין Cloud Code.

הפעלת Cloud Code

כשפותחים את Visual Studio Code שמחובר לסביבת פיתוח מרוחקת ב-Cloud Shell, בסביבה יש את כל הכלים שצריך כדי לפתח אפליקציות ל-Kubernetes.

  1. כדי להתחיל לעבוד בסביבת הפיתוח המרוחקת, בוחרים את השפה המועדפת לפרויקט המשוכפל ולוחצים על הלחצן Open with Cloud Code (פתיחה באמצעות Cloud Code):

    מערכת VS Code תופעל ותשכפל פרויקט לסביבת העבודה שלכם לפיתוח מרחוק.

  2. אם לא הגדרתם את הדרישות המוקדמות, תתבקשו להתקין אותן.

יצירת אשכול GKE

כדי ליצור אשכול רגיל של Google Kubernetes Engine‏ (GKE):

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

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

  3. כשמופיעה בקשה להפעיל את Container API, לוחצים על Yes (כן).

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

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

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

  7. במסוף Google Cloud , מוודאים שהפרויקט שנבחר הוא הפרויקט שיצרתם או שבחרתם קודם.

  8. מגדירים את שם האשכול ל-my-first-cluster.

  9. בוחרים באפשרות Zonal כסוג המיקום ומגדירים את האזור ל-us-central1-a.

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

  11. אחרי שיוצרים את האשכול, לוחצים שוב על Add a cluster to the KubeConfig ובוחרים מהרשימה את האשכול שיצרתם.

  12. האשכול החדש נוסף להגדרה ומוגדר להיות ההקשר הפעיל.

הרצה של האפליקציה והצגה שלה

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

כדי להריץ את האפליקציה, פועלים לפי השלבים הבאים:

  1. בסרגל הסטטוס של Cloud Code, לוחצים על שם הפרויקט הפעיל.

    שם הפרויקט הפעיל בשורת הסטטוס

  2. בתפריט 'בחירה מהירה' שמופיע, בוחרים באפשרות הפעלה ב-Kubernetes. כשמופיעה בקשה נוספת, בוחרים באפשרות הפעלה ב-Kubernetes.

  3. מאשרים אם להשתמש בהקשר הנוכחי של האשכול או לעבור להקשר אחר.

  4. אם מתבקשים, בוחרים מאגר תמונות שאליו רוצים להעלות את התמונות. אם אתם יוצרים מאגר תמונות חדש באמצעות gcr.io/PROJECT_ID, ודאו שמאגר התמונות נמצא באותו פרויקט כמו האשכול.

  5. אחרי שהאפליקציה פועלת ב-Kubernetes, לוחצים על הערך סטטוס של המשימה הפעלה ב-Kubernetes בקטע סביבות פיתוח. ייפתח חלון עם כרטיסיית פלט שכוללת את כתובת ה-URL של האפליקציה. כדי לפתוח את כתובת ה-URL הזו, מקישים על Control (או על Command ב-macOS) ולוחצים על הכתובת.

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

טיפים לפתרון בעיות

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

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

  2. לוחצים לחיצה ימנית על שם האשכול ואז לוחצים על הגדרה כאשכול פעיל.

ניפוי באגים באפליקציה

כדי לנפות באגים באפליקציה:

  1. בסרגל הסטטוס של Cloud Code, לוחצים על שם הפרויקט הפעיל.

    שם הפרויקט הפעיל בשורת הסטטוס

  2. בתפריט 'בחירה מהירה' שמופיע, בוחרים באפשרות Debug on Kubernetes (ניפוי באגים ב-Kubernetes).

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

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

    ‫Cloud Code משתמש בהגדרות cloudcode.kubernetes בקובץ .vscode/launch.json כדי להריץ את האפליקציה ולצרף אליה סשן של ניפוי באגים.

    ‫Cloud Code יוצר את הקונטיינרים, מעביר אותם למאגר, מחיל את ההגדרות של Kubernetes על האשכול ומחזיר את כתובת ה-IP שבה אפשר להשתמש כדי לעיין באפליקציה הפעילה.

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

  6. כדי להוסיף נקודת עצירה לשורה מספר 9, פותחים את src/app.js ואז לוחצים בשוליים של העורך.

    עיגולים אדומים מלאים מסמלים נקודות עצירה פעילות, ועיגולים אפורים ריקים מסמלים נקודות עצירה מושבתות. כדי לשלוט טוב יותר בנקודות מעבר, אפשר להשתמש בקטע Breakpoints (נקודות מעבר) בתצוגת Debug (ניפוי באגים) ב-VS Code.

    הקטע Breakpoints (נקודות עצירה) בחלונית הימנית של Debug View (תצוגת ניפוי הבאגים) שמאפשר להוסיף, להסיר ולהשבית נקודות עצירה

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

    בדוגמה הבאה, בקטע משתנים, מתחת למשתנים מקומיים, הערך של res._contentLength; עבור Hello, world! הוא 13.

    האפליקציה מושהית בנקודת עצירה, ובקטעים 'משתנים' ו'סטאק ביצוע' מופיעים ערכים בהיקף

  7. עורכים את המחרוזת שנשלחת בשורה 8 ל-Hello, goodbye! ומפעילים מחדש את הפעולה Debug on Kubernetes.

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

    האפליקציה מושהית בנקודת עצירה עם ערכים מעודכנים

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

אם משימה מסוימת מצליחה, מופיע סימן וי check_circle לצד השלב.

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

פותחים טרמינל במאגר התגים.

כדי לפתוח טרמינל במאגר התגים, פועלים לפי ההוראות הבאות:

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

  2. מרחיבים את הקטעים הבאים:

    • הקטע של האשכול המועדף
    • בקטע Namespaces (מרחבי שמות) ואז בקטע של מרחב השמות המועדף.
    • בקטע Pods ואז בקטע של הפוד המועדף
    • הקטע Containers (מאגרים)

      פודים של Cloud Code

  3. לוחצים לחיצה ימנית על המאגר שרוצים לפתוח בו טרמינל ואז לוחצים על Get Terminal (פתיחת טרמינל).

    ייפתח טרמינל. עכשיו יש לכם גישה למעטפת בתוך הקונטיינר הפועל.

הסרת המשאבים

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

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

כדי למחוק את האשכול:

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

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

  1. במסוף Google Cloud , נכנסים לדף Manage resources.

    כניסה לדף Manage resources

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

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