Edge for Private Cloud גרסה 4.17.09
סקירה כללית של ההתקנה
אחרי שמתקינים את כלי השירות 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 תומך במספר אפשרויות להתקנת רכיבי BaaS של API. בהוראות שבהמשך עליכם להשתמש
באפשרויות העצמאיות (c, e, b ו-p), אבל תוכלו להשתמש באפשרויות שונות בהתאם להגדרת הצומת:
אפשרות |
תיאור |
---|---|
e |
התקנת ElasticSearch בלבד. |
b |
התקנה של API BaaS Stack בלבד, שגם מתקינה את Tomcat. |
p |
אפשר להתקין רק את API BaaS Portal, שמתקין גם את נתב ה-Nginx שישמש כשרת אינטרנט. |
c |
מתקינים את Cassandra בלבד. |
eb |
התקנה של ElasticSearch , API BaaS Stack ו-Tomcat בצומת. |
BP |
מתקינים את ElasticSearch, API BaaS Portal, API BaaS Stack ו-Tomcat, אבל לא את Cassandra. הפורטל הוא כל כך פשוט, ואין צורך במשאבים נוספים לשם כך. |
Asa |
התקנה של כל רכיבי BaaS של API בצומת יחיד (Cassandra, Elasticsearch, API BaaS Stack, API BaaS Portal, Tomcat). יש להשתמש באפשרות הזו רק לפיתוח ולבדיקה, ולא לייצור. |
יצירת קובץ תצורה
קובץ התצורה מכיל את כל המידע הנדרש להתקנת BaaS של API. לעיתים קרובות אפשר להשתמש באותו קובץ תצורה כדי להתקין את כל הרכיבים בהתקנת BaaS.
כל טופולוגיה של התקנה שמתוארת בהמשך מציגה קובץ תצורה לדוגמה עבור אותה טופולוגיה. לעיון בקובץ התצורה, ראו חומר עזר בנושא קובצי תצורת BaaS.
התקנת BaaS של API בצומת יחיד
למטה מוצג קובץ התצורה להתקנת BaaS של API בצומת יחיד. עורכים את הקובץ הזה לפי הצורך. הסבר מלא על קובץ התצורה זמין במאמר חומר עזר בנושא קובצי תצורת 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 SMTPMAILFROM="My Company <myco@company.com>"
כדי להתקין את BaaS של API בצומת משלו:
- מתקינים את כלי העזר
apigee-setup
של Edge בצומת באמצעות תהליך אינטרנט או ללא חיבור לאינטרנט. למידע נוסף, אפשר לקרוא את המאמר התקנת כלי ההגדרה של Edge APIgee. - בשורת הפקודה, מריצים את סקריפט ההגדרה:
/opt/apigee/apigee-setup/bin/setup.sh -p asa -f configFile
האפשרות ' -p asa' מציינת להתקין את כל רכיבי BaaS של API בצומת יחיד (Cassandra, Elasticsearch, API BaaS Stack, API BaaS Portal, Tomcat).
קובץ התצורה חייב להיות נגיש או קריא למשתמש "apigee".
- מכיוון שהתקנת את ElasticSearch בצומת עצמאי, עליך לשנות את אפשרות ברירת המחדל של הזיכרון
כדי להגדיל את הזיכרון שהוקצה ל-ElasticSearch מ-4GB ל-6GB:
- פתיחת
/opt/apigee/customer/application/elasticsearch.properties
בכלי עריכה. אם הקובץ לא קיים, יש ליצור אותו. - מגדירים את המאפיין
setenv_elasticsearch_max_mem_size
ל-6g (ברירת המחדל היא 4g):
setenv_elasticsearch_max_mem_size=6g
- שומרים את הקובץ.
- מריצים את הפקודה הבאה:
/opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
- פתיחת
- תהליך קליטה לארגון חדש, כפי שמתואר בהמשך במאמר איך מצטרפים לארגון חדש.
ההגדרה משלימה בהצלחה את ההגדרה בצומת.
התקנת BaaS של API ב-7 צמתים או ב-10 צמתים
התהליך להתקנת גרסת 7 או 10 צמתים של API BaaS דומה מאוד. ההבדל היחיד הוא שעבור:
- 10 צמתים מתקינים את שלושת רכיבי ElasticSearch ושלושה רכיבי BaaS Stack של API בצמתים נפרדים, כך שבסך הכול נעשה שימוש בשישה צמתים. זוהי ההגדרה המומלצת לביצועים הטובים ביותר כי ElasticSearch מצריך כמות גדולה של קלט/פלט (I/O) בדיסק וזיכרון.
- התקנה של 7 צמתים, מתקינים את שלושת הרכיבים של ElasticSearch ושלושה רכיבי Stack של API BaaS ב-API אותם צמתים, ובסך הכול שלושה צמתים.
עבור גרסאות 7 ו-10 של צמתים של API BaaS, עליך להתחבר לאשכול Cassandra. אם כבר התקנת את Edge, אפשר להתחבר לאשכול Cassandra, כך שלא יהיה צורך להתקין את Cassandra כחלק מהתקנת BaaS של API.
למטה מוצגת דוגמה לקובץ תצורה שקט של התקנת BaaS של API עם 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 SMTPMAILFROM="My Company <myco@company.com>"
אופציונלי – התקנה של Cassandra: מכונה 8, 9 ו-10
אפשר לחבר את ה-API BaaS לאותו אשכול של Cassandra שבו משתמש Edge. אם לא התקנת את Edge, יש לך אפשרות להתקין את Cassandra לשימוש על ידי API BaaS.
אשכול Cassandra יכול להשתמש באימות, או שאפשר להשבית את האימות של Cassandra. מידע נוסף זמין במאמר הפעלת אימות של Cassandra.
- מתקינים את כלי העזר
apigee-setup
של Edge בצומת באמצעות הליך אינטרנט או ללא חיבור לאינטרנט. למידע נוסף, אפשר לקרוא את המאמר התקנת כלי ההגדרה של Edge apigee-setup. - בשורת הפקודה, מריצים את סקריפט ההגדרה:
/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 בצומת שלו:
- מתקינים את הכלי להגדרת Edge apigee בצומת באמצעות הליך אינטרנט או בלי אינטרנט. למידע נוסף, ראו התקנת כלי השירות להגדרת ממשק ה-API של Edge.
- בשורת הפקודה, מריצים את סקריפט ההגדרה:
/opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
The "-p e" option specifies to install ElasticSearch. The configuration file must be accessible or readable by the "apigee" user.
- (Optional) If you install ElasticSearch on a standalone node, meaning it is not installed
with API BaaS Stack, then adjust the default memory option to increase the memory allocated for
ElasticSearch from 4GB to 6GB:
- Open
/opt/apigee/customer/application/elasticsearch.properties
in an editor. If this file does not exist, create it. - Set the
setenv_elasticsearch_max_mem_size
property to 6g (the default is 4g):setenv_elasticsearch_max_mem_size=6g
- שומרים את הקובץ.
- מריצים את הפקודה הבאה:
/opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
ההגדרה משלימה בהצלחה את ההגדרה בצומת.
התקנת מחסנית BaaS של API: מכונה 4, 5 ו-6
כדי להתקין את מקבץ BaaS של ה-API בצומת שלו:
- מתקינים את הכלי להגדרת Edge apigee בצומת באמצעות הליך אינטרנט או בלי אינטרנט. למידע נוסף, ראו התקנת כלי השירות להגדרת ממשק ה-API של Edge.
- בשורת הפקודה, מריצים את סקריפט ההגדרה:
/opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
האפשרות ' -p b' מציינת להתקין את מקבץ BaaS של API. קובץ התצורה צריך להיות נגיש או קריא למשתמש "apigee".
אחרי שהמתקין מאחזר את פרטי הכניסה הנכונים של האדמין, הוא מתקין את Tomcat, יוצר מרחבי מפתחות BaaS של API ומגדיר את מקבץ BaaS של ה-API בשרת. שרת ה-SMTP גם מוגדר לאפשר לממשק המשתמש לשלוח הודעות אימייל לאישור סיסמה.
התקנה של פורטל BaaS של API: מחשב 7
כדי להתקין את פורטל BaaS של ה-API:
- מתקינים את הכלי להגדרת Edge apigee בצומת באמצעות הליך אינטרנט או בלי אינטרנט. למידע נוסף, ראו התקנת כלי השירות להגדרת ממשק ה-API של Edge.
- בשורת הפקודה, מריצים את סקריפט ההגדרה:
/opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
האפשרות ' -p p' מציינת להתקין את פורטל BaaS של API. קובץ התצורה צריך להיות נגיש או קריא למשתמש "apigee".
מנהל ההתקנה מפעיל את שרת האינטרנט של Nginx, ולאחר מכן מסיים את ההגדרה של API BaaS Portal.
- השלב הבא תלוי בהתקנה שלך.
- אם יש מאזן עומסים לפני הצמתים של Portalor Stack, בקטע הבא מוסבר איך להגדיר את ה-API BaaS למאזני העומסים.
- אם אין מאזן עומסים לפני הצמתים של Portalor Stack, צריך לצרף ארגון לארגון כפי שמוסבר במאמר תהליך קליטה של ארגון חדש.
רושמים את כתובת ה-URL של פורטל BaaS של ה-API. זו כתובת ה-URL שמזינים בדפדפן כדי לגשת לממשק המשתמש של פורטל BaaS של ה-API.
הגדרה של צומתי BaaS ב-API למאזן עומסים ב-Stack או בפורטל
אם כוללים מאזן עומסים לפני הצמתים ב-Stack או בפורטל, צריך להגדיר בצמתים את כתובת ה-URL הנכונה של מאזן העומסים. לדוגמה, צומתי ה-Stack מחייבים את המידע הזה כאשר:
- הכללת כתובת URL בתשובות בבקשות API של BaaS.
- הוספת קישורים בתבניות אימייל בזמן איפוס סיסמה או שליחת התראות אחרות.
- הפניה אוטומטית של משתמשים לדפים ספציפיים בפורטל.
אם משתמשים במאזן עומסים לפני צומתי ה-Stack, צריך להגדיר את המאפיין הבא ב-
/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
אם משתמשים במאזן עומסים לפני צומתי ה-Stack: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
:- מגדירים את צומת ה-Stack:
/opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure
- מפעילים מחדש את מקבץ BaaS:
/opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
- אם שינית את
portal.properties
, צריך להגדיר את הצומת של הפורטל:/opt/apigee/apigee-service/bin/apigee-service baas-portal configure
- מפעילים מחדש את פורטל BaaS:
/opt/apigee/apigee-service/bin/apigee-service baas-portal restart
תהליך קליטת ארגון חדש
תהליך ההצטרפות הוא תהליך היצירה של ארגון ואדמין בארגון. אחרי שיוצרים את הארגון ואת האדמין של הארגון, אפשר להתחבר לממשק המשתמש של API BaaS Portal ולהגיש בקשות ל-API BaaS REST API.
בעת יצירת ארגון, כתובת האימייל של מנהל המערכת של הארגון:
- חייבת להיות שונה מכתובת האימייל של מנהל המערכת.
- חייב להיות ייחודי בין כל הארגונים האחרים. כלומר, לא ניתן ליצור שני ארגונים עם אותה כתובת אימייל עבור מנהל המערכת בארגון. עם זאת, אחרי יצירת הארגון, אפשר להוסיף עוד אדמינים שניתן להשתמש בהם במספר ארגונים שונים.
כדי לבצע את תהליך ההצטרפות, צריך להשתמש בסקריפט של Python
create_org_and_user.py
. אם מפעילים את הסקריפט הזה ללא ארגומנטים של שורת הפקודה, המערכת מציגה בקשה לקבל את כל המידע: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>'
כדי ליצור ארגון:
- שינוי הספרייה ל
/opt/apigee/baas-usergrid/bin
. - מפעילים את סקריפט Python
create_org_and_user.py
.תוצג בקשה להזין את שם המשתמש והסיסמה של מנהל המערכת של BaaS, כדי שרק אדמין ב-sys יוכל להפעיל אותם.
- מתחברים ל-API BaaS Portal בדפדפן אינטרנט באמצעות כתובת ה-URL שציינתם בסוף
התקנת כתובת ה-URL של פורטל BaaS של ה-API. כדי לגשת לפורטל, צריך להזין את כתובת ה-URL של פורטל BaaS של ה-API
בצורה הבאה:
http://portalExternalIP:9000/
- כשמופיע מסך ההתחברות לפורטל, אתם יכולים:
- יש להתחבר באמצעות שם המשתמש והסיסמה של מנהל המערכת בארגון.
- התחבר באמצעות שם המשתמש והסיסמה של מנהל המערכת.
גישה ל-API BaaS REST API
כדי לגשת ל-API BaaS REST, משתמשים בכתובת URL בטופס:
https://loadBalancerIP:8080/your-org/your-app
בסביבת פיתוח, אפשר להתקין את כל רכיבי ה-BAaS של ה-API בצומת אחד. כלומר יש לכם מקבץ BaaS יחיד של API. לחלופין, יכול להיות שאתם משתמשים בסביבה קטנה עם צומת אחד של מקבץ BaaS Stack ב-API וללא מאזן עומסים. בסביבות מהסוגים האלה אפשר לבצע קריאות ל-API ישירות לצומת של Stack BaaS Stack:
curl -v "http://portalExternalIP:8080/status"
למידע נוסף על תחילת השימוש ב-API BaaS Portal, אפשר לעיין במסמכים של Apigee בכתובת: http://apigee.com/docs/content/build-apps-home.
- Open