הפעלה מחדש של נתבים ומעבדי הודעות ללא השפעה על התנועה

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

במסמך הזה מוסבר איך להפעיל מחדש נתבים ומעבדי הודעות (MP) בלי להשפיע תנועת API נכנסת. יכול להיות שתצטרכו להפעיל מחדש את הנתבים ואת מנהלי ה-MP בנסיבות מסוימות. הנה כמה דוגמאות:

  • כשמאגר מפתחות שניתן להפנות אליו ישירות במארח הווירטואלי, בשרת היעד או ביעד נקודת הקצה מתעדכנת בלי להשתמש בהפניות.
  • כששרתי proxy ל-API פרוסים באופן חלקי בכמה MPs.

לפני שמתחילים

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

הפעלת מחדש של נתבים ללא השפעה על התנועה

בקטע הזה מתוארים השלבים להפעלה מחדש של נתבים בלי להשפיע על תנועת ה-API הנכנסת.

  1. מתחברים לנתב שצריך להפעיל מחדש.
  2. כדי לחסום את היציאה של בדיקת התקינות בנתב, משתמשים בפקודה הבאה. כך אפשר להבטיח הנתב נחשב לא בריא ולא תנותב תנועה לנתב הזה.
    sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
        
  3. יש להמתין שתי דקות כדי לוודא שהתנועה בתוך הטיסה מטופלת בצורה חלקה לפני להפעיל מחדש את הנתב. כדי לעשות זאת, מריצים את הפקודה sleep:
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
  4. עוצרים את שירות Apigee Monit באופן הבא:
    apigee-service apigee-monit stop
        
  5. עוצרים את שירות הנתב של Apigee באופן הבא:
    apigee-service edge-router stop
        
  6. מפעילים את שירות הנתב של Apigee באופן הבא:
    apigee-service edge-router start
        
  7. צריך להמתין עד ששירות הנתב של Apigee יתחיל ומוכן לטפל בתעבורת הנתונים הנכנסת באמצעות הפקודה הבאה:
    apigee-service edge-router wait_for_ready
        
  8. מפעילים את שירות Apigee Monit באופן הבא:
    apigee-service apigee-monit start
        
  9. מנקים את טבלאות ה-IP כדי לבטל את החסימה של יציאת בדיקת התקינות 15999 ולאפשר לנתב לטפל בה את התנועה שוב על ידי הרצת הפקודות הבאות:
    sudo iptables -F
    sudo iptables -L
        
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
for i in {001..120}; do sleep 1; printf "\r ${i}"; done
apigee-service apigee-monit stop
apigee-service edge-router stop
apigee-service edge-router start
apigee-service edge-router wait_for_ready
apigee-service apigee-monit start
sudo iptables -F
sudo iptables -L

הפעלת מעבדי הודעות מחדש ללא השפעה על תעבורת הנתונים

בקטע הזה מתוארים השלבים להפעלה מחדש של מעבדי הודעות (MPs) בלי שישפיע על התנועה הנכנסת מה-API.

  1. מתחברים למעבד ההודעות שצריך להפעיל מחדש.
  2. מזהים את יציאת בדיקת התקינות של מעבד ההודעות באמצעות הפקודה הבאה:
    curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")'
        
  3. חוסמים את היציאה של בדיקת התקינות (זוהתה בשלב 2) במעבד ההודעות. כך אפשר להבטיח שמעבד ההודעות נחשב לא בריא ולא תנותב תנועה אליו מעבד הודעות.
    sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT
        

    כאשר port # הוא מספר היציאה שהוחזר מהפקודה שבוצעה בשלב 2.

  4. יש להמתין שתי דקות כדי לוודא שהתנועה בתוך הטיסה מטופלת בצורה חלקה לפני להפעיל מחדש את מעבד ההודעות. כדי לעשות זאת, מריצים את הפקודה sleep:
    for i in {001..120}; do sleep 1; printf "\r ${i}"; done
        
  5. עוצרים את שירות Apigee Monit באופן הבא:
    apigee-service apigee-monit stop
        
  6. עוצרים את שירות מעבד ההודעות של Apigee באופן הבא:
    apigee-service edge-message-processor stop
        
  7. Sert את שירות מעבד ההודעות של Apigee באופן הבא:
    apigee-service edge-message-processor start
        
  8. צריך להמתין עד ששירות מעבד ההודעות של Apigee יופעל ומוכן לטפל תנועה נכנסת באמצעות הפקודה הבאה:
    apigee-service edge-message-processor wait_for_ready
        
  9. מפעילים את שירות Apigee Monit באופן הבא:
    apigee-service apigee-monit start
        
  10. מנקים את טבלאות ה-IP כדי לבטל את החסימה של יציאת בדיקת התקינות ולאפשר למעבד ההודעות כדי לטפל בתנועה שוב על ידי הרצת הפקודות הבאות:
    sudo iptables -F
    sudo iptables -L
        
curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")'

sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT
for i in {001..120}; do sleep 1; printf "\r ${i}"; done
apigee-service apigee-monit stop
apigee-service edge-message-processor stop
apigee-service edge-message-processor start
apigee-service edge-message-processor wait_for_ready
apigee-service apigee-monit start
sudo iptables -F
sudo iptables -L

כאשר port # הוא מספר היציאה שהוחזר מהפקודה שבוצעה בשלב 2.