Edge for Private Cloud גרסה 4.16.09
יצירת ארגון, סביבה ומארח וירטואלי בו-זמנית
לפני שיוצרים שרת proxy ל-API ב-Apigee Edge, צריך ליצור ארגון אחד לפחות, ובכל ארגון סביבה אחת או יותר ומארחים וירטואליים.
בדרך כלל, ארגונים וסביבות נוצרים יחד. כדי לפשט את התהליך, השתמשו תוכנת השירות apigee-provision. מריצים אותו משורת הפקודה ב-Edge Management Server:
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
קובץ התצורה מכיל:
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. # AXGROUP=axgroup-001 # Default value is axgroup-001
הפקודה תגרום לכך:
- יוצרים את הארגון
הערה: אי אפשר לשנות את שם הארגון אחרי שיוצרים אותו. - שיוך הארגון ל-Pod, כברירת מחדל משייך אותו ל'השער' צוות
- מוסיפים את המשתמש שצוין כאדמין הארגוני. אם המשתמש לא קיים, אפשר ליצור אותו.
- יצירת סביבה אחת או יותר
- יוצרים מארח וירטואלי אחד או יותר לכל סביבה
- שיוך הסביבה לכל מעבדי ההודעות
- הפעלת ניתוח נתונים
לקבלת קובץ תצורה מלא שקט, ראו הצטרפות לארגון.
כברירת מחדל, האורך המקסימלי של שם הארגון ושם הסביבה הוא 20 תווים כשמשתמשים בכלי apigee-provision. המגבלה הזו לא חלה אם משתמשים ב-Edge API ישירות כדי ליצור את הארגון או הסביבה.
יצירת ארגון
משתמשים בפקודה create-org כדי ליצור ארגון:
> /<inst_root>/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"
אפשר לבצע את השיחה הזו כמה פעמים כדי לשייך את הארגון לכמה Pod.
בשיחה האחרונה מתווספת משתמש קיים כמנהל הארגון בארגון:
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 כדי ליצור סביבה בארגון קיים:
> /<inst_root>/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. # 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 יתחיל עבור הארגון והסביבה הרלוונטיים.
> /<inst_root>/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"
כאשר example.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 המוצפן של Google.
אפשר להשתמש בקריאה הבאה ל-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>9443</Port> \ </VirtualHost>'
לתיאור מלא של יצירת מארח וירטואלי, כולל יצירת מארח וירטואלי מאובטח למארח שמשתמש ב-TLS/SSL ב-HTTPS, מידע נוסף זמין בכתובת http://apigee.com/docs/api-services/content/creating-virtual-host.