שיקולים בהתקנה

Edge for Private Cloud גרסה 4.16.05

התקנה אופיינית של Edge מורכבת מרכיבי Edge שמופצים על פני כמה צמתים. אחרי שמתקינים את Edge בצומת, מתקינים ומגדירים רכיב אחד או יותר של Edge בצומת.

תהליך ההתקנה

התקנת Edge בצומת היא תהליך שכולל כמה שלבים:

  • משביתים את SELinux בצומת או מגדירים אותו למצב מתירני. מידע נוסף זמין במאמר התקנת כלי השירות apigee-setup של Edge.
  • בוחרים את הגדרת ה-Edge מרשימת הטופולוגיות המומלצות. לדוגמה, אפשר להתקין את Edge בצומת אחד לבדיקה, או ב-13 צמתים לייצור. מידע נוסף זמין במאמר טופולוגיות התקנה.
  • בכל צומת בטופולוגיה שבחרתם, מתקינים את כלי השירות apigee-setup של Edge:
    • מורידים את הקובץ bootstrap_4.16.05.sh של Edge אל ‎/tmp/bootstrap_4.16.05.sh.
    • מתקינים את כלי השירות apigee-service של Edge ואת יחסי התלות.
    • מתקינים את כלי השירות apigee-setup של Edge ואת יחסי התלות.

      מידע נוסף זמין במאמר התקנת כלי השירות apigee-setup של Edge.
  • משתמשים בכלי apigee-setup כדי להתקין רכיב אחד או יותר של Edge בכל צומת, בהתאם לטופולוגיה שבחרתם.
    התקנת רכיבי Edge בצומת.
  • בצומת של שרת הניהול, משתמשים בכלי apigee-setup כדי להתקין את apigee-provision, הכלים שמשמשים ליצירה ולניהול של ארגונים ב-Edge.
    מידע נוסף זמין במאמר הוספת ארגון.

טיפול בשגיאה בהתקנה

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

הגדרת רפליקציה של Postgres master-standby

כברירת מחדל, Edge מתקין את כל צומתי Postgres במצב מאסטר. עם זאת, במערכות ייצור עם כמה צומתי Postgres, מגדירים אותם לשימוש בשכפול מסוג master-standby, כך שאם הצומת הראשי נכשל, הצומת המשני יכול להמשיך לשרת את התנועה. מידע נוסף זמין במאמר הגדרת שכפול Master-Standby ל-Postgres.

מי יכול לבצע את ההתקנה

קובצי ההפצה של Apigee Edge מותקנים כקבוצה של RPMs ויחסי תלות. כדי להתקין, להסיר ולעדכן את Edge, צריך להריץ את הפקודות של Edge באמצעות משתמש Root או משתמש עם גישת sudo מלאה. גישת sudo מלאה פירושה שלמשתמש יש גישת sudo לביצוע אותן פעולות כמו root.

כל משתמש שרוצה להריץ את הפקודות או הסקריפטים הבאים חייב להיות ברמת הבסיס (root) או משתמש עם גישת sudo מלאה:

  • apigee-service:
    • פקודות apigee-service: install, uninstall, update.
    • פקודות apigee-all: install, uninstall, update.
  • הסקריפט setup.sh כדי להתקין רכיבי Edge (אלא אם כבר השתמשתם ב-"apigee-service install" כדי להתקין את ה-RPM הנדרשים. אם לא נדרשת גישת root או גישת sudo מלאה, צריך להגדיר את ההרשאות הבאות:)
  • הסקריפט update.sh לעדכון רכיבי Edge

בנוסף, תוכנת ההתקנה של Edge יוצרת משתמש חדש במערכת בשם "apigee". הרבה פקודות של Edge מפעילות את sudo כדי לפעול בתור המשתמש apigee.

כל משתמש שרוצה להריץ פקודות אחרות מאלה שמוצגות למעלה חייב להיות משתמש עם גישת sudo מלאה למשתמש apigee. הפקודות האלה כוללות:

  • פקודות של כלי השירות apigee-service, כולל:
    • פקודות apigee-service כמו start, stop, restart, configure.
    • פקודות apigee-all כמו start, stop, restart, configure.

כדי להגדיר למשתמש גישת sudo מלאה למשתמש apigee, עורכים את קובץ ה-sudoers ומוסיפים:

installUser        ALL=(apigee)      NOPASSWD: ALL

כאשר installUser הוא שם המשתמש של האדם שעובד עם Edge.

למשתמש apigee צריכה להיות גישה לכל הקבצים או המשאבים שמשמשים את פקודות Edge. זה כולל את קובץ הרישיון של Edge וכל קובץ תצורה.

כשיוצרים קובץ תצורה, אפשר לשנות את הבעלים שלו ל-"apigee:apigee" כדי לוודא שפקודות Edge יכולות לגשת אליו:

  1. יוצרים את הקובץ בכלי לעריכת טקסט בתור משתמש כלשהו.
  2. משנים את הבעלים של הקובץ ל-"apigee:apigee" באמצעות הפקודה chown. אם שיניתם את המשתמש שמפעיל את שירות Edge מהמשתמש "apigee", משנים את הבעלים של הקובץ למשתמש שמפעיל את שירות Edge באמצעות הפקודה chown.

התקנה שקטה של רכיבי Edge

צריך להעביר קובץ תצורה לכלי apigee-setup שמכיל את המידע על ההתקנה של Edge. הדרישה היחידה בהתקנות שקטות היא שקובץ התצורה יהיה נגיש או קריא למשתמש "apigee". לדוגמה, שמים את הקובץ בספרייה ‎ /tmp בצומת ומשנים את הבעלים שלו ל-"apigee:apigee".

כל המידע בקובץ התצורה נדרש, חוץ מהסיסמה של מנהל המערכת של Edge. אם לא תזינו את הסיסמה, הכלי apigee-setup יבקש מכם להזין אותה בשורת הפקודה.

מידע נוסף זמין במאמר התקנת רכיבי Edge בצומת.

התקנה עם או בלי חיבור לאינטרנט

כדי להתקין את Edge בצומת, הצומת צריך להיות מסוגל לגשת למאגר של Apigee:

  • צמתים עם חיבור חיצוני לאינטרנט

    צמתים עם חיבור חיצוני לאינטרנט ניגשים למאגר של Apigee כדי להתקין את ה-RPMs והתלויות של Edge.
  • צמתים ללא חיבור חיצוני לאינטרנט

    צמתים ללא חיבור חיצוני לאינטרנט יכולים לגשת לגרסה משוכפלת של מאגר Apigee שהגדרתם באופן פנימי. המאגר הזה מכיל את כל קובצי ה-RPM של Edge, אבל צריך לוודא שכל שאר יחסי התלות זמינים ממאגרים ברשת הפנימית.

פתרון בעיות שקשורות ליחסי תלות בהתקנה של RPM

קובצי ההפצה של Apigee Edge מותקנים כקבוצה של קובצי RPM, ולכל אחד מהם יכולה להיות שרשרת משלו של יחסי תלות בהתקנה. הרבה מהתלויות האלה מוגדרות על ידי רכיבים של צד שלישי שלא נמצאים בשליטת Apigee, ויכולים להשתנות בכל שלב. לכן, במסמכי התיעוד לא מופיע מספר הגרסה המפורש של כל תלות.

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

הגדרת מארח וירטואלי

מארח וירטואלי ב-Edge מגדיר את הדומיינים ואת היציאות של Edge Router שבהם proxy ל-API חשוף, ובהתאם לכך, את כתובת ה-URL שבה אפליקציות משתמשות כדי לגשת ל-proxy ל-API. מארח וירטואלי גם מגדיר אם הגישה ל-proxy ל-API מתבצעת באמצעות פרוטוקול HTTP או באמצעות פרוטוקול HTTPS מוצפן.

כחלק מתהליך ההצטרפות ל-Edge, צריך ליצור ארגון, סביבה ומארח וירטואלי. ב-Edge יש את הפקודה setup-org כדי להקל על התהליך הזה למשתמשים חדשים.

כשיוצרים את המארח הווירטואלי, צריך לציין את הפרטים הבאים:

  • השם של המארח הווירטואלי שמשמש להפניה אליו בשרתי ה-proxy ל-API.
  • היציאה בנתב של המארח הווירטואלי. בדרך כלל היציאות האלה מתחילות ב-9001 וגדלות ב-1 לכל מארח וירטואלי חדש.
  • כינוי המארח של המארח הווירטואלי. בדרך כלל שם ה-DNS של המארח הווירטואלי.

ה-Edge Router משווה את הכותרת Host של הבקשה הנכנסת לרשימה של כינויי המארחים הזמינים, כחלק מהקביעה של ה-proxy ל-API שמטפל בבקשה. כששולחים בקשה דרך מארח וירטואלי, צריך לציין שם דומיין שתואם לכינוי המארח של המארח הווירטואלי, או לציין את כתובת ה-IP של הנתב ואת הכותרת Host שמכילה את כינוי המארח.

לדוגמה, אם יצרתם מארח וירטואלי עם כינוי מארח של myapis.apigee.net ביציאה 9001, בקשת cURL ל-API דרך המארח הווירטואלי הזה יכולה להשתמש באחת מהצורות הבאות:

  • אם יש לכם רשומת DNS ל-myapis.apigee.net:

    curl http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}
  • אם אין לכם רשומת DNS ל-myapis.apigee.net:

    curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H 'Host: myapis.apigee.net'

    בטופס הזה, אתם מציינים את כתובת ה-IP של הנתב ומעבירים את הכינוי המארח בכותרת המארח.

    הערה: הפקודה curl, רוב הדפדפנים והרבה כלים אחרים מוסיפים באופן אוטומטי את כותרת המארח עם הדומיין כחלק מהבקשה, כך שאפשר להשתמש בפקודת curl בפורמט:


    curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}

אפשרויות כשאין רשומת DNS למארח הווירטואלי

אם אין לכם רשומת DNS, אתם יכולים להגדיר את כתובת ה-IP של הנתב והיציאה של המארח הווירטואלי בתור כינוי המארח, בפורמט <routerIP>:port. לדוגמה:

192.168.1.31:9001

לאחר מכן, יוצרים פקודת curl בפורמט הבא:

curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} 

האפשרות הזו עדיפה כי היא פועלת היטב עם ממשק המשתמש של Edge.

אם יש לכם כמה נתבים, הוסיפו כינוי מארח לכל נתב, וציינו את כתובת ה-IP של כל נתב ואת היציאה של המארח הווירטואלי.

לחלופין, אפשר להגדיר את הכינוי של המארח לערך כמו temp.hostalias.com. לאחר מכן, צריך להעביר את הכותרת Host בכל בקשה:

curl -v http://<routerIP>:9001/{proxy-base-path}/{resource-path}  -H 'host: temp.hostalias.com'

אפשר גם להוסיף את כינוי המארח לקובץ מארחים ‎ /etc/hosts. לדוגמה, מוסיפים את השורה הזו ל-‎ /etc/hosts:

192.168.1.31   temp.hostalias.com

לאחר מכן תוכלו לשלוח בקשה כאילו יש לכם רשומת DNS:

curl -v http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}

הגדרת רכיבי Edge אחרי ההתקנה

כדי להגדיר את Edge אחרי ההתקנה, משתמשים בשילוב של קובצי ‎.properties וכלי שירות של Edge. לדוגמה, כדי להגדיר TLS/SSL בממשק המשתמש של Edge, עורכים קובצי ‎.properties כדי להגדיר את המאפיינים הנדרשים. אם מבצעים שינויים בקובצי ‎.properties, צריך להפעיל מחדש את רכיב Edge הרלוונטי.

הקבצים מסוג ‎.properties נמצאים בספרייה /opt/apigee/customer/application. לכל רכיב יש קובץ ‎.properties משלו בספרייה הזו. לדוגמה, router.properties ו-management-server.properties.

כדי להגדיר מאפיין לרכיב, עורכים את קובץ ‎.properties המתאים ואז מפעילים מחדש את הרכיב:

> /opt/apigee/apigee-service/bin/apigee-service component restart

לדוגמה:

> /opt/apigee/apigee-service/bin/apigee-service edge-router restart

כשמעדכנים את Edge, המערכת קוראת את קובצי ‎.properties בספרייה /opt/apigee/customer/application. כלומר, העדכון שומר על כל המאפיינים שהגדרתם ברכיב.

מידע נוסף על הגדרת Edge זמין במאמר איך מגדירים את Edge.

מוודאים של-Edge Router יש גישה אל ‎ /etc/rc.d/init.d/functions

גם Edge Router וגם BaaS Portal משתמשים בנתב Nginx ודורשים גישת קריאה אל /etc/rc.d/init.d/functions.

אם תהליך האבטחה שלכם מחייב להגדיר הרשאות ב-/etc/rc.d/init.d/functions, אל תגדירו אותן ל-700, אחרת הנתב לא יופעל. אפשר להגדיר את ההרשאות ל-744 כדי לאפשר גישת קריאה אל /etc/rc.d/init.d/functions.

הפעלת פקודות ברכיבי Edge

ב-Edge מותקנים כלי ניהול ב-/opt/apigee/apigee-service/bin, שבהם אפשר להשתמש כדי לנהל התקנה של Edge. לדוגמה, אפשר להשתמש בכלי apigee-all כדי להפעיל, לעצור, להפעיל מחדש או לקבוע את הסטטוס של כל רכיבי Edge בצומת:

/opt/apigee/apigee-service/bin/apigee-all stop|start|restart|status|version

משתמשים בכלי apigee-service כדי לשלוט ברכיבים נפרדים ולהגדיר אותם. הפורמט של כלי השירות apigee-service הוא:

/opt/apigee/apigee-service/bin/apigee-service component action

לדוגמה, כדי להפעיל מחדש את הנתב של Edge:

/opt/apigee/apigee-service/bin/apigee-service edge-router restart

כדי לראות את רשימת הרכיבים שמותקנים בצומת, אפשר לבדוק את הספרייה /opt/apigee. הספרייה הזו מכילה ספריית משנה לכל רכיב Edge שמותקן בצומת. לכל ספריית משנה יש קידומת:

  • ‫apigee – רכיב של צד שלישי שמשמש את Edge. לדוגמה, apigee-cassandra.
  • ‫edge – רכיב Edge מ-Apigee. לדוגמה, edge-management-server.
  • ‫edge-mint – רכיב של Monetization. לדוגמה, edge-mint-management-server.
  • ‫baas – רכיב API BaaS. לדוגמה, baas-usergrid.

רשימת הפעולות המלאה של רכיב תלויה ברכיב עצמו, אבל כל הרכיבים תומכים בפעולות הבאות:

  • התחלה, הפסקה, הפעלה מחדש
  • סטטוס, גרסה
  • גיבוי, שחזור
  • התקנה, הסרה

גישה לקובצי יומן

קובץ היומן של apigee-setup והסקריפט setup.sh נכתבים ב-/tmp/setup-root.log.

קובצי היומן של כל רכיב נמצאים בספרייה /opt/apigee/var/log. לכל רכיב יש ספריית משנה משלו. לדוגמה, היומנים של שרת הניהול נמצאים בספרייה:

/opt/apigee/var/log/edge-management-server

פקודות Yum נפוצות

כלי ההתקנה של Edge ל-Linux מסתמכים על Yum כדי להתקין ולעדכן רכיבים. יכול להיות שתצטרכו להשתמש בכמה פקודות Yum כדי לנהל התקנה בצומת.

  • מנקים את כל המטמונים של Yum:
    sudo yum clean all
  • כדי לעדכן רכיב של Edge:
    sudo yum update componentName
    לדוגמה:
    sudo yum update apigee-setup
    sudo yum update edge-management-server

מבנה מערכת הקבצים

‫Edge מתקין את כל הקבצים בספרייה ‎/opt/apigee.

במדריך הזה ובמדריך לתפעול Edge, ספריית ההתקנה ברמה הבסיסית (root) מצוינת בתור:

<inst_root>/apigee

ההתקנה משתמשת במבנה הבא של מערכת הקבצים כדי לפרוס את Apigee Edge for Private Cloud.

קובצי יומן

רכיבים

מיקום

שרת ניהול

<inst_root>/apigee/var/log/edge-management-server

נתב

<inst_root>/apigee/var/log/edge-router

מעבד בקשות

<inst_root>/apigee/var/log/edge-message-processor

שרת Apigee Qpid

<inst_root>/apigee/var/log/edge-qpid-server

שרת Apigee Postgres

<inst_root>/apigee/var/log/edge-postgres-server

ממשק המשתמש של Edge

<inst_root>/apigee/var/log/edge-ui

ZooKeeper

<inst_root>/apigee/var/log/apigee-zookeeper

OpenLDAP

<inst_root>/apigee/var/log/apigee-openldap

Cassandra

<inst_root>/apigee/var/log/apigee-cassandra

Qpidd

<inst_root>/apigee/var/log/apigee-qpidd

מסד נתונים של PostgreSQL

<inst_root>/apigee/var/log/apigee-postgresql

נתונים

רכיבים

מיקום

שרת ניהול

<data_root>/apigee/data/edge-management-server

נתב

<data_root>/apigee/data/edge-router

מעבד בקשות

<data_root>/apigee/data/edge-message-processor

סוכן Apigee Qpid

<data_root>/apigee/data/edge-qpid-server

סוכן Postgres של Apigee

<data_root>/apigee/data/edge-postgres-server

ZooKeeper

<data_root>/apigee/data/apigee-zookeeper

OpenLDAP

<data_root>/apigee/data/apigee-openldap

Cassandra

<data_root>/apigee/data/apigee-cassandra/data

Qpidd

<data_root>/apigee/data/apigee-qpid/data

מסד נתונים של PostgreSQL

<data_root>/apigee/data/apigee-postgres/pgdata