אם נתקלתם בשגיאה במהלך העדכון ל-Edge 4.51.00, תוכלו לבטל את השינויים ברכיב שגרם לשגיאה ולנסות שוב את העדכון.
אפשר לחזור לגרסאות הבאות של גרסאות ה-Feature Release של Edge 4.51.00:
- גרסה 4.50.00
- גרסה 4.19.06
יש שני תרחישים שבהם כדאי לבצע החזרה לאחור:
- חזרה לגרסה קודמת של Feature Release. לדוגמה, מ-4.51.00 ל-4.50.00.
- חזרה לגרסת עדכון קודמת באותה גרסה. לדוגמה, מ-4.50.00.02 ל-4.50.00.01.
מידע נוסף זמין במאמר תהליך השקת הגרסאות של Apigee Edge.
מי יכול לבצע החזרה לאחור
המשתמש שמבצע את החזרה לאחור צריך להיות זהה למשתמש שעדכן את Edge במקור, או משתמש שפועל בתור root.
כברירת מחדל, רכיבי Edge פועלים בתור המשתמש 'apigee'. במקרים מסוימים, יכול להיות שאתם מפעילים רכיבים של Edge בתור משתמשים שונים. לדוגמה, אם הנתב צריך לגשת ליציאות בעלות הרשאות, כמו יציאות מתחת למספר 1000, צריך להריץ את הנתב כ-root או כמשתמש עם גישה ליציאות האלה. לחלופין, אפשר להריץ רכיב אחד כמשתמש אחד ורכיב אחר כמשתמש אחר.
רכיבים עם קוד משותף
לרכיבי Edge הבאים יש קוד משותף. לכן, כדי לבצע ביטול של אחד מהרכיבים האלה בצומת, צריך לבטל את כל הרכיבים האלה שנמצאים בצומת הזה.
edge-management-server
(שרת ניהול)edge-message-processor
(מעבד בקשות)edge-router
(נתב)edge-postgres-server
(Postgres Server)edge-qpid-server
(שרת Qpid)
לדוגמה, אם שרת הניהול, הנתב ומעבד ההודעות מותקנים בצומת, כדי לבצע חזרה לאחור של אחד מהם צריך לבצע חזרה לאחור של כל השלושה.
חזרה לגרסה קודמת של Feature Release
כדי לחזור לגרסה קודמת של Feature Release, מבצעים את הפעולות הבאות בכל צומת שמארח את הרכיב:
-
מורידים את הקובץ
bootstrap.sh
של הגרסה שרוצים לחזור אליה:- כדי לחזור לגרסה 4.50.00, מורידים את
bootstrap_4.50.00.sh
:curl https://software.apigee.com/bootstrap_4.50.00.sh -o /tmp/bootstrap_4.50.00.sh
- כדי לחזור לגרסה 4.19.06, מורידים את
bootstrap_4.19.06.sh
:curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh
- כדי לחזור לגרסה 4.50.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 Router, צריך למחוק את התוכן של הקובץ
/opt/nginx/conf.d
בנוסף להסרת קבוצת הרכיביםedge-gateway
:cd /opt/nginx/conf.d
rm -rf *
- כדי לבטל את השינויים באחד מהרכיבים עם קוד משותף בצומת, צריך להסיר את כולם על ידי הסרת קבוצת הרכיבים
- מסירים את הגרסה 4.51.00 של
apigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- מתקינים את הגרסה 4.19.06 או 4.50.00 של הכלי
apigee-service
ואת יחסי התלות שלו. בדוגמה הבאה מתבצעת התקנה של הגרסה 4.50.00 שלapigee-service
:sudo bash /tmp/bootstrap_4.50.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.18.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.51.00 מגרסה 4.19.06 או 4.50.00, עליכם לבצע ביטול של עדכון Postgres בנוסף לרכיבי Edge.
כדי לבצע חזרה לאחור של עדכון Postgres כשמעדכנים את Postgres בהגדרה של master-standby:
- מעלים את צומת ה-standby החדש למאסטר של 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
- מעלים את צומת ה-standby החדש כמאסטר של 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
- מגדירים את ה-master החדש:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
- מעלים את צומת המתנה החדש לשקף הראשי החדש:
- אם כבר שדרגתם את צומת ה-standby הישן לגרסה החדשה, תחילה עליכם לבצע downgrade של תוכנת Apigee בצומת ה-standby הישן. אם עדיין מותקנת הגרסה הישנה בצומת הישן במצב המתנה, אפשר לדלג על השלב הזה ולהמשיך לשלב 6.
- עוצרים את Postgres בצומת הישן במצב המתנה:
apigee-service apigee-postgresql stop apigee-service edge-postgres-server stop
- מסירים את Postgres מצומת ה-standby הישן:
apigee-service apigee-postgresql uninstall apigee-service edge-postgres-server uninstall
- מוחקים את ספריית הנתונים של Postgres מצומת ה-standby הישן:
cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
- מורידים ומפעילים את קובץ ה-bootstrap של הגרסה הישנה (של גרסת Apigee שאליה רוצים לחזור) בצומת הישן במצב המתנה. השלבים המדויקים עשויים להשתנות בהתאם להתקנה באינטרנט או להתקנה אופליין. הפעלת ה-bootstrap של הגרסה הישנה של Apigee תגדיר את מאגרי ה-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 *
- מגדירים מחדש את צומת ה-standby הישן כצומת standby של המאסטר החדש:
/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
הפקודה הזו מחזירה את שם קבוצת Analytics בשדה
name
ואת שם קבוצת הצרכנים בשדהname
שמתחת ל-consumer-groups
. הפונקציה מחזירה גם את מזהי ה-UUID של צומת המאסטר וצומת ה-standby הישנים של 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 של צומת המצבייה הישן ושל המאסטר החדש.
- מסירים את צמת ה-master ואת צומת ה-standby הישנים מקבוצת הצרכנים:
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 master ו-standby בקבוצות הניתוח והצרכנים:
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 לפי התהליך שמתואר במאמר עדכון Apigee Edge 4.16.01/4.16.05 ל-4.17.09.
לחלופין, אפשר להסיר את 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