ایجاد سازمان، محیط و میزبان مجازی

Edge for Private Cloud نسخه 4.16.09

ایجاد یک سازمان، محیط و میزبان مجازی به طور همزمان

قبل از ایجاد یک پراکسی API در Apigee Edge، باید حداقل یک سازمان و در هر سازمان، یک یا چند محیط و میزبان مجازی ایجاد کنید.

به طور معمول، سازمان ها و محیط ها با هم ایجاد می شوند. برای ساده کردن فرآیند، از ابزار apigee-provision استفاده کنید. آن را از خط فرمان در سرور مدیریت لبه فراخوانی کنید:

> /<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 مرتبط کنید، به طور پیش‌فرض آن را با غلاف "دروازه" مرتبط می‌کند
  • کاربر مشخص شده را به عنوان مدیر سازمان اضافه کنید. اگر کاربر وجود ندارد، می توانید یکی ایجاد کنید.
  • یک یا چند محیط ایجاد کنید
  • برای هر محیط یک یا چند میزبان مجازی ایجاد کنید
  • مرتبط کردن محیط با تمام پردازنده(های) پیام
  • فعال کردن تجزیه و تحلیل

برای یک فایل پیکربندی بی‌صدا کامل، سازمانی را ببینید.

به طور پیش فرض، حداکثر طول نام سازمان و نام محیط در هنگام استفاده از ابزار apigee-provision 20 کاراکتر است. اگر مستقیماً از Edge API برای ایجاد سازمان یا محیط استفاده کنید، این محدودیت اعمال نمی شود.

یک سازمان ایجاد کنید

از دستور create-org برای ایجاد یک سازمان استفاده کنید:

> /<inst_root>/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 برای ایجاد یک محیط در یک سازمان موجود استفاده کنید:

> /<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

دستور:

  • محیط را ایجاد می کند
  • یک هاست مجازی واحد برای محیط ایجاد می کند
  • محیط را با تمام پردازشگر(های) پیام در پاد مرتبط با سازمان حاوی محیط مرتبط می کند.
  • تجزیه و تحلیل را فعال می کند
    توجه : اگر تجزیه و تحلیل را برای یک محیط در یک سازمان فعال کنید، باید تجزیه و تحلیل را برای همه محیط های سازمان فعال کنید.

با استفاده از تماس های 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های تمام دیتاسنترها تأیید می کند. سپس آنالیز را برای سازمان و محیط معین شروع می کند.

> /<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"

جایی که 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>9443</Port> \
  </VirtualHost>' 

برای توضیح کامل ایجاد یک میزبان مجازی، از جمله ایجاد یک میزبان مجازی امن که از TLS/SSL از طریق HTTPS استفاده می‌کند، به http://apigee.com/docs/api-services/content/creating-virtual-host مراجعه کنید.