דרישות התקנה

דרישות החומרה

כדי לקבל רמת זמינות גבוהה, צריך לעמוד בדרישות החומרה המינימליות הבאות בסביבת ייצור.

בסרטון הבא מוסבר איך לקבוע את הגודל הרצוי לכם בהתקנה:

עבור כל תרחישי ההתקנה שמתוארים בטופולוגיות ההתקנה, הטבלאות הבאות מפרטות דרישות חומרה מינימליות עבור רכיבי ההתקנה.

בטבלאות האלה דרישות הדיסק הקשיח הן בנוסף לשטח הדיסק הקשיח שנדרש על ידי במערכת ההפעלה. בהתאם לאפליקציות ולתנועה ברשת שלך, ייתכן שההתקנה דורש יותר או פחות משאבים מהמפורט בהמשך.

רכיב התקנה 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 עצמאי 16GB 8 ליבות 30GB - אחסון מקומי של 50GB עם SSD

גודל ברירת המחדל של תור Qpid הוא 1GB, ואפשר להגדיל אותו ל-2GB. אם צריך יותר קיבולת, להוסיף עוד צומתי Qpid.

OpenLDAP/ממשק משתמש/שרת ניהול 8GB 4 ליבות 60GB
ממשק משתמש/שרת ניהול 4GB 2 ליבות 60GB
OpenLDAP (עצמאי) 4GB 2 ליבות 60GB

* התאמת דרישות המערכת של Postgres בהתאם לתפוקה:

  • פחות מ-250 TPS: 8GB, 4 ליבות, אפשר להשתמש ברשת מנוהלת אחסון*** שתומך ב- 1000 IOPS ומעלה
  • יותר מ-250 TPS: 16GB, 8 ליבות, אחסון ברשת מנוהלת*** עם תמיכה ב- 1000 IOPS ומעלה
  • יותר מ-1,000 TPS: 16GB, 8 ליבות, אחסון ברשת מנוהלת*** עם תמיכה ב-2000 IOPS ומעלה
  • יותר מ-2000 TPS: 32GB, 16 ליבות, אחסון ברשת מנוהלת*** עם תמיכה ב-2000 IOPS ומעלה
  • יותר מ-4000 TPS: נפח אחסון של 64GB, 32 ליבות, רשת מנוהלת*** עם תמיכה ב-4000 IOPS ומעלה

** הערך של הדיסק הקשיח ב-Postgres מבוסס על ניתוח הנתונים שנוצר על ידי Edge מחוץ לתיבה. אם מוסיפים ערכים מותאמים אישית לנתוני הניתוח, צריך להגדיל את הערכים האלה בהתאם. משתמשים בנוסחה הבאה כדי להעריך את נפח האחסון הנדרש:

bytes of storage needed =

  (# bytes of analytics data/request) *

  (requests/second) *

  (seconds/hour) *

  (hours of peak usage/day) *

  (days/month) *

  (months of data retention)

לדוגמה:

(2K bytes) * (100 req/sec) * (3600 secs/hr) * (18 peak hours/day) * (30 days/month) * (3 months retention)

= 1,194,393,600,000 bytes or 1194.4 GB of storage needed

*** מומלץ להשתמש באחסון רשת עבור מסד נתונים של Postgresql מהסיבות הבאות:

  • הוא מאפשר להגדיל באופן דינמי את גודל האחסון אם וכאשר נדרש.
  • אפשר לכוונן את ה-IOPS של הרשת בזמן אמת סביבה/אחסון/מערכות משנה של רשת.
  • אפשר להפעיל תמונות מצב ברמת האחסון כחלק מגיבוי ושחזור ולבסוף על solutions.

בנוסף, בהמשך מפורטות דרישות החומרה אם ברצונך להתקין את שירותי מונטיזציה (לא נתמכים בהתקנה של 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 עצמאי 8GB 4 ליבות אחסון מקומי בנפח 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

לפני שיוצרים את הקישור הסמלי, צריך קודם ליצור משתמש וקבוצה בשם 'apigee'. הדבר אותה קבוצה ומשתמש שנוצרו על ידי מנהל ההתקנה של Edge.

כדי ליצור את הקישור הסימבולי, צריך לבצע את השלבים הבאים לפני שמורידים את הקובץ bootrap_4.19.06.sh. צריך לבצע את כל השלבים האלה ברמה הבסיסית (root):

  1. יוצרים את ה-apigee משתמש וקבוצה:
    groupadd -r apigee > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
  2. יוצרים קישור סימבולי מ-/opt/apigee לרמה הבסיסית (root) של ההתקנה:
    ln -Ts /srv/myInstallDir /opt/apigee

    כאשר /srv/myInstallDir הוא המיקום הרצוי של קובצי ה-Edge.

  3. שינוי הבעלות על הרמה הבסיסית (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 ומחייב גישת קריאה כדי /etc/rc.d/init.d/functions

אם תהליך האבטחה מחייב אתכם להגדיר הרשאות /etc/rc.d/init.d/functions, אין להגדיר אותן ל-700, אחרת הנתב לא ניתן להפעיל אותו.

אפשר להגדיר הרשאות ל-744 כדי לאפשר גישת קריאה ל /etc/rc.d/init.d/functions

שומר גן חיות /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

כדי להגדיר את הערכים האלה:

  1. עורכים את הקובץ postgresql.properties:
    vi /opt/apigee/customer/application/postgresql.properties

    אם הקובץ לא קיים, יוצרים אותו.

  2. מגדירים את המאפיינים המפורטים למעלה.
  3. שומרים את השינויים.
  4. מפעילים מחדש את מסד הנתונים של 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
  • בצמתים של מעבד הודעות, מגדירים את המספר המקסימלי של מתארי קבצים פתוחים ל-64K ב-/etc/security/limits.d/90-apigee-edge-limits.conf כפי שמוצג בהמשך:
    apigee soft nofile 32768
    apigee hard nofile 65536

    במקרה הצורך, אפשר להגדיל את המגבלה. לדוגמה, אם יש לך כמות גדולה של קבצים זמניים שייפתחו בכל רגע נתון.

שירותי אבטחת רשתות (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:

  1. בכל צומת של מעבד הודעות, עורכים את /etc/nscd.conf
  2. מגדירים את המאפיין הבא:
    enable-cache hosts no

השבתת IPv6 ב-Google Cloud פלטפורמה ל-RedHat/CentOS 7

אם מתקינים את Edge ב-RedHat 7 או CentOS 7 ב-Google Cloud Platform, חייבים להשבית את IPv6 בכל צומתי Qpid.

אפשר לעיין בתיעוד של RedHat או CentOS לגבי הגרסה הספציפית של מערכת ההפעלה. השבתת IPv6. לדוגמה, אפשר:

  1. פתיחת /etc/hosts בעורך.
  2. הוספת "#" בעמודה אחת מהשורה הבאה כדי להוסיף תגובה:
    #::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  3. שומרים את הקובץ.

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.