דרישות חומרה
כדי להשתמש בתשתית עם זמינות גבוהה בסביבה ברמת ייצור, אתם צריכים לעמוד בדרישות המינימליות הבאות לחומרה.
בסרטון הבא מוסבר איך לבחור את הגודל המתאים להתקנה:
בכל תרחישי ההתקנה שמתוארים בקטע טופולוגיות של התקנה, הטבלאות הבאות מפרטות את דרישות החומרה המינימליות לרכיבי ההתקנה.
בטבלאות האלה, הדרישות לגבי הדיסק הקשיח הן בנוסף למקום בכונן הקשיח שנדרש למערכת ההפעלה. בהתאם לאפליקציות ולתנועה ברשת, יכול להיות שההתקנה תדרוש יותר או פחות משאבים מאלה שמפורטים בהמשך.
| רכיב ההתקנה | RAM | מעבד (CPU) | כונן קשיח מינימלי |
|---|---|---|---|
| Cassandra | 16GB | 8 ליבות | אחסון מקומי בנפח 250GB עם SSD שתומך ב-2,000 IOPS |
| מעבד בקשות/נתב באותו מחשב | 16GB | 8 ליבות | 100GB |
| מעבד בקשות (עצמאי) | 16GB | 8 ליבות | 100GB |
| נתב (עצמאי) | 16GB | 8 ליבות | 100GB |
| Analytics – Postgres/Qpid באותו שרת | 16GB* | 8 ליבות* | אחסון ברשת*** בנפח 500GB עד 1TB**, רצוי עם קצה עורפי של SSD, שתומך ב-1,000 IOPS או יותר* |
| Analytics – ראשי או המתנה (עצמאי) של Postgres | 16GB* | 8 ליבות* | אחסון ברשת*** בנפח 500GB עד 1TB**, רצוי עם קצה עורפי של SSD, שתומך ב-1,000 IOPS או יותר* |
| Analytics - Qpid standalone | 16GB | 8 ליבות | אחסון מקומי בנפח 30GB עד 50GB עם SSD
גודל ברירת המחדל של התור ב-Qpid הוא 1GB, ואפשר להגדיל אותו ל-2GB. אם צריך קיבולת נוספת, מוסיפים עוד צומתי Qpid. |
| שרת OpenLDAP/ממשק משתמש/ניהול | 8GB | 4 ליבות | 60GB |
| שרת ממשק משתמש/ניהול | 4GB | 2 ליבות | 60GB |
| OpenLDAP (עצמאי) | 4GB | 2 ליבות | 60GB |
|
* התאמת דרישות המערכת של Postgres על סמך הקיבולת:
** הערך של הדיסק הקשיח של Postgres מבוסס על ניתוח הנתונים המובנה שמתבצע על ידי Edge. אם מוסיפים ערכים מותאמים אישית לנתוני הניתוח, צריך להגדיל את הערכים האלה בהתאם. כדי להעריך את נפח האחסון הנדרש, אפשר להשתמש בנוסחה הבאה:
לדוגמה:
*** מומלץ להשתמש באחסון ברשת למסד נתונים של Postgresql כי:
|
|||
בנוסף, ברשימה הבאה מפורטות דרישות החומרה להתקנת שירותי Monetization (לא נתמכים בהתקנת All-in-One):
| רכיב עם מונטיזציה | RAM | מעבד (CPU) | כונן קשיח |
|---|---|---|---|
| שרת ניהול (עם שירותי מונטיזציה) | 8GB | 4 ליבות | 60GB |
| Analytics – Postgres/Qpid באותו שרת | 16GB | 8 ליבות | אחסון ברשת בנפח 500GB עד 1TB, רצוי עם קצה עורפי של SSD, שתומך ב-1,000 פעולות קלט/פלט לשנייה או יותר, או להשתמש בכלל מהטבלה שלמעלה. |
| Analytics – מאסטר או המתנה עצמאיים של Postgres | 16GB | 8 ליבות | אחסון ברשת בנפח 500GB עד 1TB, רצוי עם קצה עורפי של SSD, שתומך ב-1,000 פעולות קלט/פלט לשנייה או יותר, או להשתמש בכלל מהטבלה שלמעלה. |
| Analytics - Qpid standalone | 8GB | 4 ליבות | אחסון מקומי בנפח 40GB עד 500GB עם SSD או HDD מהיר
בהתקנות עם יותר מ-250 TPS, מומלץ להשתמש ב-HDD עם אחסון מקומי שתומך ב-1,000 IOPS. |
דרישות מערכת ההפעלה ותוכנות צד שלישי
הוראות ההתקנה האלה וקובצי ההתקנה שסופקו נבדקו במערכות ההפעלה ובתוכנות הצד השלישי שמפורטות בקטע תוכנות נתמכות וגרסאות נתמכות.
Java
לפני ההתקנה, צריך להתקין גרסה נתמכת של Java 1.8 בכל מכונה. ערכות ה-JDK הנתמכות מפורטות בקטע תוכנות נתמכות וגרסאות נתמכות.
מוודאים שמשתנה הסביבה JAVA_HOME מפנה לשורש של ה-JDK של המשתמש שמבצע את ההתקנה.
SELinux
בהתאם להגדרות של SELinux, יכול להיות שיהיו בעיות בהתקנה ובהפעלה של רכיבי Edge. במקרה הצורך, אפשר להשבית את SELinux או להגדיר אותו למצב מתירני במהלך ההתקנה, ואז להפעיל אותו מחדש אחרי ההתקנה. מידע נוסף זמין במאמר התקנת כלי השירות apigee-setup של Edge.
יצירת המשתמש "apigee"
תהליך ההתקנה יוצר משתמש במערכת Unix בשם apigee. הספריות והקבצים של Edge נמצאים בבעלות של apigee, וכך גם התהליכים של Edge. כלומר, רכיבי Edge פועלים בתור המשתמש apigee. אם צריך, אפשר להפעיל רכיבים כמשתמש אחר.
ספריית ההתקנה
כברירת מחדל, תוכנית ההתקנה כותבת את כל הקבצים בספרייה /opt/apigee. אי אפשר לשנות את המיקום של הספרייה הזו. אי אפשר לשנות את הספרייה הזו, אבל אפשר ליצור קישור סימבולי כדי למפות את /opt/apigee למיקום אחר, כמו שמתואר בקטע יצירת קישור סימבולי מ- /opt/apigee.
בהוראות שבמדריך הזה, ספריית ההתקנה מצוינת בתור /opt/apigee.
יצירת קישור סימבולי מ- /opt/apigee
לפני שיוצרים את הקישור הסימבולי, צריך ליצור משתמש וקבוצה בשם "apigee". זו אותה קבוצה ואותו משתמש שנוצרו על ידי תוכנת ההתקנה של Edge.
כדי ליצור את הקישור הסימבולי, מבצעים את השלבים הבאים לפני שמורידים את הקובץ bootstrap_4.50.00.sh. צריך לבצע את כל השלבים האלה כמשתמש root:
- יוצרים את המשתמש והקבוצה "apigee":
groupadd -r apigee > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
- יוצרים קישור סימבולי מ-
/opt/apigeeאל ספריית הבסיס הרצויה להתקנה:ln -Ts /srv/myInstallDir /opt/apigee
כאשר /srv/myInstallDir הוא המיקום הרצוי של קובצי Edge.
- משנים את הבעלות על תיקיית הבסיס של ההתקנה והקישור הסימבולי למשתמש apigee:
chown -h apigee:apigee /srv/myInstallDir /opt/apigee
הגדרת רשת
מומלץ לבדוק את הגדרות הרשת לפני ההתקנה. תוכנת ההתקנה מצפה שלכל המכונות יהיו כתובות IP קבועות. כדי לאמת את ההגדרה, משתמשים בפקודות הבאות:
-
hostnameמחזירה את שם המכונה -
hostname -iמחזירה את כתובת ה-IP של השם המארח שאפשר לפנות אליו ממכונות אחרות.
בהתאם לסוג ולגרסה של מערכת ההפעלה, יכול להיות שתצטרכו לערוך את /etc/hosts ואת /etc/sysconfig/network אם שם המארח לא מוגדר בצורה נכונה. למידע נוסף, עיינו במסמכי התיעוד של מערכת ההפעלה הספציפית שלכם.
אם לשרת יש כמה כרטיסי ממשק, הפקודה "hostname -i" מחזירה רשימה של כתובות IP שמופרדות ברווחים. כברירת מחדל, תוכנת ההתקנה של Edge משתמשת בכתובת ה-IP הראשונה שמוחזרת, ויכול להיות שהיא לא תהיה נכונה בכל המצבים. לחלופין, אפשר להגדיר את המאפיין הבא בקובץ התצורה של ההתקנה:
ENABLE_DYNAMIC_HOSTIP=y
כשהמאפיין הזה מוגדר כ-"y", תוכנית ההתקנה מבקשת מכם לבחור את כתובת ה-IP שבה תשתמשו כחלק מההתקנה. ערך ברירת המחדל הוא "n". מידע נוסף זמין בחומר עזר בנושא קובץ תצורה של Edge.
TCP Wrappers
TCP Wrappers יכול לחסום תקשורת של יציאות מסוימות ולהשפיע על ההתקנה של OpenLDAP, Postgres ו-Cassandra. בצמתים האלה, בודקים את /etc/hosts.allow ואת /etc/hosts.deny כדי לוודא שאין הגבלות על היציאות הנדרשות של OpenLDAP, Postgres ו-Cassandra.
iptables
מוודאים שאין כללי מדיניות של iptables שמונעים קישוריות בין צמתים ביציאות הנדרשות של Edge. אם צריך, אפשר לעצור את iptables במהלך ההתקנה באמצעות הפקודה:
sudo/etc/init.d/iptables stop
ב-CentOS 7.x:
systemctl stop firewalld
גישה לספרייה
בטבלה הבאה מפורטות ספריות בצומתי Edge שיש להן דרישות מיוחדות מתהליכי Edge:
| שירות | ספרייה | תיאור |
|---|---|---|
| נתב | /etc/rc.d/init.d/functions |
הנתב של Edge משתמש בנתב Nginx ודורש גישת קריאה אל אם תהליך האבטחה מחייב הגדרת הרשאות ב- אפשר להגדיר את ההרשאות ל-744 כדי לאפשר גישת קריאה ל- |
| מטפל בגן חיות | /dev/random |
ספריית הלקוח של Zookeeper דורשת גישת קריאה למחולל המספרים האקראיים /dev/random. אם /dev/random חסום לקריאה, יכול להיות ששירות Zookeeper לא יופעל. |
Cassandra
כל הצמתים של Cassandra חייבים להיות מחוברים לטבעת. Cassandra מאחסנת עותקים משוכפלים של נתונים בכמה צמתים כדי להבטיח אמינות ועמידות בפני תקלות. אסטרטגיית השכפול של כל מרחב מפתחות ב-Edge קובעת את צומתי Cassandra שבהם ממוקמים העותקים המשוכפלים. מידע נוסף זמין במאמר מידע על פקטור הרפליקציה ורמת העקביות של Cassandra.
Cassandra מתאימה באופן אוטומטי את גודל ה-Java heap בהתאם לזיכרון הזמין. למידע נוסף, קראו את המאמר כוונון משאבי Java במקרה של פגיעה בביצועים או צריכת זיכרון גבוהה.
אחרי שמתקינים את Edge for Private Cloud, אפשר לבדוק אם Cassandra מוגדרת כמו שצריך באמצעות הקובץ /opt/apigee/apigee-cassandra/conf/cassandra.yaml. לדוגמה, מוודאים שסקריפט ההתקנה של Edge for Private Cloud הגדיר את המאפיינים הבאים:
cluster_nameinitial_tokenpartitionerseedslisten_addressrpc_addresssnitch
מסד נתונים של PostgreSQL
אחרי שמתקינים את Edge, אפשר לשנות את ההגדרות הבאות של מסד הנתונים של PostgreSQL בהתאם לכמות ה-RAM שזמינה במערכת:
conf_postgresql_shared_buffers = 35% of RAM # min 128kB conf_postgresql_effective_cache_size = 45% of RAM conf_postgresql_work_mem = 512MB # min 64kB
כדי להגדיר את הערכים האלה:
- עורכים את הקובץ postgresql.properties:
vi /opt/apigee/customer/application/postgresql.properties
אם הקובץ לא קיים, יוצרים אותו.
- מגדירים את המאפיינים שמפורטים למעלה.
- שומרים את השינויים.
- מפעילים מחדש את מסד הנתונים של PostgreSQL:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
מגבלות מערכת
מוודאים שהגדרתם את מגבלות המערכת הבאות בצומתי Cassandra ובצומתי מעבד הבקשות:
- בצמתים של Cassandra, מגדירים מגבלות רכות וקשות ל-memlock, ל-nofile ולמרחב הכתובות (as) למשתמש ההתקנה (ברירת המחדל היא "apigee") ב-
/etc/security/limits.d/90-apigee-edge-limits.conf, כמו שמוצג בהמשך:apigee soft memlock unlimited apigee hard memlock unlimited apigee soft nofile 32768 apigee hard nofile 65536 apigee soft as unlimited apigee hard as unlimited apigee soft nproc 32768 apigee hard nproc 65536
מידע נוסף זמין במאמר Recommended production settings במסמכי התיעוד של Apache Cassandra.
- בצמתים של מעבד הבקשות, מגדירים את המספר המקסימלי של תיאורי קבצים פתוחים ל-64K ב-
/etc/security/limits.d/90-apigee-edge-limits.conf, כמו שמוצג בהמשך:apigee soft nofile 32768 apigee hard nofile 65536
במקרה הצורך, אפשר להגדיל את המגבלה הזו. לדוגמה, אם יש לכם מספר גדול של קבצים זמניים שפתוחים בו-זמנית.
אם מופיעה השגיאה הבאה בנתב או במעבד בקשות
system.log, יכול להיות שהמגבלות של תיאורי הקבצים נמוכות מדי:"java.io.IOException: Too many open files"
כדי לבדוק את מגבלות המשתמשים, מריצים את הפקודה:
# su - apigee $ ulimit -n 100000
אם אתם עדיין מגיעים למגבלות של הקבצים הפתוחים אחרי שהגדרתם את המגבלות של תיאורי הקבצים לערך
100000, פתחו כרטיס תמיכה ב-Apigee Edge Support כדי לקבל עזרה נוספת בפתרון הבעיות.
שירותי אבטחת רשת (NSS)
Network Security Services (NSS) היא קבוצה של ספריות שתומכות בפיתוח של אפליקציות מאובטחות ללקוחות ולשרתים. חשוב לוודא שמותקנת גרסה 3.19 ומעלה של NSS.
כדי לבדוק את הגרסה הנוכחית:
yum info nss
כדי לעדכן את NSS:
yum update nss
מידע נוסף זמין במאמר הזה של RedHat.
השבתת חיפוש DNS ב-IPv6 כשמשתמשים ב-NSCD (Name Service Cache Daemon)
אם התקנתם והפעלתם את NSCD (Name Service Cache Daemon), מעבדי הבקשות מבצעים שני חיפושי DNS: אחד ל-IPv4 ואחד ל-IPv6. כשמשתמשים ב-NSCD, צריך להשבית את חיפוש ה-DNS ב-IPv6.
כדי להשבית את חיפוש ה-DNS ב-IPv6:
- בכל צומת של מעבד בקשות, עורכים את
/etc/nscd.conf - מגדירים את המאפיין הבא:
enable-cache hosts no
השבתת IPv6 ב-Google Cloud Platform ל-RedHat/CentOS 7
אם אתם מתקינים את Edge ב-RedHat 7 או ב-CentOS 7 ב-Google Cloud Platform, אתם צריכים להשבית את IPv6 בכל צומתי Qpid.
כדי להשבית את IPv6, עיינו במסמכי התיעוד של RedHat או CentOS לגרסת מערכת ההפעלה הספציפית שלכם. לדוגמה, אתם יכולים:
- פותחים את
/etc/hostsבכלי לעריכת טקסט. - מוסיפים את התו "#" בעמודה הראשונה של השורה הבאה כדי להפוך אותה להערה:
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- שומרים את הקובץ.
AWS AMI
אם אתם מתקינים את Edge ב-AWS Amazon Machine Image (AMI) ל-Red Hat Enterprise Linux 7.x, קודם צריך להריץ את הפקודה הבאה:
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
כלים
תוכנת ההתקנה משתמשת בכלי UNIX הבאים בגרסה הרגילה, כפי שסופקו על ידי EL5 או EL6.
|
awk |
expr |
libxslt |
סיבובים לדקה |
חילוץ ZIP |
|
basename |
grep |
lua-socket |
rpm2cpio |
useradd |
|
bash |
hostname |
ls |
sed |
wc |
|
bc |
id [מזהה] |
net-tools |
sudo |
wget |
|
curl |
libaio |
perl (מ-procps) |
tar |
xerces-c |
| cyrus-sasl | libdb4 | pgrep (מ-procps) | tr | טעים |
|
תאריך |
libdb-cxx |
ps |
uuid |
chkconfig |
| dirname | libibverbs | pwd | uname | |
| echo | librdmacm | python |
ntpdate
ב-Apigee מומלץ לסנכרן את השעונים של השרתים. אם עדיין לא הגדרתם את זה, אתם יכולים להשתמש בכלי ntpdate כדי לוודא שהשרתים מסונכרנים מבחינת הזמן. אפשר להשתמש ב-yum install ntp כדי להתקין את הכלי. האפשרות הזו שימושית במיוחד לשכפול הגדרות של OpenLDAP. שימו לב שאתם מגדירים את אזור הזמן של השרת לפי UTC.
openldap 2.4
ההתקנה המקומית דורשת את OpenLDAP 2.4. אם לשרת יש חיבור לאינטרנט, סקריפט ההתקנה של Edge מוריד ומתקין את OpenLDAP. אם לשרת אין חיבור לאינטרנט, צריך לוודא ש-OpenLDAP כבר מותקן לפני שמריצים את סקריפט ההתקנה של Edge. ב-RHEL/CentOS, אפשר להריץ את yum install openldap-clients openldap-servers כדי להתקין את OpenLDAP.
בהתקנות של 13 מארחים ובהתקנות של 12 מארחים עם שני מרכזי נתונים, נדרש שכפול של OpenLDAP כי יש כמה צמתים שמארחים את OpenLDAP.
חומות אש ומארחים וירטואליים
המונח virtual משמש לעיתים קרובות למטרות שונות בתחום ה-IT, וכך גם בפריסה של Apigee Edge for Private Cloud ובמארחים וירטואליים. כדי להבהיר, יש שני שימושים עיקריים למונח virtual:
- מכונות וירטואליות (VM): לא נדרשות, אבל בחלק מהפריסות נעשה שימוש בטכנולוגיית VM כדי ליצור שרתים מבודדים לרכיבי Apigee. למארחי מכונות וירטואליות, כמו למארחים פיזיים, יכולים להיות ממשקי רשת וחומות אש.
- מארחים וירטואליים: נקודות קצה באינטרנט, בדומה למארח וירטואלי של Apache.
נתב במכונה וירטואלית יכול לחשוף כמה מארחים וירטואליים (כל עוד הם שונים זה מזה בכינוי המארח או ביציאת הממשק שלהם).
לדוגמה, בשרת פיזי אחד A יכולות לפעול שתי מכונות וירטואליות, שנקראות VM1 ו-VM2. נניח ש-VM1 חושפת ממשק אתרנט וירטואלי, שנקרא eth0 בתוך המכונה הווירטואלית, ומוקצית לו כתובת ה-IP 111.111.111.111 על ידי מכונות הווירטואליזציה או שרת DHCP ברשת. נניח גם ש-VM2 חושפת ממשק אתרנט וירטואלי שנקרא גם eth0, ומוקצית לו כתובת ה-IP 111.111.111.222.
יכול להיות שנתב Apigee פועל בכל אחת משתי המכונות הווירטואליות. הנתבים חושפים נקודות קצה של מארחים וירטואליים, כמו בדוגמה ההיפותטית הזו:
הנתב של Apigee ב-VM1 חושף שלושה מארחים וירטואליים בממשק eth0 שלו (שיש לו כתובת IP ספציפית), api.mycompany.com:80, api.mycompany.com:443 ו-test.mycompany.com:80.
הנתב ב-VM2 חושף את api.mycompany.com:80 (אותו שם ואותה יציאה שנחשפו על ידי VM1).
יכול להיות שלמערכת ההפעלה של המארח הפיזי יש חומת אש ברשת. אם כן, צריך להגדיר את חומת האש הזו כך שתעביר תנועת TCP שמיועדת ליציאות שנחשפות בממשקים הווירטואליים (111.111.111.111:{80, 443} ו-111.111.111.222:80). בנוסף, יכול להיות שמערכת ההפעלה של כל מכונה וירטואלית מספקת חומת אש משלה בממשק eth0, וגם חומות האש האלה צריכות לאפשר לתנועה ביציאות 80 ו-443 להתחבר.
נתיב הבסיס הוא הרכיב השלישי שמעורב בניתוב קריאות ל-API לשרתי proxy שונים של API שאולי פרסתם. חבילות של שרתי proxy ל-API יכולות לשתף נקודת קצה (endpoint) אם יש להן נתיבי בסיס שונים. לדוגמה, אפשר להגדיר נתיב בסיס אחד בתור http://api.mycompany.com:80/ ונתיב בסיס אחר בתור http://api.mycompany.com:80/salesdemo.
במקרה כזה, צריך מאזן עומסים או מנהל תנועה כלשהו שיפצל את התנועה של http://api.mycompany.com:80/ בין שתי כתובות ה-IP (111.111.111.111 ב-VM1 ו-111.111.111.222 ב-VM2). הפונקציה הזו ספציפית להתקנה שלכם, ומוגדרת על ידי קבוצת הרשת המקומית.
נתיב הבסיס מוגדר כשפורסים API. בדוגמה שלמעלה, אתם יכולים לפרוס שני ממשקי API, mycompany ו-testmycompany, לארגון mycompany-org עם המארח הווירטואלי שיש לו את כינוי המארח api.mycompany.com והיציאה מוגדרת ל-80. אם לא תצהירו על נתיב בסיס בפריסה, הנתב לא יידע לאיזה API לשלוח את הבקשות הנכנסות.
עם זאת, אם פורסים את ה-API testmycompany עם כתובת ה-URL הבסיסית /salesdemo, המשתמשים ניגשים ל-API הזה באמצעות http://api.mycompany.com:80/salesdemo. אם פורסים את ה-API mycompany עם כתובת ה-URL הבסיסית /, המשתמשים ניגשים ל-API באמצעות כתובת ה-URL http://api.mycompany.com:80/.
רישוי
לכל התקנה של Edge נדרש קובץ רישיון ייחודי שמקבלים מ-Apigee. במהלך ההתקנה של שרת הניהול, תצטרכו לספק את הנתיב לקובץ הרישיון, לדוגמה: /tmp/license.txt.
ההתקנה מעתיקה את קובץ הרישיון אל /opt/apigee/customer/conf/license.txt.
אם קובץ הרישיון תקין, שרת הניהול מאמת את התפוגה ואת מספר מעבדי הבקשות (MP) המותרים. אם פג התוקף של אחת מהגדרות הרישיון, אפשר למצוא את היומנים במיקום הבא: /opt/apigee/var/log/edge-management-server/logs.
במקרה כזה, אתם יכולים לפנות לתמיכה של Apigee Edge כדי לקבל פרטים על ההעברה.
אם עדיין אין לכם רישיון, פנו למחלקת המכירות של Apigee.