דרישות חומרה
כדי ליצור תשתית עם זמינות גבוהה בסביבת ייצור, צריך לעמוד בדרישות המינימליות הבאות לחומרה.
בסרטון הבא מפורטות הנחיות ברמה גבוהה לגבי הגודל של ההתקנה:
עבור כל תרחישי ההתקנה שמתוארים בטופולוגיות ההתקנה, הטבלאות הבאות מפרטות דרישות חומרה מינימליות עבור רכיבי ההתקנה.
בטבלאות האלה דרישות הדיסק הקשיח הן בנוסף לשטח הדיסק הקשיח שנדרש על ידי במערכת ההפעלה. בהתאם לאפליקציות ולתנועה ברשת שלך, ייתכן שההתקנה דורש יותר או פחות משאבים מהמפורט בהמשך.
רכיב התקנה | RAM | CPU | נפח דיסק קשיח מינימלי |
---|---|---|---|
Cassandra | 16GB | 8 ליבות | אחסון מקומי בנפח 250GB עם SSD שתומך ב-2000 IOPS |
מעבד/נתב הודעות באותה מכונה | 16GB | 8 ליבות | 100GB |
מעבד הודעות (עצמאי) | 16GB | 8 ליבות | 100GB |
נתב (עצמאי) | 16GB | 8 ליבות | 100GB |
Analytics – Postgres/Qpid באותו שרת | 16GB* | 8 ליבות* | אחסון ברשת בנפח 500GB עד 1TB*****, רצוי עם קצה עורפי מסוג SSD, שתומך ב-1,000 IOPS או יותר* |
Analytics – שרת ראשי או שרת זמין (standalone) של Postgres | 16GB* | 8 ליבות* | אחסון ברשת בנפח 500GB - 1TB*****, עדיף עם קצה עורפי של SSD, עם תמיכה ב-1000 IOPS ומעלה* |
Analytics – Qpid עצמאי | 16GB | 8 ליבות | 30GB - אחסון מקומי של 50GB עם SSD
גודל התור שמוגדר כברירת מחדל ב-Qpid הוא 1GB, ואפשר להגדיל אותו ל-2GB. אם צריך יותר קיבולת, להוסיף עוד צומתי Qpid. |
OpenLDAP/ממשק משתמש/שרת ניהול | 8GB | 4 ליבות | 60GB |
שרת UI/ניהול | 4GB | 2 ליבות | 60GB |
OpenLDAP (עצמאי) | 4GB | 2 ליבות | 60GB |
* שינוי דרישות המערכת של Postgres על סמך תפוקת הנתונים:
** הערך של דיסק הקש של Postgres מבוסס על ניתוח הנתונים המובנה ש-Edge מתעד. אם מוסיפים ערכים מותאמים אישית לנתוני Analytics, צריך להגדיל את הערכים האלה בהתאם. משתמשים בנוסחה הבאה כדי להעריך את נפח האחסון הנדרש:
לדוגמה:
*** מומלץ להשתמש באחסון ברשת למסד נתונים של 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
מפנה ל-Root של ה-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.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
לרמה הבסיסית (root) של ההתקנה: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
אם שם המארח לא מוגדר בצורה נכונה. לקבלת מידע נוסף, אפשר לעיין בתיעוד של מערכת ההפעלה הספציפית.
אם לשרת יש מספר כרטיסי ממשק, השם המארח -i הפקודה מחזירה תשובה מופרדת ברווחים של כתובות IP. כברירת מחדל, מנהל ההתקנה של Edge משתמש בכתובת ה-IP הראשונה שמוחזרת, ויכול להיות שהיא לא נכונה בכל המצבים. לחלופין, אפשר להגדיר את המאפיין הבא ב- קובץ התצורה של ההתקנה:
ENABLE_DYNAMIC_HOSTIP=y
כאשר המאפיין מוגדר ל-"y", מנהל ההתקנה ינחה אתכם לבחור את כתובת ה-IP שתשמש בתור חלק מההתקנה. ערך ברירת המחדל הוא 'n'. מידע נוסף זמין במאמר חומר עזר בנושא קובץ תצורה של Edge.
חבילות TCP
חבילות TCP Wrappers יכולות לחסום תקשורת של יציאות מסוימות, ויכולות להשפיע על התקנת OpenLDAP, Postgres ו-Cassandra. בצמתים האלה, צריך לבדוק את /etc/hosts.allow
/etc/hosts.deny
כדי לוודא שאין הגבלות על יציאות
יציאות OpenLDAP, Postgres ו-Cassandra.
iptables
לבדוק שאין מדיניות של טבלאות IP שמונעת קישוריות בין צמתים יציאות ה-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 כדי לאפשר גישה לקריאה ל- |
Zookeeper | /dev/random |
ספריית הלקוח של Zookeeper דורשת הרשאת קריאה למחולל המספרים האקראיים
/dev/random . אם /dev/random חסום לקריאה, יכול להיות ששירות Zookeeper לא יופעל. |
קסנדרה
כל צמתים של Cassandra חייבים להיות מחוברים ל-ring. Cassandra מאחסנת רפליקציות של נתונים כדי להבטיח אמינות ועמידות בפני תקלות. אסטרטגיית הרפליקציה לכל מרחב המקשים Edge קובע את צומתי Cassandra שבהם מוצבים רפליקות. מידע נוסף זמין במאמר מידע על Cassandra גורם רפליקציה ורמת עקביות.
גודל הערימה של Java ב-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 ושל Message Processor:
- בצמתים של 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. כשמשתמשים ב-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 |
סיבובים לדקה |
לחלץ את הקובץ |
basename |
grep |
lua-socket |
rpm2cpio |
useradd |
bash |
hostname |
ls |
Sed |
wc |
bc |
id [מזהה] |
net-tools |
sudo |
wget |
curl |
ליביו |
perl (מ-procps) |
זפת |
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 לענן פרטי ומארחים וירטואליים. לשם הבהרה, יש שני שימושים עיקריים למונח virtual
:
- מכונות וירטואליות (VM): לא חובה, אבל בחלק מהפריסות נעשה שימוש בטכנולוגיית 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 להתחבר.
נתיב הבסיס הוא הרכיב השלישי שמעורב בחיבור קריאות ל-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.