Edge for Private Cloud גרסה 4.18.05
אם נתקלתם בשגיאה במהלך עדכון ל-Edge 4.18.05, תוכלו להחזיר למצב הקודם את הרכיב שגרם לשגיאה, ואז לנסות לבצע את העדכון שוב.
אפשר להחזיר את Edge 4.18.05 לגרסאות הבאות של השקת התכונה:
- גרסה 4.18.01
- גרסה 4.17.09*
- גרסה 4.17.05*
* כדי לחזור מ-4.18.05 ל-4.17.09 או 4.17.05, צריך לבטל את ה-Postgres בנוסף להחזיר את הרכיבים בכל צומת. אם חוזרים לגרסה 4.18.01, אין צורך להחזיר את Postgres, מאחר שתהליך השדרוג לא כלל עדכון של Postgres.
יש שני תרחישים שבהם כדאי לבצע חזרה למצב הקודם:
- חזרה לגרסה קודמת של תכונה. לדוגמה, מ-4.18.05 עד 4.18.01.
- חזרה לגרסת עדכון קודמת באותה גרסה. לדוגמה, מ-4.18.05.02 עד 4.18.05.01.
מידע נוסף זמין במאמר על תהליך ההפצה של Apigee Edge.
מי יכול לבצע החזרה למצב קודם
המשתמש שמבצע החזרה למצב הקודם צריך להיות זהה למשתמש שעדכן במקור את Edge, או משתמש שפועל בתור בסיס.
כברירת מחדל, רכיבי Edge פועלים בתור ה-API של המשתמש. במקרים מסוימים, יכול להיות שרכיבי Edge יופעלו כמשתמשים שונים. לדוגמה, אם הנתב צריך לגשת ליציאות עם הרשאות, כמו יציאות מתחת ל-1,000, צריך להפעיל אותו בתור Root או כמשתמש עם גישה ליציאות האלה. לחלופין, אפשר להפעיל רכיב אחד כמשתמש אחד ורכיב אחר כמשתמש אחר.
רכיבים עם קוד משותף
לרכיבי Edge הבאים יש קוד משותף: לכן, כדי להחזיר למצב הקודם כל אחד מהרכיבים האלה בצומת, עליך להחזיר למצב הקודם את כל הרכיבים שנמצאים בצומת הזה.
edge-management-server
(שרת ניהול)edge-message-processor
(מעבד ההודעות)edge-router
(נתב)edge-postgres-server
(שרת Postgres)edge-qpid-server
(שרת Qpid)
לדוגמה, אם מותקנים בצומת שרת הניהול, הנתב ומעבד ההודעות, עליך להחזיר את כל שלושת הממשקים למצב הקודם.
חזרה לגרסה קודמת של תכונה
כדי לחזור מ-4.18.05 ל-4.17.09 או 4.17.05, עליך להחזיר את הודעות ה-Postgres בנוסף להחזרת הרכיבים בכל צומת. אם חוזרים לגרסה הקודמת החל מ-4.18.01, אין צורך להחזיר את Postgres, מאחר שתהליך השדרוג לא כלל עדכון של Postgres.
כדי לחזור לגרסה קודמת של תכונה, יש לבצע את הפעולות הבאות בכל צומת שמארח את הרכיב:
-
מורידים את הקובץ
bootstrap.sh
לגרסה שאליה רוצים לחזור:- כדי לחזור לגרסה 4.18.01, מורידים את
bootstrap_4.18.01.sh
:curl https://software.apigee.com/bootstrap_4.18.01.sh -o /tmp/bootstrap_4.18.01.sh
- כדי לחזור לגרסה 4.17.09, מורידים את
bootstrap_4.17.09.sh
:curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh
- כדי לחזור לגרסה 4.17.05, מורידים את
bootstrap_4.17.05.sh
:curl https://software.apigee.com/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh
- כדי לחזור לגרסה 4.18.01, מורידים את
- עוצרים את הרכיב כדי לחזור למצב הקודם:
- כדי להחזיר חלק מרכיבים עם קוד משותף בצומת, צריך לעצור את כולם, כפי שמתואר בדוגמה הבאה:
/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.18.05 של
apigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- מתקינים את גרסאות 4.18.01, 4.17.09 או 4.17.05 של כלי השירות
apigee-service
ושל יחסי התלות שלו. בדוגמה הבאה מתקינה גרסה 4.17.09 שלapigee-service
:sudo bash /tmp/bootstrap_4.17.09.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 לאחור, כדאי לוודא שקובצי iptable שוטפים:
sudo iptables -F
- צריך לחזור על התהליך הזה עבור כל צומת שמארח את הרכיב שמחזירים למצב הקודם.
כדי לחזור מ-4.18.05 ל-4.17.09 או 4.17.05, עליך להחזיר את הודעות ה-Postgres בנוסף להחזרת הרכיבים בכל צומת. אם חוזרים לגרסה הקודמת החל מ-4.18.01, אין צורך להחזיר את Postgres, מאחר שתהליך השדרוג לא כלל עדכון של Postgres.
חזרה לגרסת עדכון קודמת
כדי להחזיר רכיב לגרסה ספציפית של גרסה, מבצעים את הפעולות הבאות בכל צומת שמארח את הרכיב:
- הורדת הגרסה הספציפית של הרכיב:
/opt/apigee/apigee-service/bin/apigee-service component_version install
כאשר component_version הוא הרכיב וגרסת העדכון שיש להתקין. לדוגמה:
/opt/apigee/apigee-service/bin/apigee-service edge-ui-4.17.09-0.0.3749 install
אם משתמשים במאגר אונליין של Apigee, אפשר לבדוק מהן הגרסאות הזמינות של הרכיבים באמצעות הפקודה הבאה:
yum --showduplicates list comp
לדוגמה:
yum --showduplicates list edge-ui
- כדי להתקין את הרכיב:
/opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
, משתמשים ב-apigee-setup
לדוגמה:
/opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
חשוב לציין רק את שם הרכיב כשמתקינים אותו, ולא את הגרסה.
- צריך לחזור על התהליך הזה עבור כל צומת שמארח את הרכיב שמחזירים למצב הקודם.
כדי לחזור מ-4.18.05 ל-4.17.09 או 4.17.05, עליך להחזיר את הודעות ה-Postgres בנוסף להחזרת הרכיבים בכל צומת. אם חוזרים לגרסה הקודמת החל מ-4.18.01, אין צורך להחזיר את Postgres, מאחר שתהליך השדרוג לא כלל עדכון של Postgres.
החזרת עדכון של Postgres 9.6
אם שדרגתם לגרסה 4.18.05 מגרסה 4.17.05 או 4.17.09, עליכם לבטל את העדכון של Postgres בנוסף לרכיבי Edge.
כדי לבטל את העדכון של Postgres כשמעדכנים את ה-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
- לקדם את צומת ההמתנה החדש כך שיהיה המאסטר החדש:
- יוצרים מחדש את צומת ההמתנה הישן:
- עורכים את קובץ התצורה שבו השתמשתם כדי להתקין את הגרסה הנוכחית של 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
אם הוא לא פועל, צריך להפעיל אותו:
/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 של 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
- מאמתים את הקבוצה ב-Analytics:
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, אפשר לבטל את השימוש בצומת הראשי הישן.
צריך להסיר את Qpid מהמאסטר הישן ולהתקין את Qpid במאסטר החדש
כדי להסיר את Qpid מהמאסטר הישן ולהתקין אותו במאסטר החדש:
- מריצים את הפקודה הבאה בכל מעבדי ההודעות כדי לחסום את הגישה של מעבדי הודעות ליציאת Qpid 5672 במאסטר הישן:
iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
- מריצים את הפקודה הבאה כדי לוודא שתור ההודעות של Qpid ריק. אי אפשר
להסיר את Qpid בלי לסיים את הטיפול בכל ההודעות הממתינות:
qpid-stat -q
פקודה זו מציגה טבלה שמכילה ספירה של
msg, msgIn, and msgOut
. כל ההודעות יעובדו כאשרmsg=0
וגםmsgIn=msgOut
. - קביעת ה-UUID של שרת ה-Qpid במאסטר הישן על ידי הרצת הפקודה הבאה במאסטר הישן. שומרים את המידע הזה למועד מאוחר יותר בתהליך:
curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
- הפסקת Qpid במאסטר הישן:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
- הסרה של שרת Qpid:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
/opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
- מסירים את שרת ה-Qpid הישן מקבוצת ניתוח הנתונים ומקבוצות הצרכנים:
curl -u sysAdminEmail:password -X DELETE -H "Content-Type: application/json" -d '' \ "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers/qpid_UUID" -v
curl -u sysAdminEmail:password -X DELETE \ "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
- מסירים את שרת ה-Qpid הישן מ-Zookeeper:
curl -u sysAdminEmail:password -X DELETE \ http://ms_IP:8080/v1/servers/qpid_UUID
- מתקינים Qpid במאסטר החדש:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
- קביעת ה-UUID של שרת ה-Qpid במאסטר החדש על ידי הרצת הפקודה הבאה במאסטר החדש. שומרים את המידע הזה למועד מאוחר יותר בתהליך:
curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
- רושמים את שרת ה-Qpid החדש בקבוצות ניתוח הנתונים וקבוצות הצרכנים:
curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' \ "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-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/consumers?uuid=qpid_UUID" -v
- מפעילים מחדש את כל מעבדים ההודעות:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- כדי לבדוק אם נוצרו תורי תור, מריצים את הפקודה הבאה בשרת Qpid החדש:
qpid-stat -q
יש לוודא שההודעות
msg
,msgIn
ו-msgOut
מתעדכנות בזמן ששרת ה-Qpid מעבד הודעות.
אם תיתקלו בבעיות במהלך החזרה לגרסה קודמת, יש לפנות לתמיכה של Apigee Edge.