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

Edge for Private Cloud גרסה 4.16.05

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

תהליך ההתקנה

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

  • משביתים את SELinux בצומת או מגדירים אותו למצב מתיר. בהתקנת כלי ההגדרה של Edge apigee-setup עוד.
  • בוחרים את ההגדרות האישיות של 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 ליותר.
  • משתמשים ב-apigee-setup להתקנת רכיב Edge אחד או יותר בכל צומת, בהתאם שבחרת בטופולוגיה.
    התקנה של רכיבי Edge בצומת
  • בצומת של שרת הניהול, משתמשים בכלי ההגדרה apigee-setup כדי להתקין את ניהול ההקצאות apigee. כלי השירות שבהם אתם משתמשים כדי ליצור ולנהל ארגוני Edge.
    מידע נוסף זמין במאמר הצטרפות לארגון.

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

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

הגדרת מצב המתנה ראשי ב-Postgres רפליקציה

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

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

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

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

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

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

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

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

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

installUser        ALL=(apigee)      NOPASSWD: ALL

כאשר installUser הוא שם המשתמש של האדם שאיתו הוא עובד קצה.

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

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

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

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

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

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

מידע נוסף מופיע בקטע התקנת רכיבי Edge בצומת עבור עוד.

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

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

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

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

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

פתרון יחסי תלות של התקנות לפי הכנסה לאלף צפיות (RPM)

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

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

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

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

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

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

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

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

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

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

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

    תפס 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 של הנתב והיציאה של המארח הווירטואלי, בפורמט &lt;routerIP&gt;:port. לדוגמה:

192.168.1.31:9001

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

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

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

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

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

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

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

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

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

קובץ היומן עבור 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.

במדריך הזה ובמדריך הפעולות של הקצה, מופיעה ספריית התקנה הבסיסית כ:

<inst_root>/apigee

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

קובצי יומן

רכיבים

מיקום

שרת ניהול

&lt;inst_root&gt;/apigee/var/log/edge-management-server

נתב

&lt;inst_root&gt;/apigee/var/log/edge-router

מעבד בקשות

&lt;inst_root&gt;/apigee/var/log/edge-message-processor

שרת Apigee Qpid

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

שרת Postgres של Apigee

&lt;inst_root&gt;/apigee/var/log/edge-postgres-server

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

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

ZooKeeper

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

OpenLDAP

&lt;inst_root&gt;/apigee/var/log/apigee-openldap

קסנדרה

&lt;inst_root&gt;/apigee/var/log/apigee-cassandra

Qpidd

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

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

&lt;inst_root&gt;/apigee/var/log/apigee-postgresql

נתונים

רכיבים

מיקום

שרת ניהול

&lt;data_root&gt;/apigee/data/edge-management-server

נתב

&lt;data_root&gt;/apigee/data/edge-router

מעבד בקשות

&lt;data_root&gt;/apigee/data/edge-message-processor

סוכן Qpid של Apigee

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

סוכן Apigee Postgres

&lt;data_root&gt;/apigee/data/edge-postgres-server

ZooKeeper

&lt;data_root&gt;/apigee/data/apigee-zookeeper

OpenLDAP

&lt;data_root&gt;/apigee/data/apigee-openldap

קסנדרה

&lt;data_root&gt;/apigee/data/apigee-cassandra/data

Qpidd

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

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

&lt;data_root&gt;/apigee/data/apigee-postgres/pgdata