אם נתקלת בשגיאה במהלך עדכון ל-Edge 4.52.01, תוכל להחזיר למצב קודם את הרכיב שגרם לשגיאה ולאחר מכן לנסות לבצע את העדכון שוב.
אפשר להחזיר את Edge 4.52.01 לגרסאות העיקריות הבאות:
- גרסה 4.52.00
- גרסה 4.51.00
יש שני תרחישים שבהם כדאי לבצע החזרה למצב קודם:
- חזרה לגרסה ראשית או לגרסה משנית קודמת. לדוגמה, מ-4.52.01 עד 4.52.00.
- חזרה לגרסת תיקון קודמת באותה גרסה. לדוגמה, מ-4.52.00.02 עד 4.52.00.01.
למידע נוסף, קראו את תהליך ההפצה של Apigee Edge.
מי יכול לבצע החזרה למצב קודם
המשתמש שמבצע החזרה למצב קודם צריך להיות זהה למשתמש שעדכן במקור את Edge, או משתמש שפועל ברמה הבסיסית (root).
כברירת מחדל, רכיבי Edge פועלים בתור ה-apigee של המשתמש. במקרים מסוימים, יכול להיות שמפעילים רכיבי Edge כמשתמשים שונים. לדוגמה, אם לנתב יש גישה ליציאות עם הרשאות, כמו יציאות מתחת ל-1,000, צריך להפעיל את הנתב בתור בסיס או כמשתמש עם גישה ליציאות האלה. לחלופין, אפשר להפעיל רכיב אחד כמשתמש אחד ורכיב אחר כמשתמש אחר.
רכיבים עם קוד משותף
לרכיבי Edge הבאים יש קוד משותף. לכן, כדי להחזיר למצב קודם כל אחד מהרכיבים האלו בצומת, צריך להחזיר למצב הקודם את כל הרכיבים שנמצאים באותו צומת.
edge-management-server
(שרת ניהול)edge-message-processor
(מעבד ההודעות)edge-router
(נתב)edge-postgres-server
(שרת Postgres)edge-qpid-server
(שרת Qpid)
לדוגמה, אם התקנת את שרת הניהול, הנתב ומעבד ההודעות בצומת, כדי להחזיר כל אחד מהם למצב קודם, עליך להחזיר את כל השלושה למצב הקודם.
חזרה לגרסה ראשית או משנית קודמת
כדי לחזור לגרסה ראשית או לגרסה משנית קודמת, מבצעים את הפעולות הבאות בכל צומת שמארח את הרכיב:
-
מורידים את הקובץ
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
- כדי לחזור לגרסה 4.51.00, מורידים את
- עוצרים את הרכיב כדי לחזור למצב הקודם:
- כדי להחזיר למצב קודם כל אחד מהרכיבים עם קוד משותף בצומת, צריך לעצור את כולם, כמו בדוגמה הבאה:
/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
- כדי להחזיר רכיב אחר בצומת, עוצרים רק את הרכיב הזה:
/opt/apigee/apigee-service/bin/apigee-service component stop
- כדי להחזיר למצב קודם כל אחד מהרכיבים עם קוד משותף בצומת, צריך לעצור את כולם, כמו בדוגמה הבאה:
- אם רוצים להחזיר את המונטיזציה, צריך להסיר אותה מכל הצמתים של שרת הניהול ומעבד ההודעות:
/opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
- מסירים את הרכיב כדי להחזיר למצב הקודם בצומת:
- כדי להחזיר למצב קודם כל אחד מהרכיבים עם קוד משותף בצומת, צריך להסיר את כולם על ידי הסרת קבוצת הרכיבים
edge-gateway
, כפי שמוצג בדוגמה הבאה:/opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
- כדי להחזיר כל רכיב אחר בצומת, צריך להסיר רק את הרכיב הזה, כמו בדוגמה הבאה:
/opt/apigee/apigee-service/bin/apigee-service component uninstall
כאשר component הוא שם הרכיב.
- כדי להחזיר את נתב Edge לגרסה קודמת, עליך למחוק את התוכן של הקובץ
/opt/nginx/conf.d
בנוסף להסרת ההתקנה של קבוצת הרכיביםedge-gateway
:cd /opt/nginx/conf.d
rm -rf *
- כדי להחזיר למצב קודם כל אחד מהרכיבים עם קוד משותף בצומת, צריך להסיר את כולם על ידי הסרת קבוצת הרכיבים
- מסירים את גרסה 4.52.01 של
apigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- מתקינים את הגרסה 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. - התקנה של
apigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- מתקינים את הגרסה הישנה יותר של הרכיב:
/opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
כאשר component הוא הרכיב להתקנה ו-configFile הוא קובץ התצורה שלך לגרסה הישנה יותר.
- אם אתם חוזרים לגרסה הקודמת של Qpid, צריך לבצע את הפעולות הבאות ב-iptables:
sudo iptables -F
- חוזרים על התהליך הזה בכל צומת שמארח את הרכיב שרוצים להחזיר למצב קודם.
חזרה לגרסת תיקון קודמת
כדי להחזיר רכיב לגרסת תיקון ספציפית, מבצעים את הפעולות הבאות בכל צומת שמארח את הרכיב:
- מורידים את הגרסה הספציפית של הרכיב:
/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
- להתקנת הרכיב, יש להשתמש ב-
apigee-setup
:/opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
למשל:
/opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
שים לב שאתה מציין רק את שם הרכיב בעת ההתקנה, ולא את הגרסה.
- חוזרים על התהליך הזה בכל צומת שמארח את הרכיב שרוצים להחזיר למצב קודם.
החזרת העדכון של Postgres 10.17 לגרסה קודמת
אם שדרגת לגרסה 4.52.01 מגרסה 4.50.00 או מ-4.51.00, עליך להחזיר לגרסה הקודמת את עדכון ה-Postgres בנוסף לרכיבי Edge.
כדי לבטל את העדכון של Postgres כשמעדכנים פוסטים בתצורה של מצב המתנה ראשי:
- קידום של צומת ההמתנה החדש כדי להפוך למאסטר של Postgres. המאסטר החדש של Postgres תהיה זהה לגרסה הקודמת של התקנת Edge.
- הגדר את הצומת הישן למצב המתנה כצומת המתנה של המאסטר החדש. הצומת הישן למצב המתנה תהיה זהה לגרסה של התקנת Edge הקודמת.
- רישום של הצמתים הראשיים והמצבים המתנה החדשים בקבוצות של ניתוח הנתונים והצרכנים.
לאחר סיום ההחזרה למצב הקודם, לא יהיה עוד צורך בצומת הראשי הישן. לאחר מכן אפשר להוציא משימוש את הצומת הראשי הישן.
- צריך לוודא שצומת Postgres החדש במצב המתנה פועל:
/opt/apigee/apigee-service/bin/apigee-all status
אם Postgres לא פועל, מפעילים אותו:
/opt/apigee/apigee-service/bin/apigee-all start
- יש לוודא שפעולת 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
- אם מותקן, מפעילים את Qpid בצומת ההמתנה הישן:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
- לקדם את צומת ההמתנה החדש בתור המאסטר של Postgres:
- לקדם את הצומת החדש למצב המתנה להיות הראשי החדש:
apigee-service apigee-postgresql promote-standby-to-master new_standby_IP
אם מתבקשים, מזינים את הסיסמה של Postgres עבור המשתמש 'apigee', שברירת המחדל שלה היא 'postgres'.
- עורכים את קובץ התצורה שבו השתמשתם כדי להתקין את הגרסה הנוכחית של Edge כדי לציין את הפרטים הבאים:
# IP address of the new master: PG_MASTER=new_standby_IP # IP address of the old standby node PG_STANDBY=old_standby_IP
- מגדירים את המאסטר החדש:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
- לקדם את הצומת החדש למצב המתנה להיות הראשי החדש:
- אם כבר שדרגת את צומת ההמתנה הישן לגרסה חדשה יותר, ראשית עליך לשדרג לאחור את תוכנת Apigee בצומת ההמתנה הישן. אם הגרסה הישנה עדיין מותקנת בצומת ההמתנה הישן, אפשר לדלג על השלב הזה ולהמשיך לשלב 6.
- הפסקת Postgres בצומת ההמתנה הישן:
apigee-service apigee-postgresql stop apigee-service edge-postgres-server stop
- כדי להסיר את Postgres מצומת ההמתנה הישן:
apigee-service apigee-postgresql uninstall apigee-service edge-postgres-server uninstall
- מוחקים את ספריית הנתונים של Postgres מצומת ההמתנה הישן:
cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
- הורדה והפעלה של גרסת האתחול של הגרסה הישנה (לגרסת Apigee שאליה חוזרים) בצומת ההמתנה הישן. השלבים המדויקים עשויים להשתנות בהתאם למכשיר שבו משתמשים: התקנה מבוססת אינטרנט והתקנה אופליין. אם מפעילים את הגרסה הישנה של Apigee shoestrap, המערכת תגדיר את המאגרים של yum עם נתונים של גרסה ישנה יותר של Apigee.
- מגדירים רכיבי Postgres בצומת ההמתנה הישן:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
- צריך לבדוק ולוודא שרכיבי Postgres בצומת ההמתנה הישן
הוחזרו לגרסה הקודמת:
apigee-service apigee-postgresql version apigee-service edge-postgres-server version
- הפסקת Postgres בצומת ההמתנה הישן:
- יוצרים מחדש את צומת ההמתנה הישן:
- עורכים את קובץ התצורה שבו השתמשתם כדי להתקין את הגרסה הנוכחית של Edge כדי לציין את הפרטים הבאים:
# IP address of the new master: PG_MASTER=new_standby_IP # IP address of the old standby node PG_STANDBY=old_standby_IP
- מסירים את ספריית הנתונים בצומת הישן למצב המתנה:
cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
- מגדירים מחדש את הצומת הישן למצב המתנה כצומת בהמתנה של המאסטר החדש:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- צריך לוודא ש-Postgres פועל בצומת ההמתנה הישן:
/opt/apigee/apigee-service/bin/apigee-all status
אם Postgres לא פועל, מפעילים אותו:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
- עורכים את קובץ התצורה שבו השתמשתם כדי להתקין את הגרסה הנוכחית של Edge כדי לציין את הפרטים הבאים:
- מוודאים שהצומת החדש למצב המתנה נוסף על ידי הצגת הקובץ
/opt/apigee/apigee-postgresql/conf/pg_hba.conf
במאסטר החדש. - כדי להציג את המידע הנוכחי על ניתוח נתונים וקבוצות צרכנים, מריצים את הפקודה הבאה בשרת הניהול:
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" : { } }
- כדי לקבל את כתובת ה-UUID של המאסטר הישן, מריצים את הפקודה
curl
הבאה בצומת הראשי הישן:curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self
ה-UUID אמור להופיע בסוף הפלט, בצורה הבאה:
"type" : [ "postgres-server" ], "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
- חוזרים על השלב הקודם כדי לקבל את כתובות ה-IP של צומת ההמתנה הישן ושל המאסטר החדש.
- מסירים מקבוצת הצרכנים את הצומת הראשי וצומת ההמתנה הישנה:
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 הם שמות ברירת המחדל של קבוצות ניתוח הנתונים וקבוצות הצרכנים. masterUUID,standbyUUID מופיעים באותו סדר שבו הם הופיעו למעלה כשעיינת במידע הנוכחי על ניתוח הנתונים ועל קבוצות הצרכנים שלמעלה. יכול להיות שתצטרכו לציין אותם בתור standbyUUID,masterUUID.
המאפיין
datastores
שלconsumer-groups
אמור להיות ריק עכשיו. - מסירים מקבוצת ניתוח הנתונים את הצמתים הראשיים הקודמים ואת הצמתים הקודמים במצב המתנה:
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
אמור להיות ריק. - רישום צמתים חדשים של 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
- מאמתים את קבוצת ניתוח הנתונים:
curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax
מזהי ה-UUID של הצומת הראשי והצומת במצב המתנה החדשים אמורים להופיע בקבוצת ניתוח הנתונים ובקבוצת הצרכנים.
- מפעילים מחדש את שרת ניהול ה-Edge:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- הפעלה מחדש של כל שרתי Qpid:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- מפעילים מחדש את כל שרתי Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- מאמתים את סטטוס הרפליקציה על ידי הנפקת הסקריפטים הבאים בשני השרתים. המערכת צריכה להציג תוצאות זהות בשני השרתים כדי להבטיח יצירת רפליקות:
במאסטר החדש, מריצים את:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
יש לוודא שהוא המאסטר. בצומת הישן למצב המתנה:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
יש לוודא שהמכשיר במצב המתנה.
- חוזרים על השלב הקודם אחרי שמבצעים כמה בקשות API כדי לוודא שהצמתים מסונכרנים.
- מוציאים משימוש את המאסטר הישן של Postgres באמצעות התהליך המפורט במאמר ביטול הוצאה של צומת Postgres.
לחלופין, אפשר להסיר את ההתקנה של Qpid מהמאסטר הישן ולהתקין את Qpid בצומת הראשי החדש. אחרי הסרת Qpid, אפשר להוציא משימוש את הצומת הראשי הישן.
חזרה למצב קודם של mTLS
כדי לבטל את עדכון ה-mTLS, יש לבצע את השלבים הבאים בכל המארחים:
- הפסקת Apigee:
apigee-all stop
- הפסקת mTLS:
apigee-service apigee-mtls uninstall
- מתקינים מחדש את mTLS:
apigee-service apigee-mtls install
apigee-service apigee-mtls setup -f /opt/silent.conf