אפשר ליצור ארגון, סביבה ומארח וירטואלי בשורת הפקודה באמצעות פקודה אחת, או ליצור כל אחד מהם בנפרד. נוסף לכך, אפשר להשתמש ב-Edge API כדי לבצע רבות מהפעולות האלו.
סרטון: מומלץ לצפות בסרטון קצר כדי לקבל סקירה כללית על ההגדרה של הארגון ב-Apigee.
יצירת ארגון, סביבה ומארח וירטואלי בו-זמנית
לפני שיוצרים שרת proxy ל-API ב-Apigee Edge, צריך ליצור לפחות ארגון אחד, ובכל ארגון, לפחות סביבה אחת ומארח וירטואלי אחד.
בדרך כלל, ארגונים וסביבות נוצרים יחד. כדי לפשט את התהליך, אפשר להשתמש
בכלי העזר apigee-provision
. מפעילים אותו משורת הפקודה בשרת Edge Management Server:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
כאשר configFile הוא הנתיב לקובץ תצורה שנראה דומה לדוגמה הבאה:
# Set Edge sys admin credentials. ADMIN_EMAIL=your@email.com APIGEE_ADMINPW=admin_password # If omitted, you are prompted for it. NEW_USER="y" USER_NAME=orgAdmin@myCo.com FIRST_NAME=foo LAST_NAME=bar USER_PWD="userPword" ORG_NAME=example # lowercase only, no spaces, underscores, or periods. ENV_NAME=prod # lowercase only 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
כשמגדירים ארגון, הסקריפט setup-org
מבצע את הפעולות הבאות:
- יצירת הארגון.
- משייך את הארגון ל-pod "gateway". אי אפשר לשנות אותה.
- הוספת המשתמש שצוין כמנהל המערכת של הארגון. אם המשתמש לא קיים, אפשר ליצור אותו.
- יצירת סביבה אחת או יותר.
- יוצר מארח וירטואלי אחד או יותר לכל סביבה.
- משייך את הסביבה לכל מעבדי ההודעות.
- הפעלת ניתוח נתונים.
כברירת מחדל, האורך המקסימלי של שם הארגון ושם הסביבה הוא 20 תווים
כשמשתמשים בכלי השירות apigee-provision
. המגבלה הזו לא רלוונטית אם משתמשים ב-Edge API ישירות כדי ליצור את הארגון או את הסביבה. שם הארגון ושם הסביבה חייבים להיות באותיות קטנות.
יצירת ארגון
כדי ליצור ארגון משתמשים בפקודה create-org
, כמו בדוגמה הבאה:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision create-org -f configFile
הסקריפט יוצר את הארגון, אבל לא מוסיף או מגדיר את הסביבות והמארחים הווירטואליים שנדרשים על ידי הארגון כדי לטפל בקריאות ל-API.
קובץ התצורה מכיל את שם הארגון ואת כתובת האימייל של מנהל
הארגון. התווים שאפשר להשתמש בהם במאפיין name
מוגבלים ל-
a-z0-9\-$%
. אין להשתמש ברווחים, בנקודות או באותיות רישיות בשם:
APIGEE_ADMINPW=admin_password # If omitted, you are prompted for it. ORG_NAME=example # lowercase only, no spaces, underscores, or periods. ORG_ADMIN=orgAdmin@myCo.com
הסקריפט create-org
:
- יצירת הארגון.
- משייך את הארגון ל-pod "gateway".
- הוספת המשתמש שצוין כמנהל המערכת של הארגון. המשתמש חייב כבר קיים. אחרת הסקריפט יוצר שגיאה.
יצירת ארגון באמצעות קריאות ל-API
כדי ליצור ארגון אפשר להשתמש בקריאות הבאות ל-API. הקריאה הראשונה יוצרת את הארגון:
curl -H "Content-Type:application/xml" -u sysAdminEmail:adminPasswd \ -X POST http://management_server_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://management_server_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=admin_password # If omitted, you are prompted for it. ORG_NAME=example # lowercase only, no spaces, underscores, or periods. ENV_NAME=prod # lowercase only 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
הפקודה add-env
:
- יוצרים את הסביבה.
- יוצר מארח וירטואלי יחיד עבור הסביבה.
- משייכת את הסביבה לכל מעבדי ההודעות ב-pod שמשויך לארגון שמכיל את הסביבה.
- הפעלת ניתוח נתונים
יצירת סביבה באמצעות קריאות ל-API
לחלופין, אפשר להשתמש בקריאות הבאות ל-API כדי ליצור סביבה. הקריאה הראשונה יוצרת את הסביבה:
curl -H "Content-Type:application/xml" -u sysAdminEmail:adminPasswd \ -X POST http://management_server_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://management_server_IP:8080/v1/organizations/org_name/environments/env_name/servers \ -d "action=add&uuid=uuid"
כאשר uuid הוא מזהה ייחודי אוניברסלי (UUID) של מעבד ההודעות. אפשר למצוא את ה-UUID באמצעות הפקודה:
curl http://Message_Processor_IP:8082/v1/servers/self
כאשר Message_Processor_IP היא כתובת ה-IP של מעבד ההודעות.
הקריאה הבאה ל-API מפעילה את Analytics בסביבה נתונה. האימות מאמת את הקיום של שרתי Qpid ו-Postgres ב-POD של כל מרכזי הנתונים. לאחר מכן הוא מתחיל את תהליך ההצטרפות של Analytics לארגון ולסביבה שצוינו.
קובץ התצורה הזה מכיל:
ORG_NAME=orgName # lowercase only, no spaces, underscores, or periods. ENV_NAME=envName # lowercase only
כאשר 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:password http://management_server_IP/v1/servers?pod=central
הפלט של הפקודה הזו הוא אובייקט JSON. עבור כל שרת Qpid, הפלט יופיע בצורה הבאה:
"type" : [ "qpid-server" ], "uUID" : "d3c5acf0-f88a-478e-948d-6f3094f12e3b"
עבור Postgres, מריצים את הפקודה הבאה:
curl -u sysAdminEmail:admin_password http://management_server_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://management_server_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/SSL ב-HTTPS, תוכלו לקרוא את המאמר הגדרת גישת TLS לממשק API בענן הפרטי.