דרישות החומרה
כדי לקבל רמת זמינות גבוהה, צריך לעמוד בדרישות החומרה המינימליות הבאות בסביבת ייצור.
בסרטון הבא מוסבר איך לקבוע את הגודל הרצוי לכם בהתקנה:
עבור כל תרחישי ההתקנה שמתוארים בטופולוגיות ההתקנה, הטבלאות הבאות מפרטות דרישות חומרה מינימליות עבור רכיבי ההתקנה.
בטבלאות האלה דרישות הדיסק הקשיח הן בנוסף לשטח הדיסק הקשיח שנדרש על ידי במערכת ההפעלה. בהתאם לאפליקציות ולתנועה ברשת שלך, ייתכן שההתקנה דורש יותר או פחות משאבים מהמפורט בהמשך.
רכיב התקנה | RAM | CPU | מינימום דיסק קשיח |
---|---|---|---|
קסנדרה | 16GB | 8 ליבות | אחסון מקומי בנפח 250GB עם SSD שתומך ב-2000 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, עם תמיכה ב-1000 IOPS ומעלה* |
Analytics – Qpid עצמאי | 8GB | 4 ליבות | 30GB - אחסון מקומי של 50GB עם SSD
גודל ברירת המחדל של תור Qpid הוא 1GB, ואפשר להגדיל אותו ל-2GB. אם צריך יותר קיבולת, להוסיף עוד צומתי Qpid. |
OpenLDAP/ממשק משתמש/שרת ניהול | 8GB | 4 ליבות | 60GB |
ממשק משתמש/שרת ניהול | 4GB | 2 ליבות | 60GB |
OpenLDAP (עצמאי) | 4GB | 2 ליבות | 60GB |
* התאמת דרישות המערכת של Postgres בהתאם לתפוקה:
** הערך של הדיסק הקשיח ב-Postgres מבוסס על ניתוח הנתונים שנוצר על ידי Edge מחוץ לתיבה. אם מוסיפים ערכים מותאמים אישית לנתוני הניתוח, צריך להגדיל את הערכים האלה בהתאם. משתמשים בנוסחה הבאה כדי להעריך את נפח האחסון הנדרש:
לדוגמה:
*** מומלץ להשתמש באחסון רשת עבור מסד נתונים של Postgresql מהסיבות הבאות:
|
בנוסף, בהמשך מפורטות דרישות החומרה אם ברצונך להתקין את שירותי מונטיזציה (לא נתמכים בהתקנה של All-in-One):
רכיב עם מונטיזציה | RAM | CPU | דיסק קשיח |
---|---|---|---|
שרת ניהול (עם שירותי מונטיזציה) | 8GB | 4 ליבות | 60GB |
Analytics – Postgres/Qpid באותו שרת | 16GB | 8 ליבות | 500GB - 1TB אחסון ברשת, עדיף עם קצה עורפי SSD, עם תמיכה ב-1000 IOPS או גבוהה יותר, או להשתמש בכלל מהטבלה שלמעלה. |
Analytics – העברות ראשיות או זמניות במצב המתנה בנפרד | 16GB | 8 ליבות | 500GB - 1TB אחסון ברשת, עדיף עם קצה עורפי SSD, עם תמיכה ב-1000 IOPS או גבוהה יותר, או להשתמש בכלל מהטבלה שלמעלה. |
Analytics – Qpid עצמאי | 16GB | 8 ליבות | אחסון מקומי בנפח 40GB - 500GB עם SSD או HDD מהיר
עבור התקנות מעל 250 TPS, HDD עם אחסון מקומי שתומך ב-1000 IOPS הוא מומלץ. |
מערכת הפעלה וצד שלישי דרישות תוכנה
הנחיות ההתקנה וקובצי ההתקנה שסופקו נבדקו במערכות ההפעלה ובתוכנות צד שלישי המפורטות ב תוכנות נתמכות וגרסאות נתמכות
Java
נדרשת גרסה נתמכת של Java 1.8 בכל מחשב לפני ההתקנה. מפתחות ה-JDK הנתמכים מפורטים כאן תוכנות נתמכות וגרסאות נתמכות
צריך לוודא שמשתנה הסביבה JAVA_HOME
מפנה ל-Root של ה-JDK
שהמשתמש מבצע את ההתקנה.
SELinux
בהתאם להגדרות של SELinux, דפדפן Edge עשוי להיתקל בבעיות בהתקנה ובהפעלה רכיבי הקצה. במקרה הצורך, ניתן להשבית את SELinux או להגדיר אותו למצב מתירני במהלך בתהליך התקנה, ומפעילים אותה מחדש לאחר ההתקנה. למידע נוסף, ראו התקנת כלי ההגדרה של Edge apigee-setup.
יצירת 'apigee' משתמש
תהליך ההתקנה יוצר משתמש במערכת Unix בשם 'apigee'. ספריות קצה וגם הקבצים הם בבעלות 'apigee' וגם תהליכי Edge. כלומר רכיבי Edge פועלים 'apigee' משתמש. במקרה הצורך, אפשר להריץ רכיבים כמשתמש אחר.
ספריית התקנה
כברירת מחדל, מנהל ההתקנה כותב את כל הקבצים לספרייה /opt/apigee
. שלך
לא ניתן לשנות את מיקום הספרייה הזה. למרות שלא ניתן לשנות את הספרייה הזו, אפשר ליצור
קישור סימבולי למיפוי של /opt/apigee
למיקום אחר, כפי שמתואר ב-
יצירת קישור סימבולי מ-/opt/apigee.
בהוראות שבמדריך הזה, ספריית ההתקנה מצוינת
/opt/apigee
יצירת קישור סימבולי מ-/opt/apigee
לפני שיוצרים את הקישור הסמלי, צריך קודם ליצור משתמש וקבוצה בשם 'apigee'. הדבר אותה קבוצה ומשתמש שנוצרו על ידי מנהל ההתקנה של Edge.
כדי ליצור את הקישור הסימבולי, צריך לבצע את השלבים הבאים לפני שמורידים את הקובץ shoestrap_4.51.00.sh. צריך לבצע את כל השלבים האלה ברמה הבסיסית (root):
- יוצרים את ה-apigee משתמש וקבוצה:
groupadd -r apigee > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
- יוצרים קישור סימבולי מ-
/opt/apigee
לרמה הבסיסית (root) של ההתקנה:ln -Ts /srv/myInstallDir /opt/apigee
כאשר /srv/myInstallDir הוא המיקום הרצוי של קובצי ה-Edge.
- שינוי הבעלות על הרמה הבסיסית (root) של ההתקנה והקישור הסמלי ל-apigee user:
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
רכיבי wrapper של TCP יכולים לחסום את התקשורת של יציאות מסוימות, והם יכולים להשפיע על OpenLDAP, Postgres ו-
התקנה של Cassandra. בצמתים האלה, צריך לבדוק את /etc/hosts.allow
/etc/hosts.deny
כדי לוודא שאין הגבלות על יציאות
יציאות OpenLDAP, Postgres ו-Cassandra.
מכשירי iptable
לבדוק שאין מדיניות של טבלאות IP שמונעת קישוריות בין צמתים יציאות ה-Edge הנדרשות. במקרה הצורך, אפשר להפסיק את מכשירי ה-iptable במהלך ההתקנה באמצעות הפקודה:
sudo/etc/init.d/iptables stop
ב-CentOS 7.x:
systemctl stop firewalld
גישה לספרייה
בטבלה הבאה מפורטות הספריות בצמתי Edge שיש להן דרישות מיוחדות: תהליכי קצה:
שירות | ספרייה | תיאור |
---|---|---|
נתב | /etc/rc.d/init.d/functions |
נתב Edge משתמש בנתב NGINX וזקוק לגישת קריאה כדי
אם תהליך האבטחה מחייב אתכם להגדיר הרשאות
אפשר להגדיר הרשאות ל-744 כדי לאפשר גישת קריאה ל
|
שומר גן חיות | /dev/random |
ספריית הלקוח שלzokeeper דורשת גישת קריאה למחולל המספרים האקראיים
/dev/random אם /dev/random חסום בזמן הקריאה,
יכול להיות שלא תהיה אפשרות להפעיל את השירות שלzokeeper. |
קסנדרה
כל הצמתים של Cassandra חייבים להיות מחוברים לטבעת. 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
מידע נוסף זמין במאמר הבא: הגדרות ייצור מומלצות במסמכי התיעוד של 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 לקבלת דרכים נוספות לפתרון בעיות.
שירותי אבטחת רשתות (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 פלטפורמה ל-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 |
סיבובים לדקה |
לפרוס את קובץ ה-ZIP |
שם בסיס |
GRep |
lua-socket |
rpm2cpio |
הוספת משתמש |
באש |
hostname |
ls |
Sed |
wc |
bc |
id [מזהה] |
רשת כלים |
sudo |
wget |
curl |
ליביו |
perl (מ-procps) |
זפת |
Xerces-c |
קירוס-סאסל | libdb4 | pgRep (מ-procps) | tr | טעים |
תאריך |
libdb-cxx |
PS |
Uuid |
chkconfig |
dirname | ליביבים | pwd | אושם | |
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 יכולות לשתף נקודת קצה אם הן שונות
בדרכי בסיס. לדוגמה, אפשר להגדיר ל-basepath אחד כ-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.