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

Edge for Private Cloud نسخه ۴.۱۶.۰۹

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

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

برای فایل پیکربندی کاملاً بی‌صدا، به آماده‌سازی سازمان مراجعه کنید.

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

ایجاد سازمان

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

> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-provision create-org -f configFile

این اسکریپت سازمان را ایجاد می‌کند، اما محیط‌ها و میزبان‌های مجازی موردنیاز سازمان برای رسیدگی به تماس‌های میانای برنامه‌سازی کاربردی را اضافه یا پیکربندی نمی‌کند.

فایل پیکربندی حاوی نام سازمان و نشانی ایمیل سرپرست سازمان است. نویسه‌هایی که می‌توانید در مشخصه نام استفاده کنید به این موارد محدود است: 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 «دروازه» مرتبط می‌کند
  • کاربر مشخص‌شده را به‌عنوان سرپرست سازمان اضافه می‌کند. کاربر باید ازقبل وجود داشته باشد؛ درغیراین‌صورت، دستورات خطا صادر می‌کند.
<Error>
    <Code>organizations.OrganizationAlreadyExists</Code>
    <Message>Organization : test already exists</Message>
    <Contexts/>
</Error>

ایجاد سازمان بااستفاده از فراخوانی‌های میانای برنامه‌سازی کاربردی

یا می‌توانید از فراخوانی‌های میانای برنامه‌سازی کاربردی زیر برای ایجاد سازمان استفاده کنید. اولین تماس، سازمان را ایجاد می‌کند:

curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \
-X POST http://<ms-ip>:8080/v1/organizations \
-d '<Organization name="<org-name>" type="paid"/>'

تماس بعدی سازمان را با یک پاد مرتبط می‌کند:

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

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های همه مراکز داده اعتبارسنجی می‌کند. سپس آماده‌سازی 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"

که 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 رمزگذاری‌شده پشتیبانی می‌کند.

از فراخوانی میانای برنامه‌سازی کاربردی زیر برای ایجاد میزبان‌های مجازی بیشتر یا ایجاد میزبان مجازی برای محیطی بدون میزبان مجازی استفاده کنید:

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 مراجعه کنید.