במאמר הזה מוסבר איך לבצע הערכה של Cloud Foundry (CF) Foundation קיים, ואיך להעביר את CF Foundation, Organization, Space או App אל Kf.
הערכת התאמה למיגרציה
כדי ליצור דוח עם הערכה של מוכנות CF Foundation למיגרציה, משתמשים בפקודה kf migrate scan-cf-cluster.
אפשר לעצב את הדוח כגיליון אלקטרוני (מומלץ) או כקובץ טקסט.
דרישות מוקדמות
- ה-CLI של Kf. הוראות ההתקנה מופיעות במאמר התקנת Kf CLI.
- CLI של
cfמותקן כ-cf. - ה-CLI של
cfחייב להיות בנתיב. - צריך לאמת את ה-CLI
cfבאמצעות הרשאות אדמין לקריאה בלבד או הרשאות גבוהות יותר ב-CF Foundation.
ביצוע הערכה
מאמתים את שכבת הבסיס שאליה רוצים לטרגט.
cf curl /v2/info
מריצים את הפקודה כדי ליצור גיליון אלקטרוני שמכיל את דוח ההערכה.
kf migrate scan-cf-cluster report.xlsx
בודקים את ההערכה.
אם אתם מתכננים לשתף את ההערכה, אתם יכולים להשחיר כל מידע שאתם לא רוצים לשתף.
העברה
כדי להעביר ישויות מ-CF:
יוצרים תוכנית העברה שמתארת את המיגרציה.
עריכת תוכנית ההעברה כדי להתאים אישית את ההעברה.
מיישמים את תוכנית ההעברה כדי לבצע את ההעברה.
בחלקים הבאים נרחיב על השלבים האלה.
היקפי העברה
ההחלטה הראשונה שצריך לקבל כשמבצעים העברה היא לגבי היקף ההעברה. ההיקף קובע את ישות ה-CF שרוצים להעביר ואת ההרשאות שצריך כדי לבצע את ההעברה:
קרן או ארגון שלמים: צריכות להיות לכם הרשאות אדמין לקריאה בלבד או הרשאות גבוהות יותר בקרן CF.
מרחב יחיד או אפליקציה: צריכות להיות לכם הרשאות פיתוח במרחב או הרשאות גבוהות יותר.
דרישות מוקדמות
כדי לבצע העברה, צריך:
- כדי ליצור את תוכנית ההעברה: Kf CLI. הוראות ההתקנה מופיעות במאמר התקנת Kf CLI.
- כדי להחיל את תוכנית ההעברה: אשכול GKE שמופעל בו Kf. הוראות ההתקנה מופיעות במאמר התקנת Kf.
- גישה לאשכול עם התקנה של Cloud Foundry.
- CF CLI שמוגדר ל-CF Foundation.
- הרשאות ב-CF Foundation שנדרשות להיקף ההעברה הרצוי, כמו שמופיע למעלה.
יצירת תוכנית מיגרציה
משתמשים בפקודה kf migrate plan כדי ליצור את תוכנית ההעברה.
כברירת מחדל, הפקודה כותבת את תוכנית המיגרציה לפלט סטנדרטי. בדרך כלל, מפנים את הפלט לקובץ yaml כדי שאפשר יהיה להתאים אישית את התוכנית לפני שמחילים אותה. לדוגמה, הפקודה הבאה כותבת את הפלט לפלט הסטנדרטי:
kf migrate plan
מפנים את הפלט לקובץ YAML:
kf migrate plan > plan.yaml
כשמריצים את הפקודה kf migrate plan, אמור להופיע פלט בחלון הפקודה, כמו בדוגמה שלמטה, עם רשימה של השלבים שהפקודה ביצעה וכל אזהרה או בעיה בהעברה:
kf migrate plan > plan.yaml
Checking CF CLI is available
Checking CF CLI is authenticated
...
WARNING: plan has issues
Issues with domain "apps.internal" in space "kf-team-acceptance":
E04 - internal domains are not supported
Issues with application "spring-music" in space "kf-team-app":
E14 - app manifest must have a single process
Issues with service instance "logspinner-1" in space "kf-team-app":
E10 - syslog drain configuration is not supported
...כדי ליצור תוכנית העברה:
מוודאים שהתחברתם ל-CF Foundation באמצעות CF CLI.
מבצעים את ההעברה בהתאם להיקף ההעברה הרצוי, כאשר:
- MY_ORG מציין את שם הארגון.
- MY_SPACE מציין את השם של המרחב.
- MY_APP מציין את שם האפליקציה.
יצירת תוכנית מיגרציה לכל CF Foundation.
kf migrate plan > plan.yaml
יצירת תוכנית מיגרציה לארגון.
kf migrate plan --cf-org MY_ORG > plan.yaml
יצירת תוכנית מיגרציה למרחב
kf migrate plan --cf-org MY_ORG --cf-space MY_SPACE > plan.yaml
יצירת תוכנית מיגרציה לאפליקציה.
kf migrate plan --cf-org MY_ORG --cf-space MY_SPACE --cf-app MY_APP > plan.yaml
אם השגיאה הבאה מופיעה אחרי הרצת אחת מהפקודות האלה:
You are not authorized to perform the requested action CF-NotAuthorized 10003
אין לכם את ההרשאות שנדרשות כדי לקרוא את נקודות הקצה של CAPI.
עריכת תוכנית ההעברה
בודקים את תוכנית המיגרציה שנוצרה, ואם יש שגיאות, מתקנים אותן.
החלת תוכנית המיגרציה
משתמשים בפקודה kf migrate apply כדי להחיל את תוכנית ההעברה ולהעביר את ישות ה-CF.
כדי להחיל העברה:
מוודאים שהגדרתם את
.kubeconfigלטירגוט של אשכול Kf.מוודאים שיש לכם גישה לאשכול GKE שבו פועלת התקנה מלאה של Kf. כלומר, הפעלתם את הפקודה הבאה כדי להתחבר לאשכול:
gcloud container clusters get-credentials CLUSTER_NAME \ --project=CLUSTER_PROJECT_ID \ --zone=CLUSTER_LOCATION
מוודאים שאין שמות של מרחבים קיימים באשכול Kf שיתנגשו עם מרחב שמצוין בתוכנית ההעברה.
שמות המרחבים הם מהצורה cf-org-cf-space. לדוגמה, אם שם הארגון הוא
myorgושם המרחב הואmyspace, אז מרחב Kf יהיהmyorg-myspace.מחילים את תוכנית ההעברה.
kf migrate apply -v --plan plan.yaml
מומלץ להשתמש בדגל verbose
-v, אבל לא חובה. הדגל הזה גורם לפקודה להפיק את פקודות Kf שמשמשות לביצוע ההעברה.