דרישות חומרה
כדי לקבל רמת זמינות גבוהה, צריך לעמוד בדרישות החומרה המינימליות הבאות בסביבת ייצור.
בסרטון הבא מוסבר איך לקבוע את הגודל הרצוי לכם בהתקנה:
עבור כל תרחישי ההתקנה שמתוארים בטופולוגיות ההתקנה, הטבלאות הבאות מפרטות דרישות חומרה מינימליות עבור רכיבי ההתקנה.
בטבלאות האלה דרישות הדיסק הקשיח הן בנוסף לשטח הדיסק הקשיח שנדרש על ידי במערכת ההפעלה. בהתאם לאפליקציות ולתנועה ברשת שלך, ייתכן שההתקנה דורש יותר או פחות משאבים מהמפורט בהמשך.
רכיב התקנה | 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, עם תמיכה ב-1000 IOPS ומעלה* |
Analytics – פעולות העברה במאסטר או במצב המתנה (עצמאי) | 16GB* | 8 ליבות* | אחסון ברשת בנפח 500GB עד 1TB*****, רצוי עם קצה עורפי מסוג SSD שתומך ב-1,000 IOPS או יותר* |
Analytics – Qpid עצמאי | 8GB | 4 ליבות | אחסון מקומי בנפח 30GB עד 50GB עם SSD
גודל ברירת המחדל של תור Qpid הוא 1GB, ואפשר להגדיל אותו ל-2GB. אם צריך יותר קיבולת, מוסיפים צמתים נוספים של Qpid. |
שרת OpenLDAP/UI/Management | 8GB | 4 ליבות | 60GB |
שרת UI/ניהול | 4GB | 2 ליבות | 60GB |
OpenLDAP (עצמאי) | 4GB | 2 ליבות | 60GB |
* התאמת דרישות המערכת של Postgres בהתאם לתפוקה:
** הערך של הדיסק הקשיח ב-Postgres מבוסס על ניתוח הנתונים שנוצר על ידי Edge מחוץ לתיבה. אם מוסיפים ערכים מותאמים אישית לנתוני הניתוח, צריך להגדיל את הערכים האלה בהתאם. כדי להעריך את נפח האחסון הנדרש, משתמשים בנוסחה הבאה:
לדוגמה:
*** מומלץ להשתמש ב-Network Storage למסד הנתונים של Postgresql כי:
|
בנוסף, אלה דרישות החומרה הנדרשות להתקנה של שירותי המונטיזציה (לא נתמכים בהתקנה של All-in-One):
רכיב עם מונטיזציה | RAM | CPU | דיסק קשיח |
---|---|---|---|
שרת ניהול (עם שירותי מונטיזציה) | 8GB | 4 ליבות | 60GB |
Analytics – Postgres/Qpid באותו שרת | 16GB | 8 ליבות | 500GB - 1TB אחסון ברשת, עדיף עם קצה עורפי SSD, עם תמיכה ב-1000 IOPS או גבוהה יותר, או להשתמש בכלל מהטבלה שלמעלה. |
Analytics – שרת ראשי או שרת ניצב עצמאי של Postgres | 16GB | 8 ליבות | אחסון ברשת בנפח 500GB עד 1TB, רצוי עם קצה עורפי מסוג SSD שתומך ב-1,000 IOPS או יותר, או שימוש בכלל מהטבלה שלמעלה. |
Analytics – Qpid עצמאי | 8GB | 4 ליבות | אחסון מקומי בנפח 40GB - 500GB עם SSD או HDD מהיר
להתקנות של יותר מ-250 TPS, מומלץ להשתמש בדיסק קשיח עם אחסון מקומי שתומך ב-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.
כדי ליצור את הקישור הסימבולי, צריך לבצע את השלבים הבאים לפני שמורידים את הקובץ shoestrap_4.52.01.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.
- משנים את הבעלות על ה-root של ההתקנה ועל הקישור הלא ישיר למשתמש 'apigee':
chown -h apigee:apigee /srv/myInstallDir /opt/apigee
הגדרת רשת
ב-Apigee מומלץ לבדוק את הגדרות הרשת לפני ההתקנה. מנהל ההתקנה מצפה שלכל המכונות יהיו כתובות IP קבועות. השתמשו בפקודות הבאות כדי לאמת הגדרה:
hostname
מחזיר את שם המכונהhostname -i
מחזיר את כתובת ה-IP של שם המארח שניתן לכתובת ממנו למכונות אחרות.
בהתאם לסוג ולגרסה של מערכת ההפעלה, יכול להיות שתצטרכו לערוך את /etc/hosts
ו-/etc/sysconfig/network
אם שם המארח לא מוגדר בצורה נכונה. מידע נוסף זמין במסמכי התיעוד של מערכת ההפעלה הספציפית.
אם לשרת יש כמה כרטיסי ממשק, הפקודה hostname -i מחזירה רשימה של כתובות IP מופרדות בפסיקים. כברירת מחדל, מנהל ההתקנה של Edge משתמש בכתובת ה-IP הראשונה שמוחזרת, עשוי להיות שגוי בכל המצבים. לחלופין, אפשר להגדיר את המאפיין הבא בקובץ התצורה של ההתקנה:
ENABLE_DYNAMIC_HOSTIP=y
כאשר המאפיין מוגדר ל-"y", מנהל ההתקנה ינחה אתכם לבחור את כתובת ה-IP שתשמש בתור חלק מההתקנה. ערך ברירת המחדל הוא 'n'. מידע נוסף זמין בחומר העזר בנושא קובץ תצורת קצה.
רכיבי wrapper של TCP
רכיבי wrapper של TCP יכולים לחסום את התקשורת של יציאות מסוימות, והם יכולים להשפיע על OpenLDAP, Postgres ו-OpenLDAP
התקנה של Cassandra. בצמתים האלה, צריך לבדוק את /etc/hosts.allow
/etc/hosts.deny
כדי לוודא שאין הגבלות על יציאות
יציאות OpenLDAP, Postgres ו-Cassandra.
מכשירי iptable
מוודאים שאין כללי מדיניות של iptables שמונעים קישוריות בין צמתים ביציאות Edge הנדרשות. אם צריך, אפשר לעצור את iptables במהלך ההתקנה באמצעות הפקודה:
sudo/etc/init.d/iptables stop
ב-CentOS 7.x:
systemctl stop firewalld
גישה לספרייה
בטבלה הבאה מפורטים ספריות בצמתים של Edge שיש להן דרישות מיוחדות מתהליכי Edge:
שירות | ספרייה | תיאור |
---|---|---|
נתב | /etc/rc.d/init.d/functions |
Edge Router משתמש בנתב Nginx ודורש הרשאת קריאה ל- אם תהליך האבטחה שלכם מחייב להגדיר הרשאות ב- אפשר להגדיר את ההרשאות ל-744 כדי לאפשר גישה לקריאה ל- |
שומר גן חיות | /dev/random |
ספריית הלקוח שלzokeeper דורשת גישת קריאה למחולל המספרים האקראיים
/dev/random אם /dev/random חסום לקריאה, יכול להיות ששירות Zookeeper לא יופעל. |
קסנדרה
כל צמתים של Cassandra חייבים להיות מחוברים ל-ring. Cassandra מאחסנת רפליקציות של נתונים כדי להבטיח אמינות ועמידות בפני תקלות. אסטרטגיית הרפליקציה לכל מרחב המקשים Edge קובע את צומתי Cassandra שבהם מוצבים רפליקות. מידע נוסף זמין במאמר מידע על גורם הרפליקציה ורמת העקביות של Cassandra.
גודל הערימה של Java ב-Cassandra מכוונן אוטומטית את גודל הערימה של Java בהתאם לזיכרון הזמין. למידע נוסף, ראו התאמת משאבי Java במקרה של ירידה בביצועים או צריכת זיכרון גבוהה.
אחרי שמתקינים את Edge לענן פרטי, אפשר לבדוק ש-Cassandra מוגדרת
נכון באמצעות עיון ב/opt/apigee/apigee-cassandra/conf/cassandra.yaml
חדש. לדוגמה, מוודאים שסקריפט ההתקנה של Edge for Private Cloud מגדיר את המאפיינים הבאים:
cluster_name
initial_token
partitioner
seeds
listen_address
rpc_address
snitch
מסד נתונים של 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 בקטע רך וקשה, ללא קובץ ומרחב כתובות (כ)
משתמש התקנה (ברירת המחדל היא '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
- בצמתים של מעבדי ההודעות, מגדירים את המספר המקסימלי של מתארי הקבצים הפתוחים ל-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 לקבלת דרכים נוספות לפתרון בעיות.
שירותי אבטחת רשתות (NSS)
Network Security Services (NSS) היא קבוצה של ספריות שתומכות בפיתוח של אפליקציות לקוח ושרת עם אבטחה. צריך לוודא שהתקנתם את NSS בגרסה 3.19 ואילך.
כדי לבדוק את הגרסה הנוכחית:
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:
- בכל צומת של Message Processor, עורכים את
/etc/nscd.conf
- מגדירים את המאפיין הבא:
enable-cache hosts no
השבתת IPv6 בפלטפורמת Google Cloud עבור RedHat/CentOS 7
אם מתקינים את Edge ב-RedHat 7 או ב-CentOS 7 ב-Google Cloud Platform, צריך להשבית את IPv6 בכל צמתים של Qpid.
אפשר לעיין בתיעוד של RedHat או CentOS לגבי הגרסה הספציפית של מערכת ההפעלה. השבתת IPv6. לדוגמה, אפשר:
- פתיחת
/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 |
RPM |
לחלץ את הקובץ |
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
כדי להתקין את
של Google. האפשרות הזו שימושית במיוחד ליצירת רפליקה של הגדרות 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 לפריסה בענן פרטי ולמארחים וירטואליים. כדי להבהיר, יש שני סוגים של
שימושים במונח virtual
:
- מכונות וירטואליות (VM): לא חובה, אבל בחלק מהפריסה נעשה שימוש בטכנולוגיית VM ליצור שרתים מבודדים לרכיבי Apigee שלהם. למארחי מכונות וירטואליות, כמו מארחים פיזיים, יכולים להיות ממשקי רשת וחומות אש.
- מארחים וירטואליים: נקודות קצה באינטרנט, בדומה למארח וירטואלי של Apache.
נתב במכונה וירטואלית יכול לחשוף כמה מארחים וירטואליים (כל עוד הם שונים זה מזה) את כינוי המארח או ביציאת הממשק שלהם).
בדוגמה למתן שמות, A
יכול להפעיל שתי מכונות וירטואליות,
בשם 'VM1' ו-'VM2'. נניח ש-'VM1' חושף ממשק אתרנט וירטואלי, שקיבל את השם
'eth0' במכונה הווירטואלית, שכתובת ה-IP שמוקצית לה 111.111.111.111
מכונות וירטואליות או שרת DHCP ברשת; ואז נניח ש-VM2 חושפת
ממשק אתרנט נקרא גם "eth0" מוקצית לו כתובת IP
111.111.111.222
.
יכול להיות שיש לנו נתב Apigee שפועל בכל אחת משתי המכונות הווירטואליות. הנתבים חושפים מארח וירטואלי נקודות קצה (endpoints), כמו בדוגמה ההיפותטית הזאת:
הנתב של 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 יכולות לשתף נקודת קצה אם יש להן נתיבי בסיס שונים. לדוגמה, אפשר להגדיר נתיב בסיס אחד בתור 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
. אם לא תצהירו
Basepath בפריסה, אז הנתב לא יודע איזה 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.