סקירה כללית של התקנת קצה

Edge for Private Cloud גרסה 4.16.09

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

תהליך ההתקנה

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

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

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

טיפול בכשל בהתקנה

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

הגדרת שכפול של מצב המתנה ראשי של Postgres

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

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

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

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

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

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

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

  • פקודות השירות apigee-service, כולל:
    • פקודות apigee-service כמו התחלה, עצירה, הפעלה מחדש, הגדרה.
    • פקודות apigee-all כמו התחלה, עצירה, הפעלה מחדש, הגדרה.

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

installUser        ALL=(apigee)      NOPASSWD: ALL

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

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

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

  1. יוצרים את הקובץ בעורך בתור כל משתמש.
  2. כוונו את הבעלים של הקובץ ל-"apigee:apigee". לחלופין, אם שיניתם את המשתמש שמפעיל את שירות Edge ממשתמש "apigee", תוכלו להעביר את הקובץ למשתמש שהפעיל את שירות Edge.

המיקום של קובצי תצורת ההתקנה

חובה להעביר קובץ תצורה לכלי apigee-setup שמכיל את המידע על התקנת Edge. הדרישה היחידה בהתקנות שקטות היא שקובץ התצורה יהיה נגיש או קריא למשתמש ה-API. לדוגמה, צריך להוסיף את הקובץ לספרייה /usr/local/var או לספרייה /usr/local/share בצומת, ולהזין אותו ל-"apigee:apigee".

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

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

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

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

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

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

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

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

פתרון של יחסי תלות של התקנת 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 משווה את כותרת המארח של הבקשה הנכנסת לרשימת כינויי המארח הזמינים כחלק מקביעת שרת ה-API של שרת ה-API שמטפל בבקשה. כששולחים בקשה דרך מארח וירטואלי, צריך לציין שם דומיין שתואם לכינוי המארח של מארח וירטואלי, או לציין את כתובת ה-IP של הנתב וכותרת המארח שמכילה את כינוי המארח.

לדוגמה, אם יצרתם מארח וירטואלי עם כינוי מארח של 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 יכול לגשת אל /etc/rc.d/init.d/functions

נתב Edge עם 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

בעזרת הכלי apige-service תוכלו לשלוט ברכיבים נפרדים ולהגדיר אותם. המבנה של הכלי apige-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 – רכיב מונטיזציה. לדוגמה edge-mint-management-server.
  • baas - רכיב BaaS של API. לדוגמה baas-usergrid.

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

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

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

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

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

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

פקודות Common Yum

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

  • מנקים את כל המטמון של Yum:
    sudo yum clear 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 לענן פרטי.

קובצי יומן

רכיבים

מיקום

שרת ניהול

<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

קסנדרה

<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

נציג של Apigee Postgres

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

ZooKeeper

<data_root>/apigee/data/apigee-zookeeper

OpenLDAP

<data_root>/apigee/data/apigee-openldap

קסנדרה

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

Qpidd

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

מסד נתונים PostgreSQL

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