הערכה והעברה של Cloud Foundry

במאמר הזה מוסבר איך לבצע הערכה של Cloud Foundry (CF) Foundation קיים, ואיך להעביר את CF Foundation,‏ Organization,‏ Space או App אל Kf.

הערכת התאמה למיגרציה

כדי ליצור דוח עם הערכה של מוכנות CF Foundation למיגרציה, משתמשים בפקודה kf migrate scan-cf-cluster. אפשר לעצב את הדוח כגיליון אלקטרוני (מומלץ) או כקובץ טקסט.

דרישות מוקדמות

ביצוע הערכה

  1. מאמתים את שכבת הבסיס שאליה רוצים לטרגט.

    cf curl /v2/info
  2. מריצים את הפקודה כדי ליצור גיליון אלקטרוני שמכיל את דוח ההערכה.

    kf migrate scan-cf-cluster report.xlsx
  3. בודקים את ההערכה.

    אם אתם מתכננים לשתף את ההערכה, אתם יכולים להשחיר כל מידע שאתם לא רוצים לשתף.

העברה

כדי להעביר ישויות מ-CF:

  1. יוצרים תוכנית העברה שמתארת את המיגרציה.

  2. עריכת תוכנית ההעברה כדי להתאים אישית את ההעברה.

  3. מיישמים את תוכנית ההעברה כדי לבצע את ההעברה.

בחלקים הבאים נרחיב על השלבים האלה.

היקפי העברה

ההחלטה הראשונה שצריך לקבל כשמבצעים העברה היא לגבי היקף ההעברה. ההיקף קובע את ישות ה-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
    ...

יצירת תוכנית מיגרציה

  1. מוודאים שהתחברתם ל-CF Foundation באמצעות CF CLI.

  2. מבצעים את ההעברה בהתאם להיקף ההעברה הרצוי, כאשר:

    • MY_ORG מציין את שם הארגון.
    • MY_SPACE מציין את השם של המרחב.
    • MY_APP מציין את שם האפליקציה.
    1. יצירת תוכנית מיגרציה לכל CF Foundation.

      kf migrate plan > plan.yaml
    2. יצירת תוכנית מיגרציה לארגון.

      kf migrate plan --cf-org MY_ORG > plan.yaml
    3. יצירת תוכנית מיגרציה למרחב

      kf migrate plan --cf-org MY_ORG --cf-space MY_SPACE > plan.yaml
    4. יצירת תוכנית מיגרציה לאפליקציה.

      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:

  1. מוודאים שהגדרתם את .kubeconfig לטירגוט של אשכול Kf.

  2. מוודאים שיש לכם גישה לאשכול GKE שבו פועלת התקנה מלאה של Kf. כלומר, הפעלתם את הפקודה הבאה כדי להתחבר לאשכול:

    gcloud container clusters get-credentials CLUSTER_NAME \
       --project=CLUSTER_PROJECT_ID \
       --zone=CLUSTER_LOCATION
  3. מוודאים שאין שמות של מרחבים קיימים באשכול Kf שיתנגשו עם מרחב שמצוין בתוכנית ההעברה.

    שמות המרחבים הם מהצורה cf-org-cf-space. לדוגמה, אם שם הארגון הוא myorg ושם המרחב הוא myspace, אז מרחב Kf יהיה myorg-myspace.

  4. מחילים את תוכנית ההעברה.

    kf migrate apply -v --plan plan.yaml

    מומלץ להשתמש בדגל verbose ‏-v, אבל לא חובה. הדגל הזה גורם לפקודה להפיק את פקודות Kf שמשמשות לביצוע ההעברה.