החזרת Apigee Edge 4.52.00 לגרסה קודמת

אם תיתקלו בשגיאה במהלך עדכון ל-Edge 4.52.00, תוכלו להחזיר את הרכיב שגרם לשגיאה, ולאחר מכן לנסות לבצע שוב את העדכון.

אפשר לחזור לגרסה הקודמת של Edge 4.52.00 לגרסאות הבאות של גרסת התכונה:

  • גרסה 4.51.00

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

  1. חזרה לגרסת תכונה קודמת. לדוגמה מ- 4.52.00 עד 4.51.00.
  2. חזרה לגרסת עדכון קודמת של אותה גרסה. לדוגמה, מ-4.52.00.02 עד 4.52.00.01.

אפשר לקרוא מידע נוסף בגרסת Apigee Edge התהליך.

מי יכול לבצע החזרה למצב קודם

המשתמש שביצע החזרה למצב קודם צריך להיות זהה למשתמש שעדכן במקור את Edge, משתמש שפועל ברמה הבסיסית (root).

כברירת מחדל, רכיבי Edge פועלים בתור המשתמש 'apigee'. במקרים מסוימים, ייתכן שהרצתם את דפדפן Edge. רכיבים שונים כמשתמשים שונים. לדוגמה, אם לנתב יש גישה ליציאות בעלות הרשאות, כמו אלה מתחת ל-1000, אז צריך להריץ את הנתב ברמה הבסיסית (root) או כמשתמש עם גישה יציאות. לחלופין, תוכלו להריץ רכיב אחד כמשתמש אחד ורכיב אחר כמשתמש אחר.

רכיבים עם קוד משותף

לרכיבי Edge הבאים יש קוד משותף. לכן, כדי להחזיר כל אחד את הרכיבים האלה בצומת, צריך להחזיר למצב קודם את כל הרכיבים שנמצאים בצומת הזה.

  • edge-management-server (שרת ניהול)
  • edge-message-processor (מעבד הודעות)
  • edge-router (נתב)
  • edge-postgres-server (שרת Postgres)
  • edge-qpid-server (שרת Qpid)

לדוגמה, אם שרת הניהול, הנתב ומעבד ההודעות מותקנים את הצומת, כדי להחזיר אחד מהם למצב קודם, צריך להחזיר את כל השלושה.

חזרה לגרסת תכונה קודמת

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

  1. מורידים את הקובץ bootstrap.sh של הגרסה שאליה רוצים להעביר את המכשיר. חזרה:

    • כדי לחזור לגרסה 4.51.00, צריך להוריד את bootstrap_4.51.00.sh:
      curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh 
  2. עוצרים את הרכיב כדי לחזור למצב קודם:
    1. כדי להחזיר גרסה קודמת של אחד מהרכיבים עם קוד משותף צריך לעצור את כולם, כפי שאפשר לראות בדוגמה הבאה:
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
      /opt/apigee/apigee-service/bin/apigee-service edge-router stop
      /opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    2. כדי להחזיר רכיב אחר בצומת, צריך לעצור רק את הרכיב הזה:
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. אם ברצונך להחזיר את המונטיזציה למצב הקודם, צריך להסיר אותה מכל שרתי הניהול וההודעות צמתים של מעבד (CPU):
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. מסירים את הרכיב כדי לחזור למצב קודם בצומת:
    1. כדי להחזיר גרסה קודמת של אחד מהרכיבים עם קוד משותף עליך להסיר את כולם על ידי הסרת הרכיב edge-gateway קבוצה מסוימת, כפי שאפשר לראות בדוגמה הבאה:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    2. כדי להחזיר רכיב אחר לצומת, מסירים את הרכיב הזה בלבד, אפשר לראות את הדוגמה הבאה:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      כאשר component הוא שם הרכיב.

    3. כדי להחזיר את נתב Edge למצב הקודם, עליך למחוק את התוכן של קובץ /opt/nginx/conf.d בנוסף להסרת ההתקנה של קבוצת רכיבים edge-gateway:
      cd /opt/nginx/conf.d
      rm -rf *
  5. מסירים את גרסה 4.52.00 של apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. התקנת גרסה 4.51.00 של apigee-service ועל יחסי התלות שלה. בדוגמה הבאה מתקינה את גרסה 4.51.00 של apigee-service:
    sudo bash /tmp/bootstrap_4.51.00.sh apigeeuser=uName apigeepassword=pWord

    כאשר uName ו-pWord הם שם המשתמש והסיסמה שקיבלתם מ-Apigee. אם תשמיטו את pWord, תתבקשו להזין אותו.

    אם מופיעה הודעת שגיאה, חשוב לוודא שהורדתם את הקובץ bootstrap.sh בשלב הזה 1.

  7. התקנת apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  8. מתקינים את הגרסה הישנה יותר של הרכיב:
    /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

    כאשר component הוא הרכיב להתקנה ו-configFile הוא הרכיב את קובץ התצורה של הגרסה הישנה יותר.

  9. אם מבצעים החזרה של Qpid לגרסה קודמת, יש לעדכן את מכשירי ה-IPtable:
    sudo iptables -F
  10. חוזרים על התהליך הזה לכל צומת שמארח את הרכיב שחוזרים לגרסה הקודמת.

חזרה לגרסת עדכון קודמת

כדי להחזיר רכיב לגרסה קודמת של גרסה מסוימת, צריך לבצע את הפעולות הבאות בכל צומת שמארח את הרכיב:

  1. הורדת הגרסה הספציפית של הרכיב:
    /opt/apigee/apigee-service/bin/apigee-service component_version install

    כאשר component_version הוא הרכיב וגרסת העדכון שצריך להתקין. עבור דוגמה:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.51.05-0.0.3749 install

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

    yum --showduplicates list comp

    לדוגמה:

    yum --showduplicates list edge-ui
  2. כדי להתקין את הרכיב, צריך להשתמש ב-apigee-setup:
    /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

    לדוגמה:

    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile

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

  3. חוזרים על התהליך הזה לכל צומת שמארח את הרכיב שחוזרים לגרסה הקודמת.

החזרה לגרסה 10.17 של Postgres

אם שדרגתם ל-4.52.00 מגרסה 4.50.00 או 4.51.00, תצטרכו להחזיר את מתבצע עדכון Postgres בנוסף לרכיבי Edge.

כדי להחזיר את עדכון Postgres למצב קודם כשמעדכנים את Postgres בתצורה של המתנה הראשית:

  • קידום הצומת החדש של מצב המתנה כדי להפוך למאסטר של Postgres. המאסטר החדש של Postgres יהיה לאותה גרסה של התקנת Edge הקודמת.
  • הגדרת הצומת הישן של מצב המתנה כצומת במצב המתנה של המאסטר החדש. הצומת הישן של מצב המתנה תהיה אותה גרסה של התקנת Edge הקודמת.
  • רישום הצומת החדש של המאסטר וצומת מצב המתנה בקבוצת ניתוח הנתונים ובקבוצות הצרכן.

בסיום החזרה למצב קודם, הצומת הראשי הקודם לא יהיה נחוץ יותר. אפשר ואז מוציאים את הצומת הראשי הישן.

  1. צריך לוודא שהצומת החדש של Postgres במצב המתנה פועל:
    /opt/apigee/apigee-service/bin/apigee-all status

    אם Postgres לא פועל, מפעילים אותו:

    /opt/apigee/apigee-service/bin/apigee-all start
  2. מוודאים ש-Postgres נעצר בצומת הראשי הישן ובצומת ההמתנה הישן:
    /opt/apigee/apigee-service/bin/apigee-all status

    אם אפליקציית Postgres פועלת, מפסיקים אותה:

    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop

  3. אם האפליקציה מותקנת, מפעילים את Qpid בצומת הישן של מצב ההמתנה:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  4. קידום הצומת החדש של מצב המתנה כמאסטר של Postgres:
    1. הגדרת הצומת החדש של מצב המתנה לתפקיד הראשי החדש:
      apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

      אם מתבקשים, מזינים את סיסמת Postgres עבור 'apigee' משתמש, שברירת המחדל שלו היא "postgres".

    2. כדי לציין, עורכים את קובץ התצורה שבו השתמשתם כדי להתקין את הגרסה הנוכחית של Edge. הבאים:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    3. הגדרת המאסטר החדש:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. אם כבר שדרגת את הצומת הישן למצב המתנה לגרסה החדשה יותר, קודם עליך לשדרג לאחור את תוכנת Apigee בצומת הישן של מצב ההמתנה. אם עדיין יש לכם את הגרסה הישנה של מצב המתנה, אפשר לדלג על השלב הזה ולהמשיך לשלב 6.
    1. עצירת הודעות אימייל שחוזרות על עצמן בצומת ההמתנה הישן:
      apigee-service apigee-postgresql stop
      apigee-service edge-postgres-server stop
    2. מסירים את Postgres מצומת ההמתנה הישן:
      apigee-service apigee-postgresql uninstall
      apigee-service edge-postgres-server uninstall
    3. מוחקים את ספריית הנתונים של Postgres מצומת ההמתנה הישן:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    4. מורידים ומפעילים את הגרסה הישנה bootrap (בגרסת Apigee שאתם מעבירים) חזרה אל) בצומת הישן של מצב המתנה. השלבים המדויקים עשויים להשתנות בהתאם לשימוש, התקנה מבוססת אינטרנט או אופליין. הרצת הגרסה הישנה יותר של Apigee bootrap להגדיר את מאגרי yum עם נתוני Apigee בגרסה הישנה יותר.
    5. מגדירים רכיבי Postgres בצומת ההמתנה הישן:
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
    6. בדיקה ואימות של רכיבי Postgres בצומת ההמתנה הישן הוחזרו לגרסה הישנה יותר:
      apigee-service apigee-postgresql version
      apigee-service edge-postgres-server version
  6. בנייה מחדש של הצומת הישן של מצב ההמתנה:
    1. כדי לציין, עורכים את קובץ התצורה שבו השתמשתם כדי להתקין את הגרסה הנוכחית של Edge. הבאים:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    2. הסרה של ספריית הנתונים בצומת הישן של מצב ההמתנה:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    3. מגדירים מחדש את הצומת הישן במצב המתנה כצומת במצב המתנה של המאסטר החדש:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. צריך לוודא ש-Postgres פועל בצומת ההמתנה הישן:
      /opt/apigee/apigee-service/bin/apigee-all status

      אם Postgres לא פועל, מפעילים אותו:

      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  7. כדי לוודא שהצומת החדש במצב המתנה נוסף, מציגים את קובץ /opt/apigee/apigee-postgresql/conf/pg_hba.conf במאסטר החדש.
  8. להציג את ניתוח הנתונים הנוכחי ואת המידע על קבוצת הצרכנים על ידי הרצת הפקודה הבאה בשרת הניהול:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    הפקודה הזו מחזירה את השם של קבוצת ניתוח הנתונים בשדה name. השם של קבוצת הצרכנים בשדה name בקטע consumer-groups. כמו כן מחזירה את מזהי ה-UUID של המאסטר הקודם של Postgres וצמתים במצב המתנה ב- בשדה postgres-server ובשדה datastores. אתם אמורים לראות הפלט יהיה בפורמט:

    {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "VALIDATE~test", "sgilson~prod" ],
      "uuids" : {
        "qpid-server" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
        "postgres-server" : [
          "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256"
        ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
        "datastores" :
          [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ],
          "properties" : {     }
        }
      ],
      "data-processors" : {
      }
    }

  9. כדי לקבל את כתובת ה-UUID של המאסטר הישן, מריצים את הפקודה הבאה של curl על הצומת הראשי הישן:
    curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

    ה-UUID של הצומת אמור להופיע בסוף הפלט, בפורמט הבא:

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
  10. חוזרים על השלב הקודם כדי לקבל את כתובות ה-IP של הצומת הישן בהמתנה ושל הצומת החדש במאסטר.
  11. הסרת צמתים ראשיים ומצב המתנה ישנים מקבוצת הצרכנים:
    curl -u sysAdminEmail:password -X DELETE \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores/masterUUID,standbyUUID" -v

    כאשר axgroup-001 ו-consumer-group-001 הם שמות ברירת המחדל של Analytics וקבוצות צרכנים. masterUUID,standbyUUID מופיעים באותו סדר כמו הופיעה למעלה כשהצגת את ניתוח הנתונים הנוכחי ואת המידע על קבוצות הצרכנים שלמעלה. שלך יכול להיות שיהיה צורך לציין אותם כ-standbyUUID,masterUUID.

    עכשיו הנכס datastores של consumer-groups אמור להיות ריק.

  12. הסרת הצומת הראשי וצומת מצב המתנה מקבוצת ניתוח הנתונים:
    curl -u sysAdminEmail:password -X DELETE \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v

    המאפיין postgres-server תחת uuids אמור להיות ריק עכשיו.

  13. רישום צמתים חדשים של מאסטרינג וצמתים חדשים של PG בקבוצה של ניתוח הנתונים ובקבוצות הצרכן:
    curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v
    curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores?uuid=masterUUID,standbyUUID" -v
  14. מאמתים את קבוצת ניתוח הנתונים:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    מזהי UUID של הצומת הראשי וצומת מצב המתנה אמורים להופיע בקבוצת ניתוח הנתונים וקבוצת הצרכנים.

  15. מפעילים מחדש את שרת ניהול הקצה:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  16. הפעלה מחדש של כל שרתי ה-Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  17. מפעילים מחדש את כל שרתי Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  18. מוודאים את סטטוס הרפליקציה על ידי הנפקת הסקריפטים הבאים בשני השרתים. המערכת אמור להציג תוצאות זהות בשני השרתים כדי להבטיח רפליקציה מוצלחת:

    במאסטר החדש, מריצים את:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    מוודאים שזהו המאסטר. בצומת הישן של מצב המתנה:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    מוודאים שהוא נמצא במצב המתנה.

  19. חוזרים על השלב הקודם אחרי ששולחים כמה בקשות API כדי לוודא שהצמתים נמצאים סונכרן.
  20. מוציאים את המאסטר הקודם של Postgres באמצעות ההליך שבמסגרתו פירוק של צומת Postgres.

    לחלופין, אפשר להסיר את ההתקנה של Qpid מהמאסטר הישן התקנת Qpid בצומת הראשי החדש. אחרי הסרת Qpid, אפשר להוציא משימוש מצומת ראשי ישן.

החזרת mTLS למצב קודם

כדי להחזיר את העדכון של mTLS לגרסה קודמת, צריך לבצע את השלבים הבאים בכל המארחים:

  1. הפסקת Apigee:
    apigee-all stop
  2. הפסקת mTLS:
    apigee-service apigee-mtls uninstall
  3. מתקינים מחדש את mTLS:
    apigee-service apigee-mtls install
    apigee-service apigee-mtls setup -f /opt/silent.conf