Edge for Private Cloud v4.18.01
יצירת ארגון, סביבה ומארח וירטואלי בו-זמנית
סרטון: סרטון קצר עם סקירה כללית על ההגדרה והתצורה של ארגון Apigee.
לפני שיוצרים שרת proxy ל-API ב-Apigee Edge, צריך ליצור לפחות ארגון אחד, ובכל ארגון צריך ליצור סביבה אחת או יותר ומארחים וירטואליים.
בדרך כלל, ארגונים וסביבות נוצרים ביחד. כדי לפשט את התהליך, אפשר להשתמש בכלי apigee-provision.
מפעילים אותו משורת הפקודה בשרת הניהול של Edge:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
קובץ התצורה מכיל:
# Set Edge sys admin credentials. ADMIN_EMAIL=your@email.com APIGEE_ADMINPW=adminPword # If omitted, you are prompted for it. NEW_USER="y" USER_NAME=orgAdmin@myCo.com FIRST_NAME=foo LAST_NAME=bar USER_PWD="userPwrod" ORG_NAME=example # lowercase only, no spaces, underscores, or periods. ENV_NAME=prod VHOST_PORT=9001 VHOST_NAME=default VHOST_ALIAS="$IP1:9001" # Optionally configure TLS/SSL for virtual host. # VHOST_SSL=y # Set to "y" to enable TLS/SSL on the virtual host. # KEYSTORE_JAR= # JAR file containing the cert and private key. # KEYSTORE_NAME= # Name of the keystore. # KEYSTORE_ALIAS= # The key alias. # KEY_PASSWORD= # The key password, if it has one. # Optionally set the base URL displayed by the Edge UI for an # API proxy deployed to the virtual host. # VHOST_BASEURL="http://myCo.com" # AXGROUP=axgroup-001 # Default value is axgroup-001
ואז הפקודה:
- יוצרים את הארגון
הערה: אי אפשר לשנות את השם של הארגון אחרי שיוצרים אותו. - שיוך הארגון ל-pod, כברירת מחדל הוא משויך ל-pod של "gateway"
- מוסיפים את המשתמש שצוין כמנהל החשבון הארגוני. אם המשתמש לא קיים, אתם יכולים ליצור אותו.
- יוצרים סביבה אחת או יותר
- יוצרים מארח וירטואלי אחד או יותר לכל סביבה
- משייכים את הסביבה לכל מעבדי הבקשות
- הפעלת ניתוח נתונים
קובץ תצורה מלא ושקט מופיע במאמר הצטרפות של ארגון.
כברירת מחדל, האורך המקסימלי של שם הארגון ושם הסביבה הוא 20 תווים כשמשתמשים בכלי apigee-provision. המגבלה הזו לא חלה אם משתמשים ישירות ב-Edge API כדי ליצור את הארגון או הסביבה.
יצירת ארגון
משתמשים בפקודה create-org כדי ליצור ארגון:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision create-org -f configFile
הסקריפט הזה יוצר את הארגון, אבל לא מוסיף או מגדיר את הסביבות והמארחים הווירטואליים שהארגון צריך כדי לטפל בקריאות ל-API.
קובץ התצורה מכיל את שם הארגון ואת כתובת האימייל של מנהל החשבון הארגוני. התווים שאפשר להשתמש בהם במאפיין השם מוגבלים ל: a-z0-9\-$%. אל תשתמשו ברווחים, בנקודות או באותיות רישיות בשם:
APIGEE_ADMINPW=adminPword # If omitted, you are prompted for it. ORG_NAME=example # lowercase only, no spaces, underscores, or periods. ORG_ADMIN=orgAdmin@myCo.com
ואז הפקודה:
- יוצר את הארגון
- משייך את הארגון ל-pod. כברירת מחדל, הוא משויך ל-pod של השער (gateway)
- הוספת המשתמש שצוין כמנהל חשבון ארגוני. המשתמש כבר צריך להיות קיים, אחרת הסקריפט יציג שגיאה.
<Error> <Code>organizations.OrganizationAlreadyExists</Code> <Message>Organization : test already exists</Message> <Contexts/> </Error>
יצירת ארגון באמצעות קריאות ל-API
לחלופין, אפשר להשתמש בקריאות הבאות ל-API כדי ליצור ארגון. הקריאה הראשונה יוצרת את הארגון:
curl -H "Content-Type:application/xml" -u sysAdminEmail:adminPasswd \ -X POST http://ms-ip:8080/v1/organizations \ -d '<Organization name="org-name" type="paid"/>'
הקריאה הבאה משייכת את הארגון ל-pod:
curl -H "Content-Type:application/x-www-form-urlencoded" \ -u sysAdminEmail:adminPasswd -X POST \ http://ms-ip:8080/v1/organizations/org-name/pods \ -d "region=default&pod=gateway"
אפשר לבצע את הקריאה הזו כמה פעמים כדי לשייך את הארגון לכמה פודים.
הקריאה האחרונה מוסיפה משתמש קיים כמנהל החשבון הארגוני של הארגון:
curl -H "Content-Type:application/xml" -u sysAdminEmail:adminPasswd \ -X POST http://ms-ip:8080/v1/organizations/org-name/users/user-email/userroles/ \ -d '<Roles><Role name="orgadmin"/></Roles>'
אם המשתמש לא קיים, אפשר להשתמש בקריאה הבאה כדי ליצור את המשתמש, כמו שמתואר בקטע הוספת משתמש.
יצירת סביבה
משתמשים בפקודה add-env כדי ליצור סביבה בארגון קיים:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision add-env -f configFile
קובץ התצורה הזה מכיל את המידע שנדרש כדי ליצור את הסביבה ואת המארח הווירטואלי:
APIGEE_ADMINPW=adminPword # If omitted, you are prompted for it. ORG_NAME=example # lowercase only, no spaces, underscores, or periods. ENV_NAME=prod VHOST_PORT=9001 VHOST_NAME=default VHOST_ALIAS="$IP1:9001" # Optionally configure TLS/SSL for virtual host. # VHOST_SSL=y # Set to "y" to enable TLS/SSL on the virtual host. # KEYSTORE_JAR= # JAR file containing the cert and private key. # KEYSTORE_NAME= # Name of the keystore. # KEYSTORE_ALIAS= # The key alias. # KEY_PASSWORD= # The key password, if it has one. # Optionally set the base URL displayed by the Edge UI for an # API proxy deployed to the virtual host. # VHOST_BASEURL="http://myCo.com" # AXGROUP=axgroup-001 # Default value is axgroup-001
הפקודה:
- יוצר את הסביבה
- יוצר מארח וירטואלי אחד לסביבה
- משייכת את הסביבה לכל מעבדי הבקשות ב-pod שמשויך לארגון שמכיל את הסביבה.
- הפעלת ניתוח נתונים
הערה: אם מפעילים ניתוח נתונים לסביבה אחת בארגון, צריך להפעיל ניתוח נתונים לכל הסביבות בארגון.
יצירת סביבה באמצעות קריאות ל-API
לחלופין, אתם יכולים להשתמש בקריאות הבאות ל-API כדי ליצור סביבה. הקריאה הראשונה יוצרת את הסביבה:
curl -H "Content-Type:application/xml" -u sysAdminEmail:adminPasswd \ -X POST http://ms-ip:8080/v1/organizations/org-name/environments \ -d '<Environment name="env-name"/>'
הקריאה הבאה משייכת את הסביבה למעבד בקשות. מבצעים את הקריאה הזו לכל מעבד בקשות שרוצים לשייך לסביבה:
curl -H "Content-Type:application/x-www-form-urlencoded" \ -u sysAdminEmail:adminPasswd -X POST \ http://ms-ip:8080/v1/organizations/org-name/environments/env-name/servers \ -d "action=add&uuid=uuid"
כאשר uuid הוא ה-UUID של מעבד הבקשות. כדי לקבל את ה-UUID, אפשר להשתמש בפקודה:
curl http://mp-ip:8082/v1/servers/self
כאשר mp-ip הוא כתובת ה-IP של מעבד ההודעות.
הקריאה הבאה ל-API מפעילה את Analytics בסביבה נתונה. הוא מאמת את קיומם של שרתי Qpid ו-Postgres ב-PODs של כל מרכזי הנתונים. לאחר מכן, הוא מתחיל את תהליך ההצטרפות ל-Analytics בארגון ובסביבה שצוינו.
/opt/apigee/apigee-service/bin/apigee-service apigee-provision enable-ax -f configFile
קובץ התצורה הזה מכיל:
ORG_NAME=orgName # lowercase only, no spaces, underscores, or periods. ENV_NAME=envName
curl -H "Content-Type:application/json" -u sysAdminEmail:adminPasswd -X POST http://ms-ip:8080/v1/organizations/org-name/environments/env-name/analytics/admin -d "@sample.json"
כאשר sample.json מכיל את הפרטים הבאים:
{ "properties" : { "samplingAlgo" : "reservoir_sampler", "samplingTables" : "10=ten;1=one;", "aggregationinterval" : "300000", "samplingInterval" : "300000", "useSampling" : "100", "samplingThreshold" : "100000" }, "servers" : { "postgres-server" : [ "1acff3a5-8a6a-4097-8d26-d0886853239c", "f93367f7-edc8-4d55-92c1-2fba61ccc4ab" ], "qpid-server" : [ "d3c5acf0-f88a-478e-948d-6f3094f12e3b", "74f67bf2-86b2-44b7-a3d9-41ff117475dd"] } }
המאפיין postgres-servers מכיל רשימה מופרדת בפסיקים של מזהי ה-UUID של Postgres, והמאפיין qpid-server מכיל את מזהי ה-UUID של Qpid. אם אתם צריכים לקבל את מזהי ה-UUID האלה, השתמשו בפקודות הבאות.
ב-Qpid, מריצים את הפקודה:
curl -u sysAdminEmail:passwd http://ms-ip/v1/servers?pod=central
הפלט של הפקודה הזו הוא אובייקט JSON. לכל שרת Qpid, הפלט יהיה בפורמט הבא:
"type" : [ "qpid-server" ], "uUID" : "d3c5acf0-f88a-478e-948d-6f3094f12e3b"
ב-Postgres, מריצים את הפקודה:
curl -u sysAdminEmail:passwd http://ms-ip/v1/servers?pod=analytics
לכל שרת Postgres, יוצג פלט בפורמט הבא:
"type" : [ "postgres-server" ], "uUID" : "d3c5acf0-f88a-478e-948d-6f3094f12e3b"
יצירת מארח וירטואלי
אתם יכולים ליצור מארח וירטואלי בסביבה קיימת בארגון. בדרך כלל, סביבה תומכת בכמה מארחים וירטואליים. לדוגמה, מארח וירטואלי אחד יכול לתמוך בפרוטוקול HTTP, ומארח וירטואלי אחר באותה סביבה יכול לתמוך בפרוטוקול HTTPS המוצפן.
כדי ליצור מארחים וירטואליים נוספים, או כדי ליצור מארח וירטואלי לסביבה ללא מארח וירטואלי, משתמשים בקריאה הבאה ל-API:
curl -H "Content-Type:application/xml" -u sysAdminEmail:adminPasswd \
-X POST http://ms-ip:8080/v1/organizations/org-name/environments/env-name/virtualhosts \
-d '<VirtualHost name="default"> \
<HostAliases> \
<HostAlias>myorg-test.apigee.net</HostAlias> \
</HostAliases> \
<Interfaces/> \
<Port>443</Port> \
</VirtualHost>'
במאמר הגדרת גישת TLS ל-API ב-Private Cloud מוסבר איך ליצור מארח וירטואלי, כולל מארח וירטואלי מאובטח שמשתמש ב-TLS/SSL דרך HTTPS.