דרישות חומרה
כדי לקבל תשתית עם זמינות גבוהה בסביבה ברמת ייצור, אתם צריכים לעמוד בדרישות החומרה המינימליות הבאות.
בסרטון הבא מוצגות הנחיות כלליות לשינוי הגודל של ההתקנה:
לכל תרחישי ההתקנה שמתוארים בטופולוגיות ההתקנה, בטבלאות הבאות מפורטות דרישות החומרה המינימליות לרכיבי ההתקנה.
בטבלאות האלה הדרישות לדיסק הקשיח נוספות לשטח הדיסק הקשיח שדרוש על ידי מערכת ההפעלה. בהתאם לאפליקציות ולתנועת הגולשים ברשת, יכול להיות שההתקנה תדרוש יותר או פחות משאבים מהרשימה הבאה.
רכיב התקנה | RAM | CPU | מספר מינימלי של כונן קשיח |
---|---|---|---|
קסנדרה | 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 – ראשי של Postgres או מצב המתנה (עצמאי) | 16GB* | 8 ליבות* | אחסון ברשת בנפח 500GB – 1TB**, ***, עדיף עם קצה עורפי של SSD עם תמיכה ב-1000 IOPS ומעלה* |
Analytics – Qpid עצמאי | 8GB | 4 ליבות | 30GB - 50GB אחסון מקומי עם SSD
גודל ברירת המחדל של התור ל-Qpid הוא 1GB, ואפשר להגדיל אותו ל-2GB. אם צריך עוד קיבולת, אפשר להוסיף עוד צומתי Qpid. |
OpenLDAP/UI/שרת ניהול | 8GB | 4 ליבות | 60GB |
שרת ניהול/ממשק משתמש | 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, שתומך ב- 1000 IOPS ומעלה, או להשתמש בכלל שמופיע בטבלה שלמעלה. |
Analytics – Qpid עצמאי | 8GB | 4 ליבות | 40GB - 500GB אחסון מקומי עם SSD או HDD מהיר
בהתקנות מעל 250 TPS, מומלץ להשתמש ב-HDD עם אחסון מקומי שתומך ב- 1000 IOPS. |
דרישות לגבי מערכת ההפעלה ותוכנה של צד שלישי
הוראות ההתקנה האלה וקובצי ההתקנה שסופקו נבדקו במערכות ההפעלה ובתוכנות הצד השלישי שמופיעות בתוכנות נתמכות ובגרסאות נתמכות.
Java
לפני ההתקנה, נדרשת גרסה נתמכת של Java 1.8 שמותקנת בכל מחשב. מפתחות ה-JDK הנתמכים מפורטים בתוכנות הנתמכות ובגרסאות הנתמכות.
חשוב לוודא שמשתנה הסביבה JAVA_HOME
מפנה לשורש של ה-JDK
עבור המשתמש שמבצע את ההתקנה.
SELinux
בהתאם להגדרות שקבעתם ל-SELinux, ייתכן ש-Edge ייתקל בבעיות בהתקנה ובהפעלה של רכיבי Edge. במידת הצורך, אפשר להשבית את SELinux או להגדיר אותה למצב מתירני במהלך ההתקנה, ואז להפעיל אותה מחדש לאחר ההתקנה. למידע נוסף, ראו התקנת כלי העזר להגדרה של Edge apigee.
יצירת המשתמש '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):
- יוצרים את המשתמש והקבוצה "API":
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.
- שינוי הבעלות על בסיס ההתקנה והקישור הסמלי למשתמש ה-API:
chown -h apigee:apigee /srv/myInstallDir /opt/apigee
הגדרת רשת
Apigee ממליץ לבדוק את הגדרת הרשת לפני ההתקנה. המתקין מצפה שלכל המכונות יהיו כתובות IP קבועות. כדי לבדוק את ההגדרה, משתמשים בפקודות הבאות:
hostname
מחזיר את שם המכונהhostname -i
מחזירה את כתובת ה-IP של שם המארח שאפשר להפנות אליו ממכונות אחרות.
בהתאם לסוג של מערכת ההפעלה ולגרסה, יכול להיות שיהיה צורך לערוך את
/etc/hosts
ואת /etc/sysconfig/network
אם שם המארח לא
מוגדר בצורה נכונה. למידע נוסף, עיינו במסמכי התיעוד של מערכת ההפעלה הספציפית שבה אתם משתמשים.
אם לשרת יש כמה כרטיסי ממשק, הפקודה 'שם מארח -i' מחזירה רשימה של כתובות IP שמופרדות ברווחים. כברירת מחדל, מנהל ההתקנה של Edge משתמש בכתובת ה-IP הראשונה שמוחזרת, ויכול להיות שהיא לא תהיה נכונה בכל המצבים. לחלופין, אפשר להגדיר את המאפיין הבא בקובץ התצורה של ההתקנה:
ENABLE_DYNAMIC_HOSTIP=y
כשהמאפיין מוגדר ל-'y', מנהל ההתקנה יתבקש לבחור את כתובת ה-IP שתשמש כחלק מההתקנה. ערך ברירת המחדל הוא 'n'. מידע נוסף זמין בחומר העזר בנושא קובץ תצורת קצה.
קובצי wrapper של TCP
רכיבי TCP wrapper יכולים לחסום את התקשורת של יציאות מסוימות ולהשפיע על ההתקנה של OpenLDAP, Postgres ו-Cassandra. בצמתים האלה, צריך לבדוק את /etc/hosts.allow
ואת /etc/hosts.deny
כדי לוודא שאין הגבלות על היציאות
ביציאות הנדרשות של OpenLDAP, Postgres ו-Cassandra.
iPadtables
בודקים שאין כללי מדיניות ל-iptables שמונעים קישוריות בין צמתים ביציאות הנדרשות של Edge. אם יש צורך, אפשר להפסיק את ה-iptable במהלך ההתקנה באמצעות הפקודה:
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 |
לספריית הלקוח שלzokeeper נדרשת גישת קריאה למחולל המספרים האקראיים
/dev/random . אם /dev/random חסום בקריאה, יכול להיות שלא ניתן יהיה להפעיל את שירותzokeeper. |
קסנדרה
כל הצמתים של Cassandra חייבים להיות מחוברים לטבעת. Cassandra מאחסנת רפליקות של נתונים במספר צמתים כדי להבטיח אמינות ועמידות בפני תקלות. אסטרטגיית הרפליקציה לכל מרחב מפתחות של Edge קובעת את צומתי Cassandra שבהם ימוקמו רפליקות. מידע נוסף זמין במאמר מידע על גורם השכפול ורמת העקביות של Cassandra.
Cassandra מתאימה באופן אוטומטי את גודל הערימה של Java לזיכרון הזמין. למידע נוסף, תוכלו לקרוא את המאמר כוונון משאבי Java במקרה של ירידה בביצועים או צריכת זיכרון גבוהה.
אחרי שמתקינים את Edge for Private Cloud, אפשר לבדוק אם 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, צריך להגדיר מגבלות של מנעול רך וקשה, nofile ומרחב כתובות (כ) עבור משתמש ההתקנה (ברירת המחדל היא "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 כדי לקבל מידע נוסף על פתרון בעיות.
Network Security Services (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. יש להשבית חיפוש DNS ב-IPv6 כשמשתמשים ב-NSCD.
כדי להשבית את חיפוש 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 |
libxxt |
RPM |
unzip |
basename |
grep |
Lua-Socket |
rpm2cpio |
הוספת משתמש |
Bash |
hostname |
ls |
sed |
wc |
bc |
id |
net-tools |
sudo |
Wget |
curl |
Libaio |
perl (מ-procps) |
זפת |
xerces-c |
סירוס-סאסל | 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 כבר מותקן לפני הרצת סקריפט ההתקנה של Edge. ב-RHEL/CentOS, אפשר להריץ את
yum install openldap-clients openldap-servers
כדי להתקין את OpenLDAP.
בהתקנות של 13 מארחים ובהתקנות של 12 מארחים עם שני מרכזי נתונים, נדרשת שכפול של OpenLDAP כי יש מספר צמתים שמארחים את OpenLDAP.
חומות אש ומארחים וירטואליים
בדרך כלל, המונח virtual
מופיע בעומס יתר בזירת ה-IT. כך הוא מתרחש ב-Apigee Edge לפריסה של ענן פרטי ומארחים וירטואליים. לשם הבהרה, יש שני
שימושים עיקריים במונח virtual
:
- מכונות וירטואליות (VM): לא חובה, אבל בחלק מהפריסות נעשה שימוש בטכנולוגיית מכונות וירטואליות כדי ליצור שרתים מבודדים לרכיבי Apigee שלהם. למארחים של מכונות וירטואליות, כמו למארחים פיזיים, יכולים להיות ממשקי רשת וחומות אש.
- מארחים וירטואליים: נקודות קצה באינטרנט, שדומות למארח וירטואלי של Apache.
נתב במכונה וירטואלית יכול לחשוף כמה מארחים וירטואליים (כל עוד הם שונים זה מזה בכינוי המארח או ביציאת הממשק).
רק כדוגמה למתן שמות, בשרת פיזי יחיד A
עשוי לפעול שתי מכונות וירטואליות בשם "VM1" ו-"VM2". נניח ש-"VM1" חושפת ממשק Ethernet וירטואלי שנקרא eth0 בתוך המכונה הווירטואלית, שמוקצה לו כתובת ה-IP 111.111.111.111
על ידי מכונות הווירטואליות או שרת DHCP של הרשת. לאחר מכן, נניח ש-VM2 חושפת ממשק Ethernet וירטואלי שנקרא גם '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 להתחבר.
ה-Basepath הוא הרכיב השלישי שמעורב בניתוב קריאות ל-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
. אם לא מצהירים על נתיב בסיס בפריסה, הנתב לא יידע לאיזה 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 Sales.