במדריך הזה נלמד איך לבצע העברת פלטפורמה של אפליקציה קיימת לקונטיינר GKE באמצעות התוסף Cloud Code בסביבת פיתוח משולבת (IDE) במכונת Linux.
המדריך הזה מיועד למפתחים במכונת Linux שיש להם ידע מעשי ב-VS Code, שמכירים את Google Cloudויש להם מכונה וירטואלית שמריצה את רכיב האפליקציה שלהם.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אנחנו ממליצים למשתמשים חדשים ב- Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
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.
-
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.-
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.
-
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.- אם עוד לא עשיתם זאת, מתקינים את התוסף Cloud Code.
- יצירה והגדרה של אשכול GKE.
- חשוב לדעת איזה סוג העברה רוצים לבצע. מידע נוסף על עומסי עבודה נתמכים זמין במאמר בדיקת מערכות הפעלה, עומסי עבודה וגרסאות Kubernetes תואמים.
- הכנת המכונות המקומיות והמכונות של המקור למודרניזציה. Cloud Code תומך רק ב-Linux לצורך מודרניזציה.
הוספת מקור להעברה בין פלטפורמות
בקטע הזה מוסבר איך להתקין במחשב המקומי את כלי ה-CLI של לקוח למציאת מכונות וירטואליות ב-Migration Center (mcdc) וכלי Migrate to Containers אחרים, אם עדיין לא עשיתם זאת, ואיך להוסיף מקור לביצוע העברת פלטפורמה באמצעות השלבים הבאים:
בסרגל הפעילות של סביבת הפיתוח המשולבת, לוחצים על
Cloud Code ואז מרחיבים את הסייר Replatform Apps.
אם זו הפעם הראשונה שאתם משתמשים ב-Migrate to Containers ב-Cloud Code, תצטרכו להתקין את
mcdcCLI ואת הכלים האחרים של Migrate to Containers במחשב המקומי. כדי לעשות זאת, לוחצים על Install tools (התקנת כלים). אחרת, עוברים לשלב הבא.לוחצים על עריכת המקורות. ייפתח קובץ
mcdc-sources.jsonריק. מוסיפים את המקורות בפורמט הבא:[ { "title": "SOURCE_NAME", "host": "HOSTNAME", "user": "USER", "identityFile":"IDENTITY-FILE-PATH" } ]כדי לראות את המקורות ב-Replatform Apps explorer, מעבירים את מצביע העכבר מעל Replatform Apps explorer ולוחצים על הלחצן Reload sources cached שמופיע.
אופציונלי: יצירת הערכת התאמה
לפני שמנסים לבצע העברת פלטפורמה של האפליקציה לקונטיינר, מומלץ ליצור הערכת התאמה של המקור, כדי לדעת אם המקור מסוגל לבצע העברת פלטפורמה לקונטיינר.
כדי ליצור הערכת התאמה של המקור, לוחצים לחיצה ימנית על המקור ובוחרים באפשרות הערכת המקור. הפעולה הזו פותחת את הטרמינל בסביבת הפיתוח המשולבת ומציגה את היומנים של הערכת המקור.
בסיום ההערכה, mcdc יוצר דוח התאמה (Fit Assessment Report) בסביבת הפיתוח המשולבת (IDE).
אם המקורות שלכם מוגדרים כמתאימים, אתם יכולים להעביר את האפליקציה שלכם לפלטפורמה אחרת.
העברה של האפליקציה לפלטפורמה אחרת
Cloud Code יוצר סביבת עבודה ייעודית לכל העברת פלטפורמה, ומאפשר להריץ את המשימות העתקה, ניתוח ויצירה בסביבת העבודה כדי לבצע אוטומציה של שלבי העברת הפלטפורמה. אם מריצים את המשימה Generate בלי להריץ קודם את המשימות Copy ו-Analyze, המערכת מריצה אותן באופן אוטומטי לפני יצירת הארטיפקטים.
בקטעים הבאים מוסבר איך לבצע כל אחת מהמשימות האלה ולהעביר את האפליקציה לפלטפורמה אחרת לקונטיינר באמצעות Cloud Code.
מידע נוסף על מחזור החיים של העברה זמין במאמר בנושא ארכיטקטורת Migrate to Containers CLI.
יצירת סביבת עבודה חדשה להעברה
לפני שיוצרים סביבת עבודה חדשה להעברה בין פלטפורמות, צריך לדעת אילו פרמטרים של העברה צריך לבחור עבור סוג ההעברה. מידע נוסף על הפרמטרים של כל סוג העברה זמין במאמר בנושא יצירת תוכנית העברה.
כדי ליצור סביבת עבודה חדשה להעברה של פלטפורמה עם ארטיפקטים בסביבת הפיתוח המשולבת (IDE), פועלים לפי השלבים הבאים:
בסייר Replatform Apps, לוחצים לחיצה ימנית על המקור שרוצים לבצע לו Replatform ואז לוחצים על Replatform.
ברשימת האפשרויות שמופיעה בתפריט, בוחרים מסלול מעבר לפלטפורמה אחרת.
בוחרים ספרייה חדשה של סביבת עבודה כדי להעביר את האפליקציה לפלטפורמה אחרת, לוחצים על OK ואז על Create replatform workspace (יצירת סביבת עבודה להעברה לפלטפורמה אחרת).
בוחרים את פרמטרי ההעברה לסוג ההעברה.
אופציונלי: אם בחרתם בסוג ההעברה WebSphere ואתם רוצים להשתמש בסורק בינארי, בוחרים את הקובץ
binaryAppScanner.jar.יצירת סביבת העבודה נמשכת כמה שניות. תיקיית סביבת העבודה החדשה תיפתח בחלון חדש של סביבת הפיתוח המשולבת.
העתקת קבצים מהמכונה הווירטואלית אל סביבת העבודה
כדי להעתיק את הקבצים מהמכונה הווירטואלית לסביבת העבודה ב-IDE, מבצעים את השלבים הבאים:
אופציונלי: ממשק
mcdcCLI מחיל מסננים כדי להקטין את גודל העותק, אבל אפשר לשנות את קובץfilters.txtכדי להקטין עוד יותר את גודל העותק. כדי להקטין את הגודל של העותק, אפשר לעיין במאמר בנושא הקטנת הגודל של מערכת הקבצים שהועתקה.מקישים על Ctrl+Shift+P כדי לפתוח את לוח הפקודות.
מחפשים את האפשרות משימות: הפעלת משימה ובוחרים בה, ואז בוחרים באפשרות m2c: Copy. העתקת הקבצים עשויה להימשך כמה דקות.
ניתוח של מערכת הקבצים של המכונה הווירטואלית ויצירת תוכנית העברה
כדי לנתח את מערכת הקבצים של המכונה הווירטואלית וליצור תוכנית העברה:
מקישים על Ctrl+Shift+P כדי לפתוח את לוח הפקודות.
מחפשים את האפשרות משימות: הפעלת משימה ובוחרים אותה, ואז בוחרים באפשרות m2c: Analyze (ניתוח).
אם משימת הניתוח נכשלת, צריך לשנות את פרמטרי ההעברה באמצעות קובץ
analyze-args.ini. בכל שורה בקובץ הזה מופיע פרמטר, ולידו תיעוד לגבי הפרמטר.אם הניתוח מצליח, Cloud Code יוצר ספרייה בשם
migration-planשמכילה את תוצאות הניתוח בצורה של קובץconfig.yaml. אתם יכולים לערוך את הקובץ הזה כדי לשנות את האופן שבו נוצרים הארטיפקטים.המבנה של קובץ
config.yamlמשתנה בהתאם לסוג ההעברה. מידע נוסף על סוגי ההעברה הנתמכים זמין בדפים הבאים:
יצירת ארטיפקטים
כדי ליצור ארטיפקטים, צריך להריץ את המשימה Generate בסביבת הפיתוח המשולבת (IDE). אם לא הפעלתם את המשימות Copy ו-Analyze בקטעים הקודמים, המשימה Generate תפעיל אותן באופן אוטומטי לפני יצירת הארטיפקטים.
כדי ליצור את פריטי המידע, פועלים לפי השלבים הבאים:
מקישים על Ctrl+Shift+P כדי לפתוח את לוח הפקודות.
מחפשים את האפשרות Tasks: Run Task (משימות: הפעלת משימה), בוחרים אותה ואז בוחרים באפשרות m2c: Generate (m2c: יצירה). הפעולה הזו יוצרת את הארטיפקטים בספרייה
src, שמכילה קובץskaffold.yamlשמשמש ליצירה ולפריסה של קובץ אימג' של קונטיינר. כל סוג של העברה יוצר ארטיפקטים שונים, אבל בדרך כלל כל סוג של העברה יוצר קובץ Dockerfile אחד או יותר ומפרט פריסה של GKE שskaffold.yamlמפנה אליו.כשהפריט יהיה מוכן, תהליך ההעברה של האפליקציה יסתיים.
אופציונלי: אם רוצים לשנות את תוכנית ההעברה, עורכים את הקובץ
config.yamlומריצים מחדש את המשימה m2c: Generate.אחרת, אם אתם מרוצים מהתוצאות של המעבר לפלטפורמה אחרת, אתם יכולים להמשיך להפעלת האפליקציה במאגר GKE.
הפעלת האפליקציה בקונטיינר GKE
בקטע הזה מריצים את האפליקציה שעברה פלטפורמה מחדש במאגר GKE, צופים ביומנים של האפליקציה שפועלת ומנקים את המשאבים.
אם עדיין לא יצרתם והגדרתם אשכול GKE, פועלים לפי ההוראות במאמר יצירה והגדרה של אשכול GKE ב-Cloud Code ל-VS Code.
מידע נוסף על ניפוי באגים באפליקציות GKE זמין במאמר ניפוי באגים באפליקציות Kubernetes באמצעות Cloud Code ל-VS Code.
הפעלה של האפליקציה והצגה שלה
אחרי שמסיימים את ההגדרה, אפשר להפעיל את האפליקציה ולצפות בה בשידור חי. Cloud Code עוקב אחרי מערכת הקבצים כדי לזהות שינויים, כך שתוכלו לערוך את האפליקציה ולהריץ אותה מחדש בזמן אמת.
כדי להריץ את האפליקציה:
בשורת הסטטוס של Cloud Code, לוחצים על שם הפרויקט הפעיל.

בתפריט הבחירה המהירה שמופיע, בוחרים באפשרות הפעלה ב-Kubernetes.
מאשרים אם להשתמש בהקשר הנוכחי של האשכול או לעבור להקשר אחר.
אם מופיעה בקשה, בוחרים מאגר תמונות שאליו רוצים להעלות את התמונות. אם אתם יוצרים מאגר תמונות חדש באמצעות
gcr.io/PROJECT_ID, ודאו שמאגר התמונות נמצא באותו פרויקט כמו האשכול.יופיע חלון פלט שבו תוכלו לעקוב אחרי ההתקדמות של האפליקציה הפועלת. בפלט של הטרמינל יוצג גם שידור חי של היומנים מה-pods הפועלים.
אחרי שהאפליקציה פועלת ב-Kubernetes, כתובת IP מוצגת בחלון הפלט. כדי להשתמש בכתובת ה-IP המקושרת הזו כדי לגשת לאפליקציה, מקישים על Ctrl ולוחצים על הכתובת.
אחרי שתתחילו את סשן ניפוי הבאגים, בחלונית סשנים של פיתוח תוצג תצוגת היומן המובנה. כשהמשימה מתחילה, היא מופיעה עם חצי עיגול מסתובב progress_activity.
אם משימה מצליחה, מופיע סימן וי check_circle ליד השלב.
כדי לראות את הפרטים של שלב מסוים, לוחצים על השלב בחלונית סשן פיתוח. השלב מוצג בחלונית הפלט בפלט של הרישום ביומן.
הסרת המשאבים
אחרי שמפסיקים את האפליקציה, כל משאבי ב-Kubernetes שנפרסו במהלך ההרצה נמחקים אוטומטית.
כדי להימנע מחיובים בחשבון על משאבים אחרים שבהם נעשה שימוש במדריך הזה, צריך למחוק את הפרויקט או את האשכול שיצרתם אם אתם רוצים להשתמש שוב בפרויקט.
כדי למחוק את המקבץ:
- לוחצים על
Cloud Code ואז מרחיבים את הסייר Kubernetes.
- מעבירים את מצביע העכבר מעל שם האשכול ולוחצים על open_in_new Open in Google Cloud console (פתיחה במסוף).
- לוחצים על מחיקה ואז על מחיקה.
כדי למחוק את הפרויקט (ואת המשאבים שמשויכים אליו, כולל כל האשכולות):
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
כדי למחוק את כל הקבצים המקומיים שנוצרו במהלך תהליך המעבר לפלטפורמה חדשה:
- פותחים את לוח הפקודות (Ctrl+Shift+P).
- מחפשים את האפשרות משימות: הפעלת משימה ובוחרים אותה, ואז בוחרים באפשרות m2c: ניקוי.