Edge for Private Cloud نسخه 4.17.09
ایجاد یک سازمان، محیط و میزبان مجازی به طور همزمان
قبل از ایجاد یک پراکسی API در Apigee Edge، باید حداقل یک سازمان و در هر سازمان، یک یا چند محیط و میزبان مجازی ایجاد کنید.
به طور معمول، سازمان ها و محیط ها با هم ایجاد می شوند. برای ساده کردن فرآیند، از ابزار apigee-provision استفاده کنید. آن را از خط فرمان در سرور مدیریت لبه فراخوانی کنید:
> /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 مرتبط کنید، به طور پیشفرض آن را با غلاف "دروازه" مرتبط میکند
- کاربر مشخص شده را به عنوان مدیر سازمان اضافه کنید. اگر کاربر وجود ندارد، می توانید یکی ایجاد کنید.
- یک یا چند محیط ایجاد کنید
- برای هر محیط یک یا چند میزبان مجازی ایجاد کنید
- مرتبط کردن محیط با تمام پردازنده(های) پیام
- فعال کردن تجزیه و تحلیل
برای یک فایل پیکربندی بیصدا کامل، سازمانی را ببینید.
به طور پیش فرض، حداکثر طول نام سازمان و نام محیط در هنگام استفاده از ابزار apigee-provision 20 کاراکتر است. اگر مستقیماً از Edge API برای ایجاد سازمان یا محیط استفاده کنید، این محدودیت اعمال نمی شود.
یک سازمان ایجاد کنید
از دستور create-org برای ایجاد یک سازمان استفاده کنید:
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision create-org -f configFile
این اسکریپت سازمان را ایجاد میکند، اما محیطها و میزبانهای مجازی مورد نیاز سازمان برای رسیدگی به تماسهای API را اضافه یا پیکربندی نمیکند.
فایل پیکربندی شامل نام سازمان و آدرس ایمیل مدیر سازمان است. کاراکترهایی که می توانید در ویژگی name استفاده کنید محدود به: 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
سپس دستور:
- سازمان را ایجاد می کند
- سازمان را با یک پاد مرتبط می کند، به طور پیش فرض آن را با غلاف "دروازه" مرتبط می کند
- کاربر مشخص شده را به عنوان مدیر سازمان اضافه می کند. کاربر باید از قبل وجود داشته باشد. در غیر این صورت اسکریپت با خطا مواجه می شود.
<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
دستور:
- محیط را ایجاد می کند
- یک هاست مجازی واحد برای محیط ایجاد می کند
- محیط را با تمام پردازشگر(های) پیام در پاد مرتبط با سازمان حاوی محیط مرتبط می کند.
- تجزیه و تحلیل را فعال می کند
توجه : اگر تجزیه و تحلیل را برای یک محیط در یک سازمان فعال کنید، باید تجزیه و تحلیل را برای همه محیط های سازمان فعال کنید.
با استفاده از تماس های 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 را در PODهای تمام دیتاسنترها تأیید می کند. سپس آنالیز را برای سازمان و محیط معین شروع می کند.
> /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 شامل Qpid UUID ها است. اگر نیاز به دریافت این 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/SSL از طریق HTTPS استفاده میکند، به پیکربندی دسترسی TLS به یک API برای Private Cloud مراجعه کنید.