התקנת API של BaaS

Edge for Private Cloud גרסה 4.17.05

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

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

Asa

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

יצירת קובץ תצורה

קובץ התצורה מכיל את כל המידע הנדרש להתקנת BaaS של API. אפשר משתמשים בדרך כלל באותו קובץ תצורה כדי להתקין את כל הרכיבים בהתקנת BaaS.

כל טופולוגיה של ההתקנה שמתוארת בהמשך מציגה קובץ תצורה לדוגמה עבור הטופולוגיה הזו. עבור הפניה מלאה לקובץ התצורה מופיעה בחומר עזר בנושא קובץ התצורה של BaaS.

התקנת API BaaS בצומת יחיד

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

IP1=192.168.56.101   # IP address of single node

# 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=stackAdminPWord

# Because you are installing Cassandra,
# specify Cassandra data center and rack suffix.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1"

# Specify the Cassandra region.
REGION=dc-1

# 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 Cassandra data center name.
BAAS_CASS_LOCALDC=dc-1

# For a single data center, specify the same value as BAAS_CASS_LOCALDC.
BAAS_CASS_DC_LIST=dc-1

# Replication is in the form "dataCenterName:#CassandraNodes". 
# For dc-1 with one Cassandra node, it is dc-1:1.
BAAS_CASS_REPLICATION=dc-1:1

# Defines the initial contact points for members of the BaaS cluster. 
# For a single node install, specify the IP address of the node. 
BAAS_CLUSTER_SEEDS="dc-1:$IP1"

# Single ElasticSearch IP.
ES_HOSTS="$IP1"

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

# IP/DNS and port 8080 of a single Stack node.
BAAS_USERGRID_URL="http://$IP1:8080"

# URL and port of the BaaS Portal node.  
BAAS_PORTAL_URL="http://$IP1: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

כדי להתקין API BaaS בצומת משלו:

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

    האפשרות -p asa מציינת להתקין את כל רכיבי ה-API BaaS בצומת יחיד (Cassandra, Elasticsearch, API BaaS Stack, API BaaS Portal, Tomcat).
    קובץ התצורה חייב להיות נגיש או קריא באמצעות ה-apigee משתמש.
  3. מכיוון שהתקנת את ElasticSearch בצומת עצמאי, יש לשנות את זיכרון ברירת המחדל אפשרות להגדיל את הזיכרון שהוקצה ל-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 מחדש
  4. קליטת ארגון כפי שמתואר בהמשך בקטע קליטת ארגון חדש.

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

התקנת API BaaS ב-7 או ב-10 צמתים

התהליך של התקנת גרסת 7 או 10 צמתים של API BaaS דומה מאוד. היחיד הוא שעבור:

  • התקנת 10 צמתים, עליך להתקין את שלושת רכיבי ElasticSearch ושלושה ממשקי API רכיבי BaaS Stack בצמתים נפרדים, כך שיהיו בסך הכול שישה צמתים. כאן ההגדרה המומלצת להשגת הביצועים הטובים ביותר מפני ש-ElasticSearch דורש כמות גבוהה של דיסק קלט/פלט (I/O) ושל זיכרון.
  • בהתקנה של 7 צמתים, מתקינים את שלושת הרכיבים של ElasticSearch ושלושה בלבד BaaS של API סידור רכיבי ערימה באותם צמתים, בסכום כולל של שלושה צמתים.

צריך להתחבר לאשכול Cassandra, גם בגרסה 7 וגם בגרסת 10 הצמתים של API BaaS. אם המיקום כבר התקנתם את Edge, אפשר להתחבר לאשכול Cassandra, כלומר יצטרכו להתקין את Cassandra כחלק מהתקנת API BaaS.

למטה מוצג קובץ תצורה שקט לדוגמה של התקנת API BaaS עם 10 צמתים. אם המיקום אתם מתקינים את הרכיבים ElasticSearch ו-API BaaS Stack באותם שלושה צמתים, לערוך את הקובץ כך ש:

  • IP1 ו-IP4 מוגדרים לאותה כתובת IP
  • IP2 ו-IP5 מוגדרים לאותה כתובת IP
  • IP3 ו-IP6 מוגדרים לאותה כתובת IP

אפשר לערוך את הקובץ הזה לפי הצורך בהגדרות האישיות שלך. קובץ התצורה, ראו BaaS הפניה לקובץ התצורה.

# 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=stackAdminPWord

# Only if you are installing Cassandra.
# Specify Cassandra data center and rack suffix.
# 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"

# Specify the Cassandra region.
REGION=dc-1

# 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.

# For a single data center, specify the same value as BAAS_CASS_LOCALDC.
BAAS_CASS_DC_LIST=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

# Defines the initial contact points for members of the BaaS cluster. 
# Specify the IP address of no more than two Stack nodes. 
BAAS_CLUSTER_SEEDS="dc-1:$IP4,dc-1:$IP5"

# 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

אופציונלי – התקנה קסנדרה: מכשיר 8, 9 ו-10

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

אשכול 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

אם עליך להתקין את 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 הגדרה אישית.
  3. השלב הבא תלוי בהתקנה.
    1. אם יש מאזן עומסים לפני הצמתים של מקבץ הפורטלים, הקטע הבא לתאר איך להגדיר את BaaS ל-API למאזני העומסים.
    2. אם אין מאזן עומסים לפני צומתי ה-Stack Stack, לארגון, כפי שמתואר בהמשך בקטע הדרכה למשתמשים חדשים ארגון חדש.

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

הגדר צומתי BaaS של API למאזן עומסים של Stack או Portal

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

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

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

usergrid-deployment_usergrid.api.url.base=http://localhost:8080

מחליפים את 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_portal.url=http://localhost:9000

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

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

  1. הגדרת הצומת של המקבץ:
    > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configuration
  2. הפעלה מחדש של מקבץ BaaS:
    > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid מחדש

    הערה: כשמפעילים מחדש צמתים של BaaS Stack, צריך להפעיל אותם מחדש באותו סדר שהם רשומים ב-BAAS_CLUSTER_SEEDS. רשימות של BAAS_CLUSTER_SEEDS לכל היותר מתוך את צומתי המקבץ. אחרי שמפעילים מחדש את שני הצמתים לפי הסדר, אפשר להפעיל מחדש את שאר הצמתים צמתים בכל סדר שהוא.

  3. אם שיניתם את portal.properties, עליכם להגדיר הצומת של הפורטל:
    > /opt/apigee/apigee-service/bin/apigee-service baas-portal configuration
  4. הפעלה מחדש של פורטל BaaS:
    > /opt/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.