פריסת אפליקציית Kubernetes באמצעות Cloud Code ל-VS Code
בדף הזה תמצאו הסבר איך להתחיל להשתמש ב-Cloud Code במהירות.
תגדירו אפליקציית Kubernetes חדשה באמצעות אפליקציית דוגמה מסוג Hello World, תיצרו אשכול, תפעילו את האפליקציה באשכול הזה, תנפו באגים בקוד הפעיל, תציגו יומנים מהאפליקציה הפעילה ותחברו טרמינל למאגר הפעיל.
לפני שמתחילים
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Google Kubernetes Engine API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.- מתקינים את Git. כדי להעתיק דוגמאות למחשב, צריך להתקין את Git.
- מתקינים את Docker. כדי ליצור את הקוד לדוגמה, צריך להשתמש ב-Docker. מוודאים שחשבון המשתמש המקומי יכול ליצור קונטיינרים.
- מתקינים את הפלאגין של Cloud Code, אם עוד לא עשיתם זאת.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות להשלמת המדריך הזה להתחלה מהירה, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין של Kubernetes Engine (roles/container.admin) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
יצירת אפליקציה
פותחים את לוח הפקודות (לוחצים על
Ctrl/Cmd+Shift+Pאו לוחצים על View (תצוגה) > Command Palette (לוח הפקודות)) ואז מריצים את Cloud Code: New Application (Cloud Code: אפליקציה חדשה).בוחרים באפשרות Kubernetes Application (אפליקציית Kubernetes).
בוחרים אפליקציית Hello World בשפה המועדפת.
לדוגמה, בחירה באפשרות
Node.js: Hello Worldיוצרת אפליקציית Hello World ב-Node.js.שומרים את האפליקציה החדשה.
הודעה מאשרת שהבקשה שלך נוצרה, ונפתח חלון חדש עם הבקשה.
יצירת אשכול GKE
כדי ליצור אשכול Standard של Google Kubernetes Engine (GKE), יש לבצע את השלבים הבאים:
לוחצים על
Cloud Code ומרחיבים את הקטע Kubernetes.
לוחצים על add (הוספה) Add a cluster to the KubeConfig (הוספת אשכול ל-KubeConfig) ואז לוחצים על Google Kubernetes Engine בתפריט Quick pick (בחירה מהירה).
כשמופיעה בקשה להפעיל את Container API, לוחצים על Yes.
לוחצים על + יצירת אשכול GKE חדש.
בוחרים באפשרות רגיל בתור סוג האשכול.
לוחצים על Open כדי לאפשר ל-Cloud Code לפתוח את מסוף Google Cloud .
במסוף Google Cloud , מוודאים שהפרויקט שנבחר הוא הפרויקט שיצרתם או שבחרתם קודם.
מגדירים את שם האשכול ל-
my-first-cluster.בוחרים באפשרות Zonal כסוג המיקום ומגדירים את האזור ל-
us-central1-a.לוחצים על יצירה. יצירת האשכול נמשכת כמה דקות.
אחרי שיוצרים את האשכול, לוחצים שוב על Add a cluster to the KubeConfig ובוחרים מהרשימה את האשכול שיצרתם.
האשכול החדש יתווסף להגדרה ויוגדר כהקשר הפעיל.
הרצה של האפליקציה והצגה שלה
אחרי שמסיימים את ההגדרה, אפשר להפעיל את האפליקציה ולצפות בה בשידור חי. Cloud Code עוקב אחרי מערכת הקבצים כדי לזהות שינויים, כך שתוכלו לערוך את האפליקציה ולהריץ אותה מחדש כמעט בזמן אמת.
כדי להריץ את האפליקציה:
בשורת הסטטוס של Cloud Code, לוחצים על שם הפרויקט הפעיל.

בתפריט הבחירה המהירה שמופיע, בוחרים באפשרות הפעלה ב-Kubernetes. כשמופיעה שוב בקשה, בוחרים באפשרות הפעלה ב-Kubernetes.
מאשרים אם להשתמש בהקשר הנוכחי של האשכול או לעבור להקשר אחר.
אם מופיעה בקשה, בוחרים מאגר תמונות שאליו רוצים להעלות את התמונות. אם אתם יוצרים מאגר תמונות חדש באמצעות
gcr.io/PROJECT_ID, ודאו שמאגר התמונות נמצא באותו פרויקט כמו האשכול.אחרי שהאפליקציה פועלת ב-Kubernetes, לוחצים על הערך Status (סטטוס) של המשימה Run on Kubernetes (הפעלה ב-Kubernetes) בקטע Development sessions (סביבות פיתוח). ייפתח חלון עם הכרטיסייה Output (פלט) שכוללת את כתובת ה-URL של האפליקציה. כדי לפתוח את כתובת ה-URL הזו, מקישים על Control (או על Command ב-macOS) ולוחצים על הכתובת.
אפשר למצוא את האפליקציה גם בדף Workloads overview במסוף Google Cloud . כדי לקבל מידע נוסף על האפליקציה הפועלת, כולל כתובת ה-IP החיצונית ומספר היציאה שלה, לוחצים על השם שלה ברשימה.
טיפים לפתרון בעיות
אם אתם משתמשים באשכול קיים, כדי להגדיר את האשכול כפעיל ולקבל את פרטי הכניסה לאשכול, פועלים לפי השלבים הבאים:
ב-VS Code, לוחצים על
Cloud Code ומרחיבים את הקטע Kubernetes.
לוחצים לחיצה ימנית על שם האשכול ואז לוחצים על הגדרה כאשכול פעיל.
ניפוי באגים באפליקציה
כדי לנפות באגים באפליקציה:
בשורת הסטטוס של Cloud Code, לוחצים על שם הפרויקט הפעיל.

בתפריט 'בחירה מהירה' שמופיע, בוחרים באפשרות ניפוי באגים ב-Kubernetes.
אם תתבקשו, אמתו את פרטי הכניסה כדי להריץ ולנפות באגים באפליקציה באופן מקומי.
אם מוצגת בקשה, מאשרים אם להשתמש בהקשר הנוכחי של האשכול או לעבור להקשר מועדף.
Cloud Code משתמש בהגדרות
cloudcode.kubernetesבקובץ.vscode/launch.jsonכדי להריץ את האפליקציה ולצרף אליה סשן של ניפוי באגים.Cloud Code בונה את הקונטיינרים, מעלה אותם למאגר, מחיל את ההגדרות של Kubernetes על האשכול ומחזיר את כתובת ה-IP שבה אפשר להשתמש כדי לגשת לאפליקציה הפעילה.
לפני שמצורפת הפעלת ניפוי הבאגים, מוצגת בקשה לאשר או להזין את הספרייה במאגר המרוחק שבו נמצאת התוכנית לניפוי הבאגים, או ללחוץ על Esc כדי לדלג על ניפוי הבאגים במאגר.
כדי להוסיף נקודת עצירה לשורה מספר 9, פותחים את
src/app.jsואז לוחצים בשוליים של העורך.עיגולים אדומים מלאים מסמלים נקודות עצירה פעילות, ועיגולים אפורים ריקים מסמלים נקודות עצירה מושבתות. כדי לשלוט טוב יותר בנקודות עצירה, אפשר להשתמש בקטע Breakpoints בתצוגת Debug ב-VS Code.
כששולחים בקשה חדשה לאפליקציה, מאתר הבאגים עוצר בנקודת העצירה הפעילה הראשונה.
בדוגמה הבאה, בקטע Variables (משתנים), מתחת ל-Local (מקומי), אפשר לראות שהערך של
res._contentLength;עבורHello, world!הוא 13.
עורכים את המחרוזת שנשלחת בשורה 8 ל-
Hello, goodbye!ואז מפעילים מחדש את הפעולה Debug on Kubernetes.אחרי שבונה מחדש את האפליקציה ומפרסים אותה מחדש, כדאי לשים לב לערך המעודכן של
res._contentLength.
אחרי שתתחילו את סשן ניפוי הבאגים, בחלונית סשנים של פיתוח תוצג תצוגת היומן המובנה. כשהמשימה מתחילה, היא מופיעה עם חצי עיגול מסתובב progress_activity.
אם משימה מצליחה, מופיע סימן וי check_circle ליד השלב.
כדי לראות את הפרטים של שלב מסוים, לוחצים על השלב בחלונית סשן פיתוח. השלב מוצג בחלונית הפלט בפלט של הרישום ביומן.
פתיחת טרמינל במאגר
כדי לפתוח טרמינל במאגר, פועלים לפי ההוראות הבאות:
לוחצים על
Cloud Code ומרחיבים את הקטע Kubernetes.
מרחיבים את הקטעים הבאים:
- החלק של האשכול המועדף
- הקטע Namespaces ואז הקטע של מרחב השמות המועדף
- בקטע Pods ואז בקטע של הפוד המועדף
הקטע Containers (מאגרי תגים)

לוחצים לחיצה ימנית על המאגר שרוצים לפתוח בו טרמינל ואז לוחצים על Get Terminal (פתיחת טרמינל).
ייפתח טרמינל. עכשיו יש לכם גישה למעטפת בתוך הקונטיינר הפועל.
הסרת המשאבים
אחרי שמפסיקים את האפליקציה, כל משאבי ב-Kubernetes שנפרסו במהלך ההרצה נמחקים אוטומטית.
כדי להימנע מחיובים בחשבון על משאבים אחרים שבהם נעשה שימוש במדריך הזה, צריך למחוק את הפרויקט או את האשכול שיצרתם אם אתם רוצים להשתמש שוב בפרויקט.
כדי למחוק את המקבץ:
- לוחצים על
Cloud Code ואז מרחיבים את הסייר Kubernetes.
- מעבירים את מצביע העכבר מעל שם האשכול ולוחצים על open_in_new Open in Google Cloud console (פתיחה במסוף).
- לוחצים על מחיקה ואז על מחיקה.
כדי למחוק את הפרויקט (ואת המשאבים שמשויכים אליו, כולל כל האשכולות):
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
המאמרים הבאים
- מומלץ לייבא אפליקציה קיימת ל-VS Code ולהגדיר את Cloud Code.
- אפשר לטפל בהגדרות מתקדמות יותר Google Cloud של Kubernetes באמצעות התמיכה בעריכת YAML ב-Cloud Code.
- כדאי להכיר את התמיכה בניפוי באגים בשפות ספציפיות ש-Cloud Code מספק.
- סנכרון קבצים וטעינה מחדש מהירה מאפשרים לפתח מהר יותר.
- יצירה והגדרה של אשכול GKE
- הגדרת אשכולות פרטיים
- כדי להתאים אישית את חוויית השימוש ב-Cloud Code, צריך להגדיר הגדרות רלוונטיות.
- פריסת אפליקציות באשכולות GKE עם ארכיטקטורת ARM64, AMD64 או ארכיטקטורה מעורבת.