שדרוג Apigee Hybrid לגרסה 1.9

ההליך הזה מתייחס לשדרוג מ-Apigee Hybrid גרסה 1.8.x ל-Apigee Hybrid גרסה 1.9.4, ומגרסאות קודמות של Hybrid 1.9.x לגרסה 1.9.4.

אפשר להשתמש באותן פעולות לשדרוג גרסה משנית (לדוגמה, מגרסה 1.8 לגרסה 1.9) ולשדרוג גרסת תיקון (לדוגמה, מגרסה 1.9.0 לגרסה 1.9.4).

אם אתם משדרגים מגרסה 1.7 או מגרסה ישנה יותר של Apigee Hybrid, אתם צריכים לשדרג קודם לגרסה 1.8 ואז לגרסה 1.9.4. אפשר לעיין בהוראות בנושא שדרוג Apigee Hybrid לגרסה 1.8.

החל מגרסה 1.9.0, Apigee Hybrid תומך רק בשער כניסה של Apigee כשכבת הכניסה.

סקירה כללית של שדרוג לגרסה 1.9.4

ההליכים לשדרוג Apigee hybrid מאורגנים בקטעים הבאים:

  1. הכנות לשדרוג
  2. התקנת זמן ריצה היברידי גרסה 1.9.4.

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

  • ההנחיות לשדרוג מניחות שגרסה 1.8.x של Apigee Hybrid מותקנת אצלכם, ואתם רוצים לשדרג אותה לגרסה 1.9.4. אם אתם מעדכנים מגרסה קודמת, תוכלו לעיין בהוראות לשדרוג Apigee Hybrid לגרסה 1.8.
  • בגרסה 1.8 של Apigee Hybrid, השקנו את Apigee ingress gateway כשכבת Ingress חלופית ל-Anthos Service Mesh. החל מגרסה 1.9.0, ב-Apigee hybrid נדרש שימוש ב-Apigee ingress gateway, ואין יותר תמיכה בשימוש ב-Anthos Service Mesh ל-ingress. אם ההתקנה שמשדרגים ממנה משתמשת ב-Anthos Service Mesh, צריך קודם לעבור לשימוש בשער כניסה של Apigee לפני שמשדרגים לגרסה 1.9.4.

    שער הכניסה של Apigee משתמש בקבוצת משנה קטנה של תכונות Anthos Service Mesh לשער הכניסה. הניהול והשדרוג של התכונות האלה מתבצעים באופן אוטומטי על ידי Apigee hybrid. לכן, לא צריך מומחיות ב-Anthos Service Mesh כדי להתקין, לשדרג ולנהל את שער הכניסה של Apigee Hybrid.

    הוראות מפורטות מופיעות במאמר העברה אל שער כניסה של Apigee בתיעוד של Hybrid v1.8.

הכנה לשדרוג לגרסה 1.9

  1. בהוראות האלה נעשה שימוש במשתנה הסביבה APIGEECTL_HOME עבור הספרייה במערכת הקבצים שבה התקנתם את apigeectl. אם צריך, משנים את הספרייה לספרייה apigeectl ומגדירים את המשתנה באמצעות הפקודה הבאה:

    Linux

    export APIGEECTL_HOME=$PWD
    echo $APIGEECTL_HOME

    Mac OS

    export APIGEECTL_HOME=$PWD
    echo $APIGEECTL_HOME

    Windows

    set APIGEECTL_HOME=%CD%
    echo %APIGEECTL_HOME%
  2. יוצרים עותק גיבוי של ספריית $APIGEECTL_HOME/ בגרסה 1.8. לדוגמה:
    tar -czvf $APIGEECTL_HOME/../apigeectl-v1.8-backup.tar.gz $APIGEECTL_HOME
  3. מגבים את מסד הנתונים של Cassandra לפי ההוראות במאמר בנושא גיבוי ושחזור של Cassandra.

מוסיפים את התפקיד Cloud Trace Agent לחשבון השירות של זמן הריצה של Apigee. (אופציונלי)

אופציונלי: אם אתם מתכננים להשתמש ב-Cloud Trace ולא הוספתם עדיין את התפקיד Cloud Trace Agent להתקנה היברידית בגרסה 1.8, ודאו שלחשבון השירות שלכם בשירותי זמן הריצה של Apigee יש את תפקיד Google Cloud IAM‏ Cloud Trace Agent‏ (roles/cloudtrace.agent).

בסביבות ייצור, חשבון השירות של זמן הריצה הוא apigee-runtime. בסביבות שאינן סביבות ייצור, חשבון השירות בזמן הריצה הוא apigee-non-prod.

אפשר להוסיף את התפקיד בממשק המשתמש של מסוף Cloud > ‏IAM ואדמין > חשבונות שירות או באמצעות הפקודות הבאות:

  1. כדי לקבל את כתובת האימייל של חשבון השירות, מריצים את הפקודה הבאה:

    ייצור

    gcloud iam service-accounts list --filter "apigee-runtime"

    אם כתובת האימייל תואמת לדפוס apigee-runtime@$ORG_NAME.iam.gserviceaccount.com, אפשר להשתמש בדפוס הזה בשלב הבא.

    Non-Prod

    gcloud iam service-accounts list --filter "apigee-non-prod"

    אם הוא תואם לתבנית apigee-non-prod@$ORG_NAME.iam.gserviceaccount.com, אפשר להשתמש בתבנית הזו בשלב הבא.

  2. מקצים לחשבון השירות את התפקיד Cloud Trace Agent:

    ייצור

    gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member="serviceAccount:apigee-runtime@$PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/cloudtrace.agent"

    Non-Prod

    gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member="serviceAccount:apigee-non-prod@$PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/cloudtrace.agent"

    דוגמה

    gcloud projects add-iam-policy-binding hybrid-example-project \
        --member="serviceAccount:apigee-runtime@hybrid-example-project.iam.gserviceaccount.com" \
        --role="roles/cloudtrace.agent"

    כאשר: $PROJECT_ID הוא השם של פרויקט Google Cloud שבו מותקן Apigee Hybrid.

אם ההתקנה שלכם משתמשת ב-Anthos Service Mesh, צריך להתקין שער כניסה של Apigee

החל מגרסה 1.9, מערכת Apigee hybrid לא תומכת יותר בשימוש ב-Anthos Service Mesh לכניסה. אם ההתקנה ההיברידית שלכם משתמשת ב-Anthos Service Mesh, אתם צריכים להעביר את ההתקנה הנוכחית אל Apigee ingress gateway לפני שתתקינו את הגרסה ההיברידית 1.9.

  1. מוסיפים את מאפיין ingressGateways לקובץ ההחלפות.

    תחביר

      ingressGateways:
      - name: INGRESS_NAME
        replicaCountMin: REPLICAS_MIN
        replicaCountMax: REPLICAS_MAX
        resources:
          requests:
            cpu: CPU_COUNT_REQ
            memory: MEMORY_REQ
          limits:
            cpu: CPU_COUNT_LIMIT
            memory: MEMORY_LIMIT
        svcAnnotations:  # optional.
          SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE
        svcLoadBalancerIP: SVC_LOAD_BALANCER_IP # optional

    דוגמה

      ingressGateways:
      - name: prod1
        replicaCountMin: 2
        replicaCountMax: 100
        resources:
          requests:
            cpu: 1
            memory: 1Gi
          limits:
            cpu: 2
            memory: 2Gi
        svcAnnotations:  # optional. See Known issue 243599452.
          networking.gke.io/load-balancer-type: "Internal"
        svcLoadBalancerIP: 198.252.0.123 
    • ‫INGRESS_NAME הוא השם של פריסת ה-ingress. זה יכול להיות כל שם שעומד בדרישות הבאות:
      • האורך המקסימלי הוא 17 תווים
      • יכול להכיל רק תווים אלפאנומריים באותיות קטנות, '-' או '.'
      • מתחילים בתו אלפאנומרי
      • התו האחרון חייב להיות אלפאנומרי
      מידע נוסף על ingressGateways[].name זמין במאמר בנושא מאפייני הגדרות.
    • ‫REPLICAS_MIN ו-REPLICAS_MAX הם המספר המינימלי והמקסימלי של העותקים המשוכפלים של שער הכניסה של Apigee בהתקנה. מידע נוסף והגדרות ברירת מחדל זמינים במאמרים ingressGateways[].replicaCountMin וingressGateways[].replicaCountMax בהפניה למאפיין Configuration.
    • ‫CPU_COUNT_REQ ו-MEMORY_REQ הם בקשות למעבד ולזיכרון עבור כל רפליקה של שער הכניסה של Apigee בהתקנה.

      מידע נוסף והגדרות ברירת מחדל זמינים במאמרים ingressGateways[].resources.requests.cpu וingressGateways[].resources.requests.memory בהפניה למאפיין Configuration.

    • ‫CPU_COUNT_LIMIT ו-MEMORY_LIMIT הן המגבלות המקסימליות של המעבד והזיכרון לכל רפליקה של שער הכניסה של Apigee בהתקנה.

      מידע נוסף והגדרות ברירת מחדל זמינים במאמרים ingressGateways[].resources.limits.cpu וingressGateways[].resources.limits.memory בהפניה למאפיין Configuration.

    • SVC_ANNOTATIONS_KEY SVC_ANNOTATIONS_VALUE (אופציונלי):

      זהו צמד מפתח/ערך שמספק אנוטציות לשירות ברירת המחדל של ה-ingress. הפלטפורמה שלכם בענן משתמשת בהערות כדי לעזור לכם להגדיר את ההתקנה ההיברידית, למשל להגדיר את סוג מאזן העומסים כפנימי או חיצוני. לדוגמה:

      ingressGateways:
          svcAnnotations:
            networking.gke.io/load-balancer-type: "Internal"

      ההערות משתנות מפלטפורמה לפלטפורמה. במאמרי העזרה של הפלטפורמה מפורטות ההערות הנדרשות והמומלצות.

      מידע נוסף על ingressGateways[].svcAnnotations
    • ‫SVC_LOAD_BALANCER_IP (אופציונלי) מאפשר להקצות כתובת IP סטטית למאזן העומסים. בפלטפורמות שתומכות בהגדרת כתובת ה-IP של מאזן העומסים, מאזן העומסים ייווצר עם כתובת ה-IP הזו. בפלטפורמות שלא מאפשרות לציין את כתובת ה-IP של מאזן העומסים, המאפיין הזה מושבת.

      אם לא הקציתם כתובת IP סטטית למאזן העומסים, אל תכללו את המאפיין הזה בקובץ ההחלפות.

      מידע נוסף על ingressGateways[].svcLoadBalancerIP
  2. מחילים את השינויים כדי להתקין את שער הכניסה של Apigee באמצעות הפקודות הבאות:
    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
  3. חשיפת שער הכניסה של Apigee. פועלים לפי השלבים שמפורטים במאמר בנושא חשיפת שער כניסה של Apigee.
  4. כדי לבדוק את שער הכניסה החדש, מתקשרים לשרת proxy. מומלץ לבדוק את כל השרתים הפרוקסי החשובים שפרסתם כרגע.
  5. כדי להעביר את התנועה, צריך לעדכן את רשומות ה-DNS כך שיפנו לכתובת ה-IP של שער הכניסה החדש של Apigee. בהתאם לספק ה-DNS, יכול להיות שתוכלו להעביר את התנועה בהדרגה לנקודת הקצה החדשה. טיפ: אפשר למצוא את כתובת ה-IP החיצונית של שער הכניסה של Apigee באמצעות הפקודה הבאה:
    kubectl get svc -n apigee -l app=apigee-ingressgateway

    הפלט אמור להיראות כך:

    NAME                                        TYPE           CLUSTER-IP    EXTERNAL-IP     PORT(S)                                      AGE
    apigee-ingressgateway-prod-hybrid-37a39bd   LoadBalancer   192.0.2.123   233.252.0.123   15021:32049/TCP,80:31624/TCP,443:30723/TCP   16h
  6. כדי לוודא שכל התנועה בזמן הריצה פועלת, צריך לעקוב אחרי לוחות הבקרה. רק אם הכול פועל כצפוי, ממשיכים לשלב הבא. מוודאים שלא עוברת תנועה דרך שער הכניסה הישן (Anthos Service Mesh), כי יכול להיות שהעדכון של ה-DNS יתפשט לאט בגלל שמירת ה-DNS במטמון.
  7. כדי להפסיק את אספקת ההגדרות מ-Apigee ל-Anthos Service Mesh, פועלים לפי השלבים במאמר הפסקת אספקת ההגדרות ל-ASM במדריך בנושא ניהול שער הכניסה של Apigee.
  8. בודקים מחדש את תעבורת הנתונים של proxy ל-API ועוקבים אחריה.
  9. פועלים לפי ההוראות במאמרי העזרה של Anthos Service Mesh כדי להסיר את Anthos Service Mesh מהאשכול.

התקנה של סביבת זמן ריצה היברידית בגרסה 1.9.4

  1. חשוב לוודא שאתם נמצאים בספריית הבסיס ההיברידית (הספרייה הראשית שבה נמצא קובץ ההפעלה apigeectl):
    cd $APIGEECTL_HOME/..
  2. מורידים את חבילת הגרסה למערכת ההפעלה באמצעות הפקודה הבאה. חשוב לבחור את הפלטפורמה שלכם בטבלה הבאה:

    Linux

    ‫Linux 64 bit:

    curl -LO \
      https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.9.4/apigeectl_linux_64.tar.gz

    Mac OS

    ‫Mac 64 bit:

    curl -LO \
      https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.9.4/apigeectl_mac_64.tar.gz

    Windows

    Windows 64 bit:

    curl -LO ^
      https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.9.4/apigeectl_windows_64.zip
  3. משנים את השם של ספריית apigeectl/ הנוכחית לשם של ספריית גיבוי. לדוגמה:

    Linux

    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.8/

    Mac OS

    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.8/ 

    Windows

    rename %APIGEECTL_HOME% %APIGEECTL_HOME%-v1.8 
  4. מחלצים את התוכן של קובץ ה-gzip שהורדתם לספריית הבסיס ההיברידית. ספריית הבסיס ההיברידית היא הספרייה שבה נמצאת הספרייה apigeectl-v1.8 ששמה שונה:

    Linux

    tar xvzf filename.tar.gz -C ./

    Mac OS

    tar xvzf filename.tar.gz -C ./

    Windows

    tar xvzf filename.zip -C ./
  5. ברירת המחדל היא שהתוכן של קובץ ה-tar יורחב לספרייה עם הגרסה והפלטפורמה בשם שלה. לדוגמה: ./apigeectl_1.9.4-xxxxxxx_linux_64. משנים את השם של הספרייה ל-apigeectl באמצעות הפקודה הבאה:

    Linux

    mv apigeectl_1.9.4-xxxxxxx_linux_64 apigeectl

    Mac OS

    mv apigeectl_1.9.4-xxxxxxx_mac_64 apigeectl

    Windows

    rename apigeectl_1.9.4-xxxxxxx_windows_64 apigeectl
  6. עוברים לספרייה apigeectl:
    cd ./apigeectl

    הספרייה הזו היא ספריית הבית apigeectl. זה המקום שבו נמצאת הפקודה apigeectl להפעלה.

  7. בהוראות האלה נעשה שימוש במשתנה הסביבה $APIGEECTL_HOME עבור הספרייה במערכת הקבצים שבה מותקן כלי השירות apigeectl. אם צריך, משנים את הספרייה לספרייה apigeectl ומגדירים את המשתנה באמצעות הפקודה הבאה:

    Linux

    export APIGEECTL_HOME=$PWD
    echo $APIGEECTL_HOME

    Mac OS

    export APIGEECTL_HOME=$PWD
    echo $APIGEECTL_HOME

    Windows

    set APIGEECTL_HOME=%CD%
    echo %APIGEECTL_HOME%
  8. כדי לוודא את הגרסה של apigeectl, מריצים את הפקודה version:
    ./apigeectl version
    Version: 1.9.4
  9. עוברים לספרייה hybrid-base-directory/hybrid-files. בספרייה hybrid-files נמצאים קובצי תצורה כמו קובץ ההחלפות, האישורים וחשבונות השירות. לדוגמה:
    cd $APIGEECTL_HOME/../hybrid-files
  10. כדי לוודא שההקשר של kubectl מוגדר בצורה נכונה, משתמשים בפקודה הבאה. ההקשר הנוכחי צריך להיות מוגדר לאשכול שבו משדרגים את Apigee Hybrid.
    kubectl config get-contexts | grep \*
  11. בספרייה hybrid-files:
    1. מעדכנים את הקישורים הסמליים הבאים לכתובת $APIGEECTL_HOME. הקישורים האלה מאפשרים להריץ את הפקודה apigeectl שהותקנה לאחרונה מתוך הספרייה hybrid-files:
      ln -nfs $APIGEECTL_HOME/tools tools
      ln -nfs $APIGEECTL_HOME/config config
      ln -nfs $APIGEECTL_HOME/templates templates
      ln -nfs $APIGEECTL_HOME/plugins plugins
    2. כדי לוודא שהקישורים הסמליים נוצרו בצורה נכונה, מריצים את הפקודה הבאה ומוודאים שנתיבי הקישורים מצביעים על המיקומים הנכונים:
      ls -l | grep ^l
  12. מבצעים אתחול של הרצה יבשה כדי לבדוק אם יש שגיאות:
    ${APIGEECTL_HOME}/apigeectl init -f OVERRIDES_FILE --dry-run=client

    כאשר OVERRIDES_FILE הוא שם קובץ ההגדרות שלכם, למשל ./overrides/overrides.yaml.

  13. אם אין שגיאות, מפעילים את hybrid 1.9.4:
    $APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
  14. בודקים את סטטוס האתחול:
    $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

    אם הפעולה בוצעה ללא שגיאות, הפלט ייראה כך: All containers ready.

    kubectl describe apigeeds -n apigee

    בפלט, מחפשים את State: running.

  15. כדי לבדוק אם יש שגיאות, מריצים הרצה יבשה של הפקודה apply באמצעות הדגל --dry-run:
    $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --dry-run=client
  16. אם אין שגיאות, מחילים את שינויי ברירת המחדל. בוחרים את ההוראות לסביבות ייצור או לסביבות שאינן סביבות ייצור, בהתאם להתקנה.

    ייצור

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

    1. חשוב לוודא שאתם נמצאים בספרייה hybrid-files.
    2. מחילים את השינויים כדי לשדרג את Cassandra:
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --datastore
    3. השלמת הבדיקה:
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

      ממשיכים לשלב הבא רק כשהפודים מוכנים.

    4. מחילים את ההחלפות כדי לשדרג את רכיבי הטלמטריה ובודקים שהשדרוג הושלם:
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --telemetry
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
    5. מפעילים את רכיבי Redis:
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --redis
    6. מחילים את השינויים כדי לשדרג את הרכיבים ברמת הארגון (MART, ‏ Watcher ו-Apigee Connect) ובודקים שהשדרוג הושלם:
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --org
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
    7. כדי לשדרג את הסביבות, צריך להחיל את הגדרות הביטול. יש שתי אפשרויות:
      • סביבה אחרי סביבה: מחילים את השינויים על סביבה אחת בכל פעם ובודקים שהפעולה הושלמה. חוזרים על השלב הזה לכל סביבה:
        $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --env ENV_NAME
        $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

        כאשר ENV_NAME הוא שם הסביבה שמשדרגים.

      • כל הסביבות בבת אחת: כדי להחיל את שינויי ברירת המחדל על כל הסביבות בבת אחת ולבדוק שהפעולה הושלמה:
        $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --all-envs
        $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
    8. מחילים את ההחלפות כדי לשדרג את הרכיבים של virtualhosts ובודקים שהשדרוג הושלם:
      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --settings virtualhosts
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

    Non-prod

    ברוב הסביבות שאינן סביבות ייצור, הדגמה או ניסוי, אפשר להחיל את שינויי ברירת המחדל על כל הרכיבים בבת אחת. אם הסביבה שלכם שהיא לא סביבת ייצור גדולה ומורכבת או שהיא דומה מאוד לסביבת ייצור, כדאי לפעול לפי ההוראות לשדרוג סביבות ייצור.

    1. חשוב לוודא שאתם נמצאים בספרייה hybrid-files.
    2. $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE
    3. בודקים את הסטטוס:
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE

התקנת 1.9.4-hotfix.1

כדי להתקין את גרסת התיקון המהיר, 1.9.4-hotfix.1, פועלים לפי השלבים הבאים:

  1. לפני שמבצעים את השלבים האלה, צריך לוודא שאתם משתמשים ב-Apigee hybrid בגרסה 1.9.4 או בגרסה מאוחרת יותר. אם אתם לא משתמשים בגרסה 1.9.4 או בגרסה מתקדמת יותר, אתם צריכים לשדרג לגרסה 1.9.4 לפני שתמשיכו.
  2. פותחים את קובץ overrides.yaml.
  3. בפסקה istiod, משנים את הגרסה של תג התמונה (אם הוא קיים) לגרסה 1.17.7. לדוגמה:
    istiod:
      image:
        url: "gcr.io/apigee-release/hybrid/apigee-asm-istiod"
        tag: "1.17.7-asm.0-distroless"
  4. בהתאם לאופן ההתקנה של Apigee hybrid, יכול להיות שיהיה לכם קטע ingressGateway או ingressGateways. מאתרים את הבית שמופיע בקובץ הביטולים ומשנים את הגרסה של תג התמונה (אם הוא קיים) לגרסה 1.17.7. לדוגמה, אם יש לכם פסקה [ingressGateway]:
    ingressGateway:
      image:
        url: "gcr.io/apigee-release/hybrid/apigee-asm-ingress"
        tag: "1.17.7-asm.0-distroless"

    או, אם יש לכם קטע ingressGateways:

    ingressGateways:
      - name: gateway1
        image:
          url: "gcr.io/apigee-release/hybrid/apigee-asm-ingress"
          tag: "1.17.7-asm.0-distroless"
        ...
      - name: gateway2
        image:
          url: "gcr.io/apigee-release/hybrid/apigee-asm-ingress"
          tag: "1.17.7-asm.0-distroless"
        ...
      
  5. שומרים את הקובץ.
  6. מריצים את הפקודה הבאה כדי לאתחל את הרכיב istiod:
    $APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
    $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
  7. מריצים את הפקודה הבאה כדי להחיל שינויים על רכיבי ה-ingress של Apigee. אם יש לכם יותר מארגון אחד, צריך לחזור על הפקודה הזו לכל אחד מהם:
    $APIGEECTL_HOME/apigeectl apply --org -f OVERRIDES_FILE
    $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
  8. מאמתים את הסטטוס של הפודים:
    kubectl get pods -n YOUR_APIGEE_NAMESPACE

שדרוג גרסת Kubernetes

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

החזרה למצב הקודם של שדרוג

כדי לחזור לשדרוג קודם:

  1. מנקים את המשימות שהושלמו במרחב השמות של זמן הריצה ההיברידי, כאשר NAMESPACE הוא מרחב השמות שצוין בקובץ ההחלפות, אם ציינתם מרחב שמות. אם לא, מרחב השמות שמוגדר כברירת מחדל הוא apigee:
    kubectl delete job -n NAMESPACE \
      $(kubectl get job -n NAMESPACE \
      -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
  2. ניקוי משימות שהושלמו במרחב השמות apigee-system:
    kubectl delete job -n apigee-system \
      $(kubectl get job -n apigee-system \
      -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
  3. משנים את המשתנה APIGEECTL_HOME כך שיצביע על הספרייה שמכילה את הגרסה הקודמת של apigeectl. לדוגמה:
    export APIGEECTL_HOME=PATH_TO_PREVIOUS_APIGEECTL_DIRECTORY
  4. בספריית הבסיס של ההתקנה שרוצים לחזור אליה, מריצים את הפקודה apigeectl apply, בודקים את הסטטוס של ה-pods ואז מריצים את הפקודה apigeectl init. חשוב להשתמש בקובץ המקורי של שינויי ברירת המחדל עבור הגרסה שאליה רוצים לחזור:
    1. בספרייה hybrid-files, מריצים את apigeectl apply:
      $APIGEECTL_HOME/apigeectl apply -f ORIGINAL_OVERRIDES_FILE

      ‫ORIGINAL_OVERRIDES_FILE הוא הנתיב היחסי ושם הקובץ של קובץ ההחלפות להתקנה ההיברידית של הגרסה הקודמת, לדוגמה, ./overrides/overrides1.8.yaml.

    2. בודקים את הסטטוס של התרמילים:
      kubectl -n NAMESPACE get pods

      כאשר NAMESPACE הוא מרחב השמות של Apigee Hybrid.

    3. בודקים את הסטטוס של apigeeds:
      kubectl describe apigeeds -n apigee

      הפלט אמור להיראות כך:

      Status:
        Cassandra Data Replication:
        Cassandra Pod Ips:
          10.8.2.204
        Cassandra Ready Replicas:  1
        Components:
          Cassandra:
            Last Successfully Released Version:
              Revision:  v1-f8aa9a82b9f69613
              Version:   v1
            Replicas:
              Available:  1
              Ready:      1
              Total:      1
              Updated:    1
            State:        running
        Scaling:
          In Progress:         false
          Operation:
          Requested Replicas:  0
        State:                 running

      ממשיכים לשלב הבא רק אם ה-pod‏ apigeeds פועל.

    4. מריצים את הפקודה הבאה כדי לרשום את הערכים החדשים של מספר העותקים של מעבד ההודעות אחרי השדרוג. אם הערכים האלה לא תואמים לערכים שהגדרתם בעבר, צריך לשנות את הערכים בקובץ הביטולים כך שיתאימו להגדרה הקודמת.
      apigeectl apply -f ORIGINAL_OVERRIDES_FILE --dry-run=client --print-yaml --env ENV_NAME 2>/dev/null |grep "runtime:" -A 25 -B 1| grep "autoScaler" -A 2

      הפלט אמור להיראות כך:

            autoScaler:
              minReplicas: 2
              maxReplicas: 10
    5. מריצים את apigeectl init:
      $APIGEECTL_HOME/apigeectl init -f ORIGINAL_OVERRIDES_FILE