במדריך הזה נסביר איך להעביר פלטפורמה של אפליקציה קיימת לקונטיינר GKE באמצעות התוסף Cloud Code בסביבת הפיתוח המשולבת במכונת 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.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. 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.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. 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, מעבירים את מצביע העכבר מעל הכלי Replatform Apps ולוחצים על הלחצן Reload sources cached שמופיע.
אופציונלי: יצירת התאמה
לפני שמנסים להעביר את האפליקציה לפלטפורמה אחרת באמצעות קונטיינר, מומלץ ליצור הערכת התאמה של המקור, כדי לדעת אם אפשר להעביר את המקור לפלטפורמה אחרת באמצעות קונטיינר.
כדי ליצור הערכת התאמה של המקור, לוחצים לחיצה ימנית על המקור ובוחרים באפשרות הערכת המקור. הפעולה הזו פותחת את הטרמינל בסביבת הפיתוח המשולבת ומציגה את היומנים של הערכת המקור.
בסיום ההערכה, mcdc יוצר דוח התאמה (Fit Assessment Report) בסביבת הפיתוח המשולבת (IDE).
אם המקורות שלכם מוגדרים כמתאימים, אתם יכולים להעביר את האפליקציה לפלטפורמה אחרת.
העברה של האפליקציה לפלטפורמה אחרת
Cloud Code יוצר סביבת עבודה ייעודית לכל פלטפורמה מחדש, ומאפשר להריץ את המשימות העתקה, ניתוח ויצירה בסביבת העבודה כדי להפוך את השלבים של הפלטפורמה מחדש לאוטומטיים. אם מריצים את המשימה Generate בלי להריץ קודם את המשימות Copy ו-Analyze, המערכת מריצה אותן באופן אוטומטי לפני יצירת הארטיפקטים.
בקטעים הבאים מוסבר איך לבצע כל אחת מהמשימות האלה ולהעביר את האפליקציה לפלטפורמה אחרת באמצעות Cloud Code.
מידע נוסף על מחזור החיים של העברה זמין במאמר בנושא ארכיטקטורת Migrate to Containers CLI.
יצירת סביבת עבודה חדשה למעבר פלטפורמה
לפני שיוצרים סביבת עבודה חדשה להעברה בין פלטפורמות, צריך לדעת אילו פרמטרים של העברה צריך לבחור עבור סוג ההעברה. מידע נוסף על הפרמטרים של כל סוג העברה זמין במאמר יצירת תוכנית העברה.
כדי ליצור סביבת עבודה חדשה להעברה של פלטפורמה עם ארטיפקטים בסביבת הפיתוח המשולבת (IDE), פועלים לפי השלבים הבאים:
בסייר Replatform Apps, לוחצים לחיצה ימנית על המקור שרוצים לבצע לו Replatform ואז לוחצים על Replatform.
בוחרים באפשרות הרצויה מתוך רשימת האפשרויות שמופיעה בתפריט.
בוחרים ספרייה חדשה של סביבת עבודה כדי להעביר את האפליקציה לפלטפורמה אחרת, לוחצים על אישור ואז על יצירת סביבת עבודה להעברה לפלטפורמה אחרת.
בוחרים את פרמטרי ההעברה לסוג ההעברה.
אופציונלי: אם בחרתם בסוג ההעברה WebSphere ואתם רוצים להשתמש בסורק בינארי, בוחרים את הקובץ
binaryAppScanner.jar.יצירת סביבת העבודה נמשכת כמה שניות. תיקיית סביבת העבודה החדשה תיפתח בחלון חדש של סביבת הפיתוח המשולבת.
העתקת קבצים מהמכונה הווירטואלית לסביבת העבודה
כדי להעתיק את הקבצים מהמכונה הווירטואלית לסביבת העבודה ב-IDE, מבצעים את השלבים הבאים:
אופציונלי: ממשק
mcdcCLI מחיל מסננים כדי להקטין את הגודל של העותק, אבל אפשר לשנות את קובץfilters.txtכדי להקטין עוד יותר את הגודל של העותק. במאמר הקטנת הגודל של מערכת הקבצים שהועתקה מוסבר איך להקטין את הגודל של העותק.מקישים על Ctrl+Shift+P כדי לפתוח את לוח הפקודות.
מחפשים את האפשרות משימות: הפעלת משימה ובוחרים אותה, ואז בוחרים באפשרות m2c: Copy. העתקת הקבצים עשויה להימשך כמה דקות.
ניתוח של מערכת הקבצים של מכונה וירטואלית ויצירת תוכנית העברה
כדי לנתח את מערכת הקבצים של מכונת ה-VM וליצור תוכנית העברה:
מקישים על Ctrl+Shift+P כדי לפתוח את לוח הפקודות.
מחפשים את האפשרות משימות: הפעלת משימה ובוחרים אותה, ואז בוחרים באפשרות m2c: ניתוח.
אם משימת הניתוח נכשלת, צריך לשנות את פרמטרים ההעברה באמצעות קובץ
analyze-args.ini. בכל שורה בקובץ מופיע פרמטר אחד, עם תיעוד נלווה לגבי הפרמטר.אם הניתוח מצליח, Cloud Code יוצר ספרייה בשם
migration-planשמכילה את תוצאות הניתוח בצורה של קובץmigration-plan.config.yamlאתם יכולים לערוך את הקובץ הזה כדי לשנות את אופן יצירת הארטיפקטים.המבנה של קובץ
config.yamlמשתנה בהתאם לסוג ההעברה. מידע נוסף על סוגי ההעברה הנתמכים מופיע בדפים הבאים:
יצירת פריטי מידע שנוצרו בתהליך פיתוח (Artifact
כדי ליצור ארטיפקטים, צריך להריץ את המשימה Generate בסביבת הפיתוח המשולבת. אם לא הפעלתם את המשימות Copy ו-Analyze בקטעים הקודמים, המשימה Generate תפעיל אותן באופן אוטומטי לפני יצירת הארטיפקטים.
כדי ליצור את הארטיפקטים:
מקישים על Ctrl+Shift+P כדי לפתוח את לוח הפקודות.
מחפשים את האפשרות משימות: הפעלת משימה ובוחרים אותה, ואז בוחרים באפשרות m2c: Generate (m2c: יצירה). הפעולה הזו יוצרת את הארטיפקטים בספרייה
src, שמכילה קובץskaffold.yamlשמשמש ליצירת גרסת build ולפריסה של קובץ אימג' של קונטיינר. כל סוג של העברה יוצר ארטיפקטים שונים, אבל בדרך כלל כל סוג של העברה יוצר קובץ 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 לצד השלב.
כדי לראות את הפרטים של שלב מסוים, לוחצים על השלב בחלונית סשן פיתוח. השלב מוצג בחלונית Output בפלט של הרישום ביומן.
הסרת המשאבים
אחרי שמפסיקים את האפליקציה, כל משאבי Kubernetes שנפרסו במהלך ההרצה נמחקים אוטומטית.
כדי להימנע מחיובים בחשבון על משאבים אחרים שבהם השתמשתם בתחילת העבודה המהירה הזו, הקפידו למחוק את הפרויקט או את האשכול שיצרתם אם אתם רוצים להשתמש שוב בפרויקט.
כדי למחוק את האשכול:
- לוחצים על
Cloud Code ומרחיבים את הסייר Kubernetes.
- מעבירים את מצביע העכבר מעל שם האשכול ולוחצים על open_in_new ואז על Open in Google Cloud console (פתיחה במסוף).
- לוחצים על מחיקה ואז על מחיקה.
כדי למחוק את הפרויקט (ואת המשאבים שמשויכים אליו, כולל אשכולות):
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
כדי למחוק את כל הקבצים המקומיים שנוצרו במהלך תהליך המעבר לפלטפורמה חדשה:
- פותחים את לוח הפקודות (Ctrl+Shift+P).
- מחפשים את האפשרות משימות: הפעלת משימה ובוחרים אותה, ואז בוחרים באפשרות m2c: Cleanup.