התקנת API של BaaS

Edge for Private Cloud גרסה 4.16.09

שימוש במאזן עומסים

התקנת ייצור של API BaaS משתמשת במאזן עומסים בין צומת ה-API BaaS Portal ו-API של BaaS Stack. כשמגדירים את הפורטל, צריך לציין את כתובת ה-IP או את שם ה-DNS של מאזן העומסים, לא של צומתי ה-Stack.

כחלופה למאזן עומסים, אפשר להשתמש ב-DNS סיבובי. במקרה הזה, יוצרת רשומת DNS עם מספר רשומות A שתואמות לכתובות IP של סטאק BaaS. במהלך DNS lookup, שרת ה-DNS מחזיר באופן אוטומטי ערכים של רשומת A בצורה של רובין (round robin).

עם עצירת ביניים אל קסנדרה

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

לקבלת תפוקה וזמינות גבוהים, או כדי להפריד אשכולות של קסנדרה אזורי רשת, Apigee ממליצה להשתמש באשכולות Cassandra נפרדים. אשכולות נפרדים למקסם את הביצועים אם יש עומסי תנועה גבוהים ב-BaaS.

סנכרון תאריכים

התאריך והשעה בכל השרתים צריכים להיות מסונכרנים. אם עדיין לא הוגדר, השירות 'ntpdate' יכול למלא את המטרה הזו, שמאמתת אם השרתים הם זמן מסונכרן. תוכלו להשתמש ב-"yum install ntp" כדי להתקין את כלי השירות.

אבטחת Tomcat

מנהל ההתקנה של API BaaS גם מתקין את שרת Apache Tomcat בכל צומתי ה-API BaaS Stack, כולל ממשק המשתמש של מנהל המערכת של Tomcat. מנהל ההתקנה משאיר את פרטי הכניסה של האדמין המוגדרים כברירת מחדל ללא שינוי מ-admin:admin.

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

סקירה כללית בנושא התקנה

אחרי שמתקינים את כלי השירות apigee-setup בצומת, צריך להשתמש להתקנה של רכיב BaaS אחד או יותר בצומת. מבנה הכלי apigee-setup הוא:

> sudo /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

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

הדרישה היחידה היא שקובץ התצורה יהיה נגיש או קריא 'apigee' משתמש.

לדוגמה, כדי להתקין את מקבץ BaaS של API, משתמשים בפקודה הבאה:

> sudo /opt/apigee/apigee-setup/bin/setup.sh -p b -f myConfig

כלי השירות setup.sh ב-Apigee תומכת במספר אפשרויות להתקנת רכיבי API BaaS. ההוראות שבהמשך כוללות אפשרויות עצמאיות (c, e, b ו-p) אבל אפשר להשתמש באפשרויות שונות בהתאם לצומת תצורה:

אפשרות

תיאור

e

התקנת ElasticSearch בלבד.

b

התקנת API BaaS Stack בלבד, המתקין גם את Tomcat.

p

התקנת API BaaS Portal בלבד, שמתקין גם את נתב Nginx לשימוש כאינטרנט השרת.

c

התקנת Cassandra בלבד.

eb

מתקינים את ElasticSearch, API BaaS Stack ו-Tomcat בצומת.

ebp

התקנת ElasticSearch , API BaaS Portal , API BaaS Stack ו-Tomcat. הפורטל נראה כך מועטים, ללא משאבים נוספים לשם כך.

Asa

התקנת כל רכיבי ה-API בצומת יחיד (Cassandra, Elasticsearch, API BaaS Stack, ו-API BaaS Portal). אפשר להשתמש באפשרות הזו לצורכי פיתוח ובדיקה בלבד, ולא עבור בסביבת הייצור.

יצירת הגדרה שקטה קובץ

למטה מוצג קובץ תצורה שקט לדוגמה של התקנת API BaaS עם 10 צמתים. ערוך את הקובץ הזה לפי הצורך בהגדרות האישיות שלכם. כדי לכלול את הקובץ הזה, משתמשים באפשרות -f כדי להגדיר את setup.sh.

# Specify IP address or DNS name of node.
IP1=192.168.1.1   # ElasticSearch
IP2=192.168.1.2   # ElasticSearch
IP3=192.168.1.3   # ElasticSearch
IP4=192.168.1.4   # API BaaS Stack
IP5=192.168.1.5   # API BaaS Stack
IP6=192.168.1.6   # API BaaS Stack
IP7=192.168.1.7   # API BaaS Portal
IP8=192.168.1.8   # Cassandra (shared with Edge or standalone)
IP9=192.168.1.9   # Cassandra (shared with Edge or standalone)
IP10=192.168.1.10  # Cassandra (shared with Edge or standalone)

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Define the API BaaS administrator account.  
AS_ADMIN="superuser"    # User name - default is "superuser".
AS_ADMIN_EMAIL=stackAdmin@email.com
AS_PASSWD=stackAdminPWrod

# Only if you are installing Cassandra.
# Specify Cassandra configuration information.
# Must use IP addresses for CASS_HOSTS, not DNS names.
# CASS_HOSTS="$IP8:1,1 $IP9:1,1 $IP10:1,1"

# If connecting to existing Cassandra nodes, 
# specify Cassandra IPs.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP8 $IP9 $IP10"

# Cassandra uname/pword.
# Even if Cassandra authentication is disabled,
# you must still pass values for these properties.
CASS_USERNAME=cassandra    # Default value
CASS_PASSWORD=cassandra    # Default value

# Specify BaaS Cassandra connection information.
# Specify the data center name.
BAAS_CASS_LOCALDC=dc-1    # Default is dc-1.

# Replication is in the form "dataCenterName:#CassandraNodes". 
# For example, for dc-1 with three Cassandra nodes, it is dc-1:3.
BAAS_CASS_REPLICATION=dc-1:3

# ElasticSearch IPs or DNS names, separated by spaces.
ES_HOSTS="$IP1 $IP2 $IP3"

# API BaaS Stack information.
# Default cluster name is "apigee_baas"
BAAS_USERGRID_CLUSTERNAME="apigee_baas" 

# URL and port of the load balancer for the API BaaS Stack nodes, 
# or IP/DNS and port 8080 of a single Stack node with no load balancer.
BAAS_USERGRID_URL=http://myloadbalancer:8443

# API BaaS Portal information.
# URL and port number of load balancer, if there is one in front of the Portal,
# or the URL and port of the Portal node.  
BAAS_PORTAL_URL="http://$IP7:9000"

# Portal port. Default value is 9000.
BAAS_PORTAL_LISTEN_PORT=9000 

# SMTP information. BaaS requires an SMTP server.
SMTPHOST=smtp.gmail.com
SMTPPORT=465
SMTPUSER=your@email.com
SMTPPASSWORD=yourEmailPassword
SMTPSSL=y

בטבלה הבאה תוכלו למצוא מידע נוסף על המאפיינים האלה:

נכס

הערה

CASS_HOSTS

אם מתקינים את Cassandra, צריך לציין את כתובות ה-IP של צומת Cassandra (לא שמות DNS) כוללים את הצירוף ':dc,ra' שמציין את מרכז הנתונים והמארז של צומת של קסנדרה.

לדוגמה: '192.168.124.201:1,1 = מרכז נתונים 1 ואזור מארז/זמינות 1, וגם '192.168.124.204:2,1 = מרכז נתונים 2 ואזור מארז/זמינות 1.

CASS_USERNAME
CASS_PASSWORD

שם המשתמש והסיסמה של Cassandra.

אם אימות Cassandra מושבת, עדיין צריך להעביר את הערכים האלה. אבל, לפעמים המערכת מתעלמת מהערכים.

BAAS_CASS_LOCALDC

שמות האזורים צריכים להיות בפורמט dc-# , כאשר # תואם לערך של מספר שלם.

לדוגמה, dc-1 , dc-2 וכו'. אם אתם מתחברים לאשכול Cassandra מותקן ב-Edge, אפשר לבקש ממנהל המערכת של Edge לספק את הערך הזה. בסינגל Edge להתקנה של מרכז נתונים, ערך ברירת המחדל הוא dc-1.

אם התקנת את Cassandra כחלק מהתקנת ה-API BaaS, אז במהלך Cassandra הוספתם את הצירוף ' :dc,ra' לכתובות ה-IP של Cassandra. הערך הראשון 'dc' הוא המספר של מרכז הנתונים. השם של מרכז הנתונים הוא המחרוזת "dc- " כוללים את המספר של מרכז הנתונים כסיומת.

BAAS_CASS_REPLICATION

הפורמט הוא "dataCenterName:#CassandraNodes". לדוגמה, בשביל dc-1 עם שלושה צמתים של Cassandra, הערך הוא dc-1:3.

BAAS_USERGRID_URL

בסביבת ייצור, אלו כתובת ה-URL והיציאה של מאזן העומסים לפני צומתי ה-API BaaS Stack, בפורמט:

http://myStackLoadBalancer:8443

בסביבת בדיקה או פיתוח, שבה יש לכם רק מקבץ BaaS אחד של API. צומת, יכול להיות כתובת ה-URL ומספר היציאה של צומת API BaaS Stack, באופן הבא:

http://stackIPorDNS:8080

מספר היציאה של שרת API BaaS Stack הוא 8080.

BAAS_PORTAL_URL

כתובת ה-URL ומספר היציאה של מאזן העומסים, אם קיים מאזן עומסים לפני הפורטל, בפורמט הזה:

http://myPortalLoadBalancer:8443

אם אין מאזן עומסים, כתובת ה-URL ומספר היציאה של צומת הפורטל, טופס:

http://portalIPorDNS:9000

כברירת מחדל, מספר היציאה של API BaaS Portal הוא 9000.

BAAS_PORTAL_LISTEN_PORT

מספר היציאה של שרת API BaaS Portal הוא 9000. אם השקע הזה לא זמין, לציין יציאה אחרת.

אם מגדירים את BAAS_PORTAL_URL לכתובת ה-URL של צומת של פורטל, מספרי היציאות צריכים להיות זהים בשני הנכסים.

אופציונלי – התקנת Cassandra: מכונה 8, 9 ו 10

אפשר לחבר את BaaS API לאותו אשכול Cassandra שבו משתמש Edge ו-Apigee מומלץ להשתמש באשכולות נפרדים.

אשכול Cassandra יכול להשתמש באימות, או שניתן להשבית אימות של Cassandra. צפייה הפעלת אימות של Cassandra עבור עוד.

  1. התקנת כלי השירות apigee-setup בצומת באמצעות או תהליך אחר שהוא לא אינטרנט. בהתקנת כלי ההגדרה של Edge apigee-setup עוד.
  2. בשורת הפקודה, מריצים את סקריפט ההגדרה:
    > /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile

    האפשרות -p c מציינת להתקין את Cassandra.
    קובץ התצורה חייב להיות נגיש או קריא באמצעות ה-apigee משתמש.

ההגדרה משלימה את ההגדרה של מאגר הנתונים בצומת.

שימו לב ש-JMX מופעל כברירת מחדל עבור Cassandra. הגישה מרחוק של JMX אל Cassandra לא נדרשת סיסמה. אפשר להגדיר את Cassandra להשתמש באימות עבור JMX. מידע נוסף זמין במאמר איך עוקבים

הגדרה של משימת cron של Cassandra

הגדרה של משימת cron שמשתמשת ב-nodetool כדי לנקות מנעולים כך שיפעלו כל שעה בכל צומת של Cassandra.

אם יש כמה צמתים של Cassandra, צריך לקזז את משימת ה-cron בכל שרת בחמש דקות כך שכל הצמתים לא נשטפים בו-זמנית.

משימת ה-cron חייבת להריץ את הפקודה הבאה:

/opt/apigee/apigee-cassandra/bin/nodetool -h IP_address flush Apigee_Baas_Locks

כאשר IP_address הוא כתובת ה-IP של צומת Cassandra.

מתקינים את ElasticSearch: מכונה 1, 2 ו-3

כדי להתקין את ElasticSearch:

  1. התקנת כלי ההגדרה של Edge apigee בצומת באמצעות חיבור לאינטרנט או ללא חיבור לאינטרנט התהליך. למידע נוסף, ראו התקנת Edge apigee-setup גבוהה יותר.
  2. בשורת הפקודה, מריצים את סקריפט ההגדרה:
    > /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile

    האפשרות ' -p e' מציינת להתקין את ElasticSearch.
    קובץ התצורה חייב להיות נגיש או קריא באמצעות ה-apigee משתמש.
  3. (אופציונלי) אם מתקינים את ElasticSearch בצומת עצמאי, כלומר הוא לא מותקן באמצעות Stack BaaS של API, ואז תוכלו לשנות את אפשרות ברירת המחדל לזיכרון כדי להגדיל את הזיכרון שהוקצה ElasticSearch מ-4GB עד 6GB:
    1. פותחים את /opt/apigee/customer/application/elasticsearch.properties בעורך. אם הקובץ הזה לא קיים, יוצרים אותו.
    2. מגדירים את setenv_elasticsearch_max_mem_size מאפיין ל-6G (ברירת המחדל היא 4g):
      setenv_elasticsearch_max_mem_size=6g
    3. שומרים את הקובץ.
    4. מריצים את הפקודה הבאה:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch מחדש

התצורה משלימה את ההגדרה בצומת.

התקנת סטאק API של BaaS: מכונה 4, 5 ו-6

כדי להתקין את מקבץ BaaS של API:

  1. התקנת כלי ההגדרה של Edge apigee בצומת באמצעות חיבור לאינטרנט או ללא חיבור לאינטרנט התהליך. למידע נוסף, ראו התקנת Edge apigee-setup גבוהה יותר.
  2. בשורת הפקודה, מריצים את סקריפט ההגדרה:
    > /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile

    האפשרות -p b מציינת להתקין API BaaS Stack.
    קובץ התצורה חייב להיות נגיש או קריא באמצעות ה-apigee משתמש.

אחרי שמנהל ההתקנה מאחזר את פרטי הכניסה הנכונים של האדמין, הוא מתקין את Tomcat ויוצר API מרחבי מפתחות BaaS, ומגדיר את סטאק ה-API BaaS בשרת. גם ב-SMTP מוגדר לאפשר ממשק המשתמש כדי לשלוח הודעות אימייל לאישור הסיסמה.

התקנת פורטל API של BaaS: מכונה 7

כדי להתקין את פורטל BaaS API:

  1. התקנת כלי ההגדרה של Edge apigee בצומת באמצעות חיבור לאינטרנט או ללא חיבור לאינטרנט התהליך. למידע נוסף, ראו התקנת Edge apigee-setup גבוהה יותר.
  2. בשורת הפקודה, מריצים את סקריפט ההגדרה:
    > /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile

    האפשרות -p p מציינת להתקין את פורטל API BaaS.
    קובץ התצורה חייב להיות נגיש או קריא באמצעות ה-apigee משתמש.

מנהל ההתקנה מפעיל את שרת האינטרנט Nginx ולאחר מכן מסיים את פתיחת פורטל ה-API BaaS הגדרה אישית.

חשוב לרשום את כתובת ה-URL של פורטל ה-API BaaS. זו כתובת ה-URL שמזינים בדפדפן כדי לגשת ממשק המשתמש של פורטל API BaaS.

הגדרת צומתי API BaaS למקבץ או מאזן עומסים בפורטל

אם תכללו מאזן עומסים לפני צמתים של Stack או פורטל, צריך להגדיר את הצמתים עם כתובת ה-URL הנכונה של מאזן העומסים. לדוגמה, לצומתי הערימה נדרש הערך הזה כאשר:

  • הכללת כתובת URL בתגובות בבקשות BaaS API.
  • הוספת קישורים בתבניות אימייל בעת איפוס סיסמה או שליחת הודעה אחרת התראות.
  • הפניית משתמשים לדפי פורטל ספציפיים.

אם משתמשים במאזן עומסים לפני צומתי המקבץ, צריך להגדיר את המאפיינים הבאים ב- /opt/apigee/customer/application/usergrid.properties:

usergrid-deployment_swagger.basepath=http://localhost:8080
usergrid-deployment_usergrid.organization.activation.url=http://localhost:8080/management/organizations/%s/activate
usergrid-deployment_usergrid.admin.activation.url=http://localhost:8080/management/users/%s/activate
usergrid-deployment_usergrid.admin.resetpw.url=http://localhost:8080/management/users/%s/resetpw
usergrid-deployment_usergrid.admin.confirmation.url=http://localhost:8080/management/users/%s/confirm
usergrid-deployment_usergrid.user.activation.url=http://localhost:8080/%s/%s/users/%s/activate
usergrid-deployment_usergrid.user.confirmation.url=http://localhost:8080/%s/%s/users/%s/confirm
usergrid-deployment_usergrid.user.resetpw.url=http://localhost:8080/%s/%s/users/%s/resetpw

מחליפים את http://localhost:8080 בכתובת ה-URL של הטעינה. איזון. אם מאזן העומסים מוגדר לשימוש ב-TLS, צריך להשתמש בפרוטוקול HTTPS. רק אתם צריך לכלול את היציאה אם משתמשים ביציאה לא סטנדרטית, כלומר יציאה שאינה יציאה 80 ל-HTTP ויציאה 443 ל-HTTPS.

בנוסף, צריך להגדיר את המאפיין הבא ב-/opt/apigee/customer/application/portal.properties אם משתמשים במאזן עומסים לפני צומתי המקבץ:

baas.portal.config.overrideUrl=http://localhost:8080

מחליפים את הכתובת http://localhost:8080 בכתובת ה-URL של מאזן עומסים ל-Stack.

אם משתמשים במאזן עומסים לפני הצומת של הפורטל, צריך להגדיר את המאפיינים הבאים. ב-usergrid.properties:

usergrid-deployment_usergrid.view.management.organizations.organization.activate=http://localhost:9000
usergrid-deployment_usergrid.view.management.organizations.organization.confirm=http://localhost:9000
usergrid-deployment_usergrid.view.management.users.user.activate=http://localhost:9000
usergrid-deployment_usergrid.view.management.users.user.confirm=http://localhost:9000

מחליפים את הכתובת http://localhost:9000 בכתובת ה-URL של מאזן עומסים. אם מאזן העומסים מוגדר לשימוש ב-TLS, צריך להשתמש בפרוטוקול HTTPS. שלך צריכה לכלול את היציאה רק אם משתמשים ביציאה לא סטנדרטית, כלומר יציאה 80 ל-HTTP ויציאה 443 ל-HTTPS.

אחרי שעורכים את usergrid.properties ואת portal.properties:

  1. הגדרת הצומת של המקבץ:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid configuration
  2. פורסים את השינויים ב-Tomcat:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid deploy
  3. הפעלה מחדש של מקבץ BaaS:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid הפעלה מחדש
  4. אם שיניתם את portal.properties, עליכם להגדיר הצומת של הפורטל:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal configuration
  5. פורסים את השינויים:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal deploy
  6. הפעלה מחדש של פורטל BaaS:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal מחדש

הצטרפות לארגון חדש

קליטת משתמשים חדשים היא התהליך של יצירת מנהל ארגון ומנהל מערכת בארגון. אחרי כשאתם יוצרים את מנהל הארגון והארגון, תוכלו להתחבר לפורטל BaaS Portal ממשק משתמש ושליחה של בקשות ל-API ל-REST של BaaS API.

כשיוצרים ארגון, כתובת האימייל של מנהל הארגון:

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

כדי להתחיל את תהליך ההצטרפות, צריך להשתמש בסקריפט create_org_and_user.py של Python. הפעלת הסקריפט הזה ללא ארגומנטים בשורת הפקודה גורמת לו להציג לכם הנחיות מידע:

> python create_org_and_user.py

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

> python create_org_and_user.py -o '<org name>'
> python create_org_and_user.py -o '<org name>' -a '<new admin email>' -p '<new admin password>'

כדי ליצור ארגון:

  1. שינוי הספרייה ל-/opt/apigee/baas-usergrid/bin.
  2. מפעילים את סקריפט ה-Python create_org_and_user.py.
    תתבקשו להזין את שם המשתמש והסיסמה של מנהל מערכת BaaS, כך יכול להריץ אותו.
  3. מתחברים ל-API BaaS Portal בדפדפן אינטרנט באמצעות כתובת ה-URL שציינתם בסוף התקנת כתובת URL של פורטל API BaaS. כדי לגשת לפורטל, צריך להזין את כתובת ה-URL של פורטל BaaS API ב: הטופס הזה:
    http://{portalExternalIP}:9000/

    הערה: כתובת ה-IP היא כתובת ה-IP החיצונית/שם המארח החיצוני של מחשב הפורטל. ודאו שהיציאה הזו פתוחה.
  4. כשמסך ההתחברות לפורטל יופיע, תוכלו:
    • מתחברים באמצעות שם המשתמש והסיסמה של מנהל המערכת בארגון.
    • מתחברים באמצעות שם המשתמש והסיסמה של האדמין.

גישה ל-API ל-REST של BaaS

כדי לגשת ל-API של BaaS ל-REST API, צריך להשתמש בכתובת URL בטופס:

https://{loadBalancerIP}:8080/{your-org}/{your-app}

בסביבת פיתוח, אפשר להתקין את כל רכיבי ה-API BaaS בצומת אחד, כלומר יש לכם מקבץ BaaS אחד של API. לחלופין, יכולה להיות לכם סביבה קטנה עם צומת API של BaaS Stack וללא מאזן עומסים. בסביבות מהסוגים האלה אפשר לבצע קריאות ל-API ישירות לצומת ה-API BaaS Stack:

curl -v "http://portalExternalIP:8080/status"

למידע נוסף על תחילת העבודה עם API BaaS Portal, עיינו בתיעוד של Apigee: http://apigee.com/docs/content/build-apps-home.