שדרוג של Knative serving ב-Google Cloud ל-fleets

במדריך הזה מוסבר איך להעביר את ההתקנה הקיימת של Knative serving ב-Google Cloud לשימוש בצי עם Cloud Service Mesh.

הגרסה הקודמת של Knative serving, שנקראת גם GKE add-on, כוללת גרסה מובנית ומצומצמת של Istio 1.4, שכבר לא נתמכת החל מ-Anthos 1.8.

שדרוג ההתקנה של Knative serving לשימוש ב-fleets וב-Cloud Service Mesh מאפשר לשפר את שדרוג המוצר ואת עצמאות הניהול, וגם לשפר את האינטגרציה בין התכונות של GKE Enterprise. מידע נוסף על החידושים והשינויים

יש שתי דרכים להעביר את ההתקנה:

  • התהליך המומלץ הוא להעביר את עומסי העבודה מהאשכול שבו מותקנת הגרסה הקודמת של Knative serving (‏GKE add-on) לאשכול חדש שבו התקנתם וקבעתם התקנה חדשה של Knative serving. התהליך הזה פשוט יחסית ואידיאלי, אבל אם עומסי העבודה שלכם משרתים תנועה, המעבר לאשכול חדש שנוצר יגרום להשבתה. כדי לבצע את מסלול ההעברה הזה, באשכול החדש:

    1. התקנת Knative serving כרכיב בצי
    2. פורסים את השירותים בהתקנה החדשה.

      לדוגמה, אפשר להשתמש בהוראות לפריסת גרסה של שירות קיים כדי להוריד בנפרד קובץ תצורה YAML לכל אחד מהשירותים, ואז לפרוס כל קובץ תצורה YAML לאשכול החדש בהתקנת fleet של Knative serving:

      1. בגרסה הישנה של ההתקנה, אפשר להריץ את הפקודה הבאה כדי להוריד קובץ תצורה בפורמט YAML, כמו service.yaml:

        gcloud run services describe SERVICE --format export > service.yaml

        מחליפים את SERVICE בשם של שירות Knative serving.

      2. בהתקנה של רכיב חדש של Fleet, אפשר להריץ את הפקודה הבאה כדי לפרוס את אותו service.yaml:

        gcloud run deploy service.yaml --cluster CLUSTER_NAME --cluster-location CLUSTER_LOCATION --project PROJECT_ID

        מחליפים את:

        • ‫CLUSTER_NAME בשם של האשכול בהתקנה החדשה של רכיב Fleet של Knative serving.

        • ‫CLUSTER_LOCATION עם האזור של האשכול בהתקנה של רכיב הצי החדש של Knative serving.

        • ‫PROJECT_ID במזהה Google Cloud הפרויקט שבו נמצאת ההתקנה החדשה של רכיב הצי ב-Knative serving.

  • אפשרות חלופית: משתמשים שלא יכולים ליצור אשכול חדש וצריכים להעביר את ההתקנה הפעילה שלהם של Knative serving יכולים לפעול לפי השלבים במדריך הזה כדי:

    • מסירים את תוסף GKE הקודם ואת משאבי Istio.
    • התקנה של משאבים חדשים לצי הרכב.
    • מעבירים ל-Cloud Service Mesh ואז מעבירים את התנועה.
    • מוחקים את כל המשאבים המיושנים והלא בשימוש.

במדריך הבא מוסבר על תהליך חלופי לשדרוג ההתקנה הקיימת והפעילה של Knative serving, כולל כל עומסי העבודה, כדי לעמוד בדרישות של GKE Enterprise 1.8 ואילך.

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

  • תהליך השדרוג הזה צריך להתבצע רק באשכולות Google Kubernetes Engine שבהם הותקן בעבר Knative serving כתוסף GKE.

    בודקים אם התוסף GKE מותקן.

    כדי לבדוק אם ההתקנה של Knative serving היא תוסף GKE, מריצים את הפקודה הבאה:

    gcloud container clusters describe \
    CLUSTER_NAME \
    --region CLUSTER_LOCATION \
    --project PROJECT_ID --format='get(addonsConfig.cloudRunConfig)'

    מחליפים את:

    • CLUSTER_NAME בשם של האשכול.
    • ‫CLUSTER_LOCATION עם המיקום שבו האשכול נמצא.
    • ‫PROJECT_ID במזהה הפרויקט. Google Cloud

    תוצאות:

    • ‫GKE add-on לא מותקן:
      • אם התוסף אף פעם לא הותקן, לא מוחזר דבר למסוף.
      • ‫disabled=true מוחזר אם התוסף הוסר בעבר.
    • התוסף GKE מותקן: אם התוסף מותקן באשכול, פרטי ההגדרה של התוסף מוחזרים. דוגמה: loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
    דוגמה:
    בדוגמה הבאה אפשר לראות ש-Knative serving הותקן באשכול my-addon-cluster באמצעות GKE add-on, שמוגדר לטפל בתעבורה חיצונית:
    gcloud container clusters describe my-addon-cluster \
    --region us-central1-c --project my-gcp-project \
    --format='get(addonsConfig.cloudRunConfig)'

    תשובה:

    loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL

  • צריכות להיות לכם הרשאות מתאימות ב Google Cloud פרויקט כדי לעמוד בדרישות של האשכול, הצי ו-Cloud Service Mesh:

    • אם יש לכם את התפקיד בעלים בפרויקט Google Cloud , יש לכם יותר מההרשאות הנדרשות ליצירת אשכולות, להתקנה ואז להגדרה של Knative serving.

    • שימו לב שהדרישות להרשאות ב-Cloud Service Mesh עומדות גם בכל הדרישות להרשאות להתקנה ולהגדרה של Knative serving.

    • שימוש בתפקידים אחרים ובדרישות המינימום:

      בהתאם לארגון שלכם, אתם יכולים לעמוד בדרישות ההרשאה גם באמצעות שילוב של התפקידים המוגדרים מראש הבאים:

  • יש תמיכה רק בפלטפורמות ספציפיות.

שדרוג של Knative serving והעברת עומסי עבודה (workloads)

כדי לעזור לכם לשדרג את ההתקנה הקיימת של Knative serving ולהעביר את עומסי העבודה, אתם מריצים סקריפט שמבצע אוטומטית את רוב השלבים ומבקש מכם להזין נתונים לאורך התהליך.

  1. הכנה לשדרוג והגדרת הסביבה

  2. הסרת התוסף GKE

  3. מעבר ל-Cloud Service Mesh

  4. התקנת רכיב הצי

  5. העברת תנועת עומסי עבודה אל Cloud Service Mesh

  6. סיום השדרוג וביצוע משימות ניקוי