העברת שרתי Apigee

Edge for Private Cloud גרסה 4.19.01

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

בקטע הזה מוסבר איך לאבחן ולתקן אי-התאמות בהגדרות.

כתובות IP לעומת שמות מארחים

עליך להשתמש בכתובות IP ולא בשמות מארחים בקובצי התצורה של הרכיבים.

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

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

לגבי שמות מארחים וכתובות IP, צריך להביא בחשבון את ההשלכות של התרחישים הבאים כשמעבירים שרתי Apigee:

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

שינוי כתובת ה-IP של צומת Cassandra

כדי לשנות את כתובת ה-IP של צומת Cassandra, יש לבצע את השלבים הבאים:

להגדרות עם צומת Cassandra יחיד

  1. עורכים את /opt/apigee/customer/application/cassandra.properties במערכת שמשתנה. אם הקובץ לא קיים, יוצרים אותו.
  2. משנים את הפרמטרים הבאים:
    • מגדירים את הפרמטרים conf_cassandra_seeds ו-conf_cassandra_listen_address כדי לציין את כתובת ה-IP החדשה של המערכת.
    • משנים את conf_cassandra_rpc_address כך שישתמש בכתובת ה-IP החדשה או ב-0.0.0.0 (שמאפשר ל-Cassandra Thrift להאזין בכל הממשקים).
  3. פותחים את /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties בכלי עריכה. כתובת ה-IP הישנה והגדרת ברירת המחדל אמורים להופיע בטופס:
    192.168.56.101=dc-1:ra-1
    default=dc-1:ra-1

    שומרים את המידע הזה.

  4. עורכים את /opt/apigee/customer/application/cassandra.properties כדי לשנות את כתובת ה-IP הישנה שצוינה לכתובת ה-IP החדשה:
    conf_cassandra-topology_topology=192.168.56.103=dc-1:ra-1\ndefault=dc-1:ra-1\n

    חשוב להזין את הקוד ' \n' אחרי כתובת ה-IP ולציין את אותן הגדרות ברירת מחדל שמפורטות למעלה בשלב 3.

  5. מפעילים מחדש את Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. במידת הצורך, אפשר גם לתקן אתzoKeeper (לפי ההוראות שבהמשך). אם צריך, מפעילים מחדש כל רכיב בפלטפורמה של Apigee ומתחילים ב-Management Server.

להגדרות עם כמה צומתי Cassandra (טבעת)

  1. אם הצומת ששונה הוא צומת מקור, יש לערוך את הקובץ /opt/apigee/customer/application/cassandra.properties בכל מערכת שבטבעת, ולשנות את הפרמטר conf_cassandra_seeds כך שיכלול את כתובת ה-IP החדשה של המערכת ששונתה. אם הקובץ cassandra.properties לא קיים, יוצרים אותו.
  2. עורכים את /opt/apigee/customer/application/cassandra.properties במערכת שמשתנה ומשנים את הפרמטרים הבאים:
    • מגדירים את conf_cassandra_listen_address לשימוש בכתובת ה-IP החדשה.
    • מגדירים את conf_cassandra_rpc_address כך שישתמש בכתובת ה-IP החדשה או ב-"0.0.0.0" (הדבר מאפשר ל-Cassandra Thrift להאזין בכל הממשקים).
  3. פותחים את /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties בכלי עריכה. כל כתובות ה-IP של Cassandra והגדרות ברירת המחדל אמורות להיות:
    192.168.56.101=dc-1:ra-1
    192.168.56.102=dc-1:ra-1
    192.168.56.103=dc-1:ra-1
    default=dc-1:ra-1

    שומרים את המידע הזה.

  4. עורכים את /opt/apigee/customer/application/cassandra.properties כדי לשנות את כתובת ה-IP הישנה שצוינה לכתובת ה-IP החדשה:
    conf_cassandra-topology_topology=192.168.56.101=dc-1:ra-1\n192.168.56.102=dc-1:ra-1\n192.168.56.104=dc-1:ra-1\ndefault=dc-1:ra-1\n

    חשוב להוסיף '\n' אחרי כל כתובת IP ולהשתמש באותן הגדרות ברירת מחדל כמו תיעדת למעלה בשלב 3.

  5. הפעל מחדש את Cassandra במערכת ששונתה. אם המערכת ששונתה היא צומת מקור, צריך גם להפעיל מחדש כל מערכת שהשתמשו בצומת המקור שהשתנה.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. מריצים את הפקודה nodetool ring בצומת ששונה כדי לוודא שהטבעת הושלמה. ניתן למצוא את תוכנת העזר /opt/apigee/apigee-cassandra/bin.
    nodetool [-u username -pw password] -h localhost ring

    יש להעביר את שם המשתמש והסיסמה רק אם הפעלתם אימות JMX עבור Cassandra.

  7. מריצים את הפקודה nodetool repair בצומת שהשתנה. הערה: התהליך הזה עשוי להימשך זמן מה, ולכן מומלץ מאוד לא לבצע אותו בשעות השיא של תנועת ה-API.
    nodetool [-u username -pw password] -h localhost repair -pr
  8. במידת הצורך, צריך לתקן אתzoKeeper (לפי ההסבר בהמשך) ואז להפעיל מחדש את כל רכיב הפלטפורמה של Apigee, שמתחיל בשרת הניהול.

עדכון רישומים של מאגר נתונים

  1. ניתן למצוא את מזהי ה-UUID של רישומי מאגר נתונים שמציינים את כתובת ה-IP הישנה, באמצעות הפקודות שבהמשך. חשוב לשים לב לפרמטרים 'type' ו-'UUID':
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=central&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=gateway&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=analytics&region=DC" | egrep -i '[type|internalip|uuid|region]'

      כאשר DC הוא השם של מרכז הנתונים. בהתקנה יחידה של מרכז נתונים, הערך הוא בדרך כלל "dc-1".

  2. עליך לרשום את כתובות ה-IP החדשות באמצעות אחת מהפקודות שלמטה. הפקודה שתצטרכו לבצע תלויה בסוג של הצומת שהשתנה.
    • עבור type="application-datastore":
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \
        "Type=application-datastore&Type=audit-datastore&InternalIP=NEWIP&region=REGION&pod=central" \
        -H 'content-type: application/x-www-form-urlencoded' -X POST
    • עבור type="kms-datastore":
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \
        "Type=kms-datastore&Type=dc-datastore&Type=keyvaluemap-datastore&Type=counter-datastore&Type=cache-datastore \
        &InternalIP=NEWIP&region=REGION&pod=GATEWAY_POD" -H 'content-type: \
        application/x-www-form-urlencoded' -X POST
    • עבור type="reportcrud-datastore":
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers" -d \
        "Type=reportcrud-datastore&InternalIP=NEW_IP&region=REGION&pod=analytics" \
        -H 'content-type: application/x-www-form-urlencoded' -X POST 
  3. מחיקת רישומים ישנים של מזהה ייחודי אוניברסלי (UUID) של המערכת שבה כתובת ה-IP השתנתה. לכל אחת מהבעיות הבאות ב-UUID:
    curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE

שינוי כתובת ה-IP של צומת גן החיות

בצע את השלבים הבאים כדי לשנות את כתובת ה-IP של צומת גן החיות:

שינוי כתובת ה-IP והפעלה מחדש של מתחם גן החיות (ZooKeeper) (לתצורות של שילובים מרובים בלבד)

  1. פתיחת /opt/apigee/apigee-zookeeper/conf/zoo.cfg בעורך. כל כתובות ה-IP והגדרות ברירת המחדל של שמוצגים ב-ZooKeeper אמורות להופיע באופן הבא:
    server.1=192.168.56.101:2888:3888
    server.2=192.168.56.102:2888:3888
    server.3=192.168.56.103:2888:3888

    שומרים את המידע הזה.

  2. בכל צומת שלzoKeeper, עורכים את הקובץ /opt/apigee/customer/application/zookeeper.properties כדי להגדיר את המאפיין conf_zoo_quorum לכתובות ה-IP הנכונות. אם הקובץ לא קיים, יוצרים אותו.
    conf_zoo_quorum=server.1=192.168.56.101:2888:3888\nserver.2=192.168.56.102:2888:3888\nserver.3=192.168.56.104:2888:3888\n

    צריך להקפיד להוסיף את '\n' אחרי כל כתובת IP ושהרשומות מופיעות באותו סדר בכל צומת.

  3. כדי למצוא את המפתח המוביל של ה-AnaKeeper, ניתן להשתמש בפקודה הבאה (צריך להחליף את node בכתובת ה-IP של המכונה שלzokeeper):
    echo srvr | nc node 2181

    בשורת המצב בפלט אמור להיות כתוב 'leader'.

  4. מפעילים מחדש את גן חיות אחד אחרי השני, שמתחילה במוביל ומסתיימת בצומת שבו כתובת ה-IP השתנתה. אם כתובת ה-IP שונתה על ידי יותר מצומת אחד שלzokeeper, ייתכן שיהיה צורך להפעיל מחדש את כל הצמתים.
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
  5. השתמש בפקודה echo המתוארת למעלה כדי לאמת כל צומת שלzoKeeper.

עדכון צומתי Apigee של התצורה ששונתה

  1. בכל צומת של נתב, עורכים את הקובץ /opt/apigee/customer/application/router.properties באופן הבא. אם הקובץ לא קיים, יוצרים אותו.
    • משנים את הפרמטר conf_zookeeper_connection.string כך שיכלול את כתובת ה-IP החדשה
    • משנים את הפרמטר conf_zookeeper_zk1.host כך שיכלול את כתובת ה-IP החדשה
  2. בכל צומת של מעבד ההודעות, עורכים את הקובץ /opt/apigee/customer/application/message-processor.properties באופן הבא. אם הקובץ לא קיים, יוצרים אותו.
    • משנים את הפרמטר conf_zookeeper_connection.string כך שיכלול את כתובת ה-IP החדשה
    • משנים את הפרמטר conf_zookeeper_zk1.host כך שיכלול את כתובת ה-IP החדשה
  3. בצומת של שרת הניהול, עורכים את הקובץ /opt/apigee/customer/application/management-server.properties באופן הבא. אם הקובץ לא קיים, יוצרים אותו.
    • משנים את הפרמטר conf_zookeeper_connection.string כך שיכלול את כתובת ה-IP החדשה
    • משנים את הפרמטר conf_zookeeper_zk1.host כך שיכלול את כתובת ה-IP החדשה
  4. מפעילים מחדש את כל רכיבי הפלטפורמה של Apigee באמצעות הפקודה הבאה בכל צומת:
    /opt/apigee/apigee-service/bin/apigee-all restart

שינוי כתובת ה-IP של שרת LDAP (OpenLDAP)

כדי לשנות את כתובת ה-IP של צומת OpenLDAP, צריך לבצע את הפעולות הבאות:

  1. בצומת של שרת הניהול, עורכים את הקובץ /opt/apigee/customer/application/management-server.properties. אם הקובץ לא קיים, יוצרים אותו.
  2. בקובץ management-server.properties, מגדירים את הפרמטר conf_security_ldap.server.host לכתובת ה-IP החדשה.
  3. מפעילים מחדש את שרת הניהול:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

שינוי כתובת ה-IP של סוגי צומתי Apigee אחרים

כדי לשנות את כתובת ה-IP של כל אחד מסוגי הצמתים האלה (נתב, מעבד הודעות, שרת Postgres (לא postgresql) ושרת Qpid (לא qpidd):

  1. משתמשים בפקודה curl הבאה כדי לרשום את כתובת ה-IP הפנימית והחיצונית החדשה:
    curl -u ADMINEMAIL:PW -X PUT \
      http://MSIP:8080/v1/servers/uuid -d ExternalIP=ip
    curl -u ADMINEMAIL:PW -X PUT \
      http://$MSIP:8080/v1/servers/uuid -d InternalIP=ip

    כאשר uuid הוא ה-UUID של הצומת.

למידע על קבלת מזהה ייחודי אוניברסלי (UUID) של רכיב, אפשר לעיין במאמר קבלת מזהי UUID.