שימוש ב-minikube לפיתוח מקומי ב-Cloud Code ל-VS Code

‫Cloud Code מתקין ומנהל את minikube באופן אוטומטי. אם בחרתם שלא להשתמש בניהול יחסי תלות, צריך להוסיף את הקובץ הבינארי של minikube אל PATH.

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

  1. מתקינים את Git כדי ש-Cloud Code יוכל לבצע פעולות Git, כמו שיבוט של דוגמה.
  2. אם עוד לא עשיתם זאת, מתקינים את הפלאגין של Cloud Code.

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

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

  1. מפעילים את לוח הפקודות (מקישים על Ctrl/Cmd+Shift+P או לוחצים על View (תצוגה) > Command Palette (לוח הפקודות)) ואז מריצים את הפקודה Cloud Code: New Application (Cloud Code: אפליקציה חדשה).
  2. בוחרים באפשרות Kubernetes application (אפליקציית Kubernetes) בתור סוג הדוגמה.
  3. בוחרים דוגמה על סמך השפה שרוצים להשתמש בה מבין האפשרויות הזמינות: NodeJS, ‏ Go, ‏ Python, ‏ Java.
  4. בוחרים את המיקום המועדף של האפליקציה במחשב המקומי ולוחצים על יצירת אפליקציה חדשה כדי לשמור.

    ‫Cloud Code משכפל את הדוגמה שבחרתם ופותח את הפרויקט החדש שלכם לשימוש.

דוגמה למבנה של אפליקציה

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

לדוגמה, המבנה של אפליקציית פנקס האורחים ב-Node.js נראה כך:

.
|---- .vscode
|      ---- launch.json
|---- kubernetes-manifests
|     |---- guestbook-backend.deployment.yaml
|     |---- guestbook-backend.service.yaml
|     |---- guestbook-frontend.deployment.yaml
|     |---- guestbook-frontend.service.yaml
|     |---- mongo.deployment.yaml
|     ---- mongo.service.yaml
|---- src
|     |---- backend
|     |     |---- Dockerfile
|     |     |---- index.js
|     |     |---- app.js
|     |     ---- package.json
|     |---- frontend
|           |---- Dockerfile
|           |---- index.js
|     |     |---- app.js
|           ---- package.json
---- skaffold.yaml

אם בוחנים מקרוב את אפליקציית הדוגמה הזו של ספר האורחים ב-Kubernetes Node.js, אפשר לראות כמה קבצים חשובים והשימושים שלהם:

  • .vscode
    • extensions.json: הצגת הנחיה לבקשת הורדה של תוספים קשורים כשפותחים את הפרויקט הזה
    • launch.json: הגדרת ההפעלה (מהסוג cloudcode.kubernetes) להרצה או לניפוי באגים של אפליקציית Kubernetes
    • tasks.json: פרטי התצורה של משימות ב-Visual Studio Code
  • kubernetes-manifests
    • guestbook-backend.deployment.yaml: מפרט של Pod לצמתים של ה-Backend
    • guestbook-frontend.deployment.yaml: מפרט ה-Pod לצמתים של חזית האתר
    • mongo.deployment.yaml: מפרט ה-Pod של מסד הנתונים
  • src
    • (backend|frontend)/app.js: קוד Node.js עם הלוגיקה של שרת האינטרנט
    • (backend|frontend)/Dockerfile: משמש לבניית קובץ האימג' של הקונטיינר עבור התוכנית שלנו
  • skaffold.yaml: קובץ הגדרות של Skaffold, שמשמש את Cloud Code ליצירה, לפריסה ולניפוי באגים של אפליקציות Kubernetes

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

הוראות לשימוש בפרויקט קיים מופיעות במאמר בנושא שימוש ב-Cloud Code עם אפליקציית Kubernetes קיימת.

הגדרת ההקשר של Kubernetes

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

הגדרות אישיות

כשמשתמשים בהגדרת ההפעלה Cloud Code: Develop on Kubernetes, אפשר להתאים אישית את הפריסה על ידי הגדרת ההגדרות הזמינות.

כדי להוסיף או לערוך הגדרות, עוברים אל Run (הרצה) > Open Configurations (פתיחת הגדרות) ואז עורכים או מוסיפים הגדרות.

יצירה ופריסה באשכול minikube

הפעלת אשכול minikube

‫Cloud Code מתקין ומנהל את minikube באופן אוטומטי. אם בחרתם שלא להשתמש בניהול יחסי תלות, צריך להוסיף את הקובץ הבינארי של minikube אל PATH.

  1. מפעילים את לוח הפקודות (מקישים על Ctrl/Cmd+Shift+P או לוחצים על View (תצוגה) > Command Palette (לוח הפקודות)) ואז מריצים את הפקודה Cloud Code: Control minikube (Cloud Code: שליטה ב-minikube).
  2. לוחצים על minikube באפשרות Choose a Minikube cluster (profile) to control (בחירת אשכול Minikube (פרופיל) לשליטה) ואז לוחצים על Start (התחלה).

הפעלה ב-minikube

  1. מפעילים את לוח הפקודות ומריצים את Cloud Code: Run on Kubernetes.
  2. לוחצים על כן בשאלה האם להשתמש בהקשר הנוכחי (minikube) כדי להפעיל את האפליקציה?
  3. ‫Cloud Code מריץ את האפליקציה באשכול minikube שלכם. אם מתבקשים, מאשרים ל-Cloud Shell להשתמש בפרטי הכניסה כדי לבצע קריאה ל-Google Cloud API.

    אפשר לראות את פרטי הפריסה בקטע סשנים של פיתוח ב-Cloud Code.

  4. כדי לראות את כתובות ה-URL, לוחצים על Portfoward URLs (כתובות URL של העברת פורטים) בקטע Development sessions (סשנים של פיתוח), ואז לוחצים על הקישור לכתובת ה-URL כדי לפתוח את הדפדפן עם האפליקציה הפועלת.

פתיחת טרמינל אינטראקטיבי למאגר

  1. לוחצים על Cloud Code (קוד Cloud) ואז מרחיבים את הסייר Development Sessions (סשנים של פיתוח).
  2. מרחיבים את Deployed Resources (משאבים שנפרסו) ואז את Pods (פודים).
  3. לוחצים לחיצה ימנית על מאגר ואז על Get Terminal (קבלת מסוף).

השהיה או עצירה של אשכול minikube

  1. מפעילים את לוח הפקודות (מקישים על Ctrl/Cmd+Shift+P או לוחצים על תצוגה > לוח הפקודות) ואז מריצים את הפקודה Cloud Code: Control minikube.
  2. אחרי שהאפשרות Choose a Minikube cluster (profile) to control (בחירת אשכול Minikube (פרופיל) לשליטה) מופיעה, לוחצים על minikube ואז על Stop (עצירה) או על Pause (השהיה).

יצירה והוספה של אשכול מספק שירותי ענן אחר

אם אתם משתמשים באשכול מקומי או באשכול מספק אחר כמו Azure או AWS, אתם צריכים להשתמש בכלים של הספק כדי ליצור את האשכול ולהוסיף אותו ל-KubeConfig.

עבודה עם אשכולות מקומיים אחרים

בנוסף ל-minikube, אפשר לעבוד עם Cloud Code אם משתמשים ב-Docker Desktop (ב-Mac או ב-Windows).

כדי ש-Cloud Code יפעל עם אשכול מקומי, צריך לוודא שההגדרה שמוגדרת כברירת מחדל (לדוגמה, ~/.kube/config) כוללת את האשכול המקומי. צריך להגדיר את האשכול הזה כהקשר הנוכחי.

לדוגמה, אם השתמשתם באשכול מקומי, docker-for-desktop, עם Docker Desktop, מריצים את הפקודה הבאה כדי להגדיר את האשכול המועדף:

kubectl config use-context docker-for-desktop

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

תמיכה

כדי לשלוח משוב, לדווח על בעיות ב-GitHub או לשאול שאלה ב-Stack Overflow.