Edge for Private Cloud v. 4.17.01
סקירה כללית בנושא התקנה
אחרי שמתקינים את הכלי apigee-setup ב-Edge בצומת, משתמשים בו כדי להתקין רכיב BaaS אחד או יותר בצומת.
הפורמט של הכלי apigee-setup הוא:
> sudo /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
מעבירים קובץ תצורה לכלי apigee-setup שמכיל את המידע על ההתקנה. אם חסר מידע נדרש בקובץ התצורה, הכלי apigee-setup יבקש ממכם להזין אותו בשורת הפקודה.
הדרישה היחידה היא שקובץ התצורה יהיה נגיש או קריא למשתמש 'apigee'.
לדוגמה, משתמשים בפקודה הבאה כדי להתקין את API BaaS Stack:
> 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 |
התקנת כל רכיבי ה-BaaS של ה-API בצומת יחיד (Cassandra, Elasticsearch, API BaaS Stack, API BaaS Portal, Tomcat). יש להשתמש באפשרות הזו לפיתוח ולבדיקה בלבד, ולא בסביבת הייצור. |
יצירת קובץ תצורה
קובץ התצורה מכיל את כל המידע הנדרש להתקנה של API BaaS. לרוב אפשר להשתמש באותו קובץ תצורה כדי להתקין את כל הרכיבים בהתקנה של 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 בצומת משלו:
- מתקינים את הכלי apigee-setup של Edge בצומת באמצעות האינטרנט או באמצעות התהליך ללא אינטרנט. מידע נוסף זמין במאמר התקנה של הכלי apigee-setup ב-Edge.
- בשורת הפקודה, מריצים את סקריפט ההגדרה:
> /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. - מכיוון שהתקנתם את 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
- מוסיפים ארגון לפי ההוראות שמפורטות בהמשך בקטע הוספת ארגון חדש.
ההגדרה מסיימת את ההגדרה בצומת.
התקנת API BaaS ב-7 או ב-10 צמתים
התהליך של התקנת גרסת 7 או 10 צמתים של API BaaS דומה מאוד. ההבדל היחיד הוא שבמקרה של:
- בהתקנה עם 10 צמתים, צריך להתקין את שלושת הרכיבים של ElasticSearch ואת שלושת הרכיבים של API BaaS Stack בצמתים נפרדים, כך שיהיה סך של שישה צמתים. זוהי ההגדרה המומלצת לביצועים הכי טובים, כי ל-ElasticSearch נדרשת כמות גדולה של קלט/פלט (I/O) וזיכרון בדיסק.
- התקנה עם 7 צמתים: צריך להתקין את שלושת הרכיבים של ElasticSearch ואת שלושת הרכיבים של API BaaS Stack באותו צומת, כך שיהיה סך של שלושה צמתים.
גם בגרסה עם 7 צמתים וגם בגרסה עם 10 צמתים של API BaaS, צריך להתחבר לאשכול של Cassandra. אם כבר התקנת את Edge, אפשר להתחבר לאשכול Cassandra, כלומר אין צורך להתקין את Cassandra כחלק מהתקנת BaaS של API.
בהמשך מוצג קובץ תצורה לדוגמה להתקנה של 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
אופציונלי – התקנת Cassandra: מכונה 8, 9 ו-10
אפשר לחבר את BaaS ל-API לאותו אשכול של Cassandra שבו משתמש Edge. אם לא התקנתם את Edge, תוכלו להתקין את Cassandra לשימוש ב-API BaaS.
אשכול Cassandra יכול להשתמש באימות, או שניתן להשבית אימות של Cassandra. למידע נוסף, ראו הפעלת אימות של Cassandra.
- מתקינים את הכלי apigee-setup של Edge בצומת באמצעות ההליך באינטרנט או בלי אינטרנט. מידע נוסף זמין במאמר התקנה של הכלי apigee-setup ב-Edge.
- מריצים את סקריפט ההגדרה בשורת הפקודה:
> /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 job בכל שרת בחמש דקות, כדי שכל הצמתים לא יבצעו שטיפה בו-זמנית.
משימת ה-cron חייבת להריץ את הפקודה הבאה:
/opt/apigee/apigee-cassandra/bin/nodetool -h IP_address flush Apigee_Baas_Locks
כאשר IP_address היא כתובת ה-IP של צומת Cassandra.
התקנת ElasticSearch: מכונה 1, 2 ו-3
כדי להתקין את ElasticSearch בצומת משלו:
- מתקינים את הכלי apigee-setup של Edge בצומת באמצעות האינטרנט או באמצעות תהליך ללא אינטרנט. מידע נוסף זמין במאמר התקנת הכלי apigee-setup של Edge.
- בשורת הפקודה, מריצים את סקריפט ההגדרה:
> /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
האפשרות '-p e' מציינת התקנה של ElasticSearch.
קובץ התצורה חייב להיות נגיש או קריא למשתמש 'apigee'. - (אופציונלי) אם מתקינים את ElasticSearch בצומת עצמאי, כלומר המערכת לא מותקנת עם API BaaS Stack, עליכם לשנות את אפשרות ברירת המחדל של הזיכרון כדי להגדיל את הזיכרון שהוקצה ל-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
ההגדרה מסיימת את ההגדרה בצומת.
מתקינים סטאק API של BaaS: מכונה 4, 5 ו-6
כדי להתקין את API BaaS Stack בצומת משלו:
- התקנת כלי ההגדרה של Edge apigee בצומת באמצעות תהליך של אינטרנט או ללא חיבור לאינטרנט. מידע נוסף זמין במאמר התקנת הכלי apigee-setup של Edge.
- בשורת הפקודה, מריצים את סקריפט ההגדרה:
> /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
האפשרות '-p b' מציינת התקנה של API BaaS Stack.
קובץ התצורה צריך להיות נגיש או קריא למשתמש ה-apigee.
אחרי שמנהל ההתקנה מאחזר את פרטי הכניסה הנכונים של האדמין, הוא מתקין את Tomcat, יוצר מרחבי מפתחות BaaS של API ומגדיר את Stack BaaS Stack בשרת. שרת ה-SMTP גם מוגדר כך שיאפשר לממשק המשתמש לשלוח הודעות אימייל לאישור הסיסמה.
התקנה של פורטל API BaaS: מכונה 7
כדי להתקין את פורטל BaaS API:
- התקנת כלי ההגדרה של Edge apigee בצומת באמצעות תהליך של אינטרנט או ללא חיבור לאינטרנט. מידע נוסף זמין במאמר התקנת הכלי apigee-setup של Edge.
- בשורת הפקודה, מריצים את סקריפט ההגדרה:
> /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
האפשרות '-p p' מציינת התקנה של API BaaS Portal.
קובץ התצורה צריך להיות נגיש או קריא למשתמש ה-apigee.
מנהל ההתקנה מפעיל את שרת האינטרנט Nginx ואז מסיים את ההגדרה של פורטל BaaS Portal. - השלב הבא תלוי בהתקנה שלכם.
- אם יש לכם מאזן עומסים לפני צמתים של Portalor Stack, בקטע הבא מוסבר איך להגדיר API BaaS למאזני העומסים.
- אם אין מאזן עומסים בחזית לצמתים של Portalor Stack, צריך להצטרף לארגון כפי שמתואר בהמשך במאמר קליטת ארגון חדש.
חשוב לרשום את כתובת ה-URL של פורטל ה-API BaaS. זוהי כתובת ה-URL שמזינים בדפדפן כדי לגשת לממשק המשתמש של API BaaS Portal.
הגדרת צמתים של API BaaS למאזן עומסים של Stack או Portal
אם אתם כוללים מאזן עומסים לפני צמתים של Stack או Portal, עליכם להגדיר את הצמתים עם כתובת ה-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.
אם אתם משתמשים במאזן עומסים מול צמתים של Stack, צריך גם להגדיר את המאפיין הבא בקובץ /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:
- מגדירים את צומת ה-Stack:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure - מפעילים מחדש את סטאק BaaS:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
הערה: כשמפעילים מחדש את צמתים של BaaS Stack, מפעילים אותם מחדש באותו הסדר שבו הם מפורטים ב-BAAS_CLUSTER_SEEDS. בשדה BAAS_CLUSTER_SEEDS מפורטים עד שניים מבין צמתים של ה-Stack. אחרי שמפעילים מחדש את שני הצמתים האלה לפי הסדר, אפשר להפעיל מחדש את שאר הצמתים בסדר כלשהו.
- אם שיניתם את portal.properties, צריך להגדיר את הצומת של הפורטל:
> /opt/apigee/apigee-service/bin/apigee-service baas-portal configure - מפעילים מחדש את BaaS Portal:
> /opt/apigee/apigee-service/bin/apigee-service baas-portal restart
הצטרפות לארגון חדש
קליטת משתמשים חדשים היא התהליך של יצירת ארגון ואדמין ארגוני. אחרי שיצרתם את מנהל הארגון והארגון, תוכלו להתחבר לממשק המשתמש של BaaS Portal של ה-API ולשלוח בקשות ל-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 כדי שרק אדמין המערכת יוכל להריץ אותו. - מתחברים ל-API BaaS Portal בדפדפן אינטרנט באמצעות כתובת ה-URL שציינתם בסוף ההתקנה של כתובת ה-API BaaS Portal. כדי לגשת לפורטל, מזינים את כתובת ה-URL של API BaaS Portal בפורמט:
http://{portalExternalIP}:9000/
הערה: כתובת ה-IP היא כתובת ה-IP החיצונית או שם המארח של מכונה בפורטל. צריך לוודא שהיציאה פתוחה. - כשמסך ההתחברות לפורטל יופיע, תוכלו:
- מתחברים באמצעות שם המשתמש והסיסמה של האדמין הארגוני.
- מתחברים באמצעות שם המשתמש והסיסמה של האדמין של אדמיני המערכת.
גישה ל-API BaaS ל-REST
כדי לגשת ל-API של BaaS ל-REST API, צריך להשתמש בכתובת URL בטופס:
https://{loadBalancerIP}:8080/{your-org}/{your-app}
בסביבת פיתוח, אפשר להתקין את כל הרכיבים של API BaaS בצומת יחיד, כלומר יש לכם סטאק API BaaS יחיד. לחלופין, יכול להיות שיש לכם סביבה קטנה עם צומת 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.