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

شما می توانید یک سازمان، محیط و میزبان مجازی را در خط فرمان در یک دستور ایجاد کنید یا می توانید هر کدام را جداگانه ایجاد کنید. علاوه بر این، می توانید از API مدیریت برای انجام بسیاری از این اقدامات استفاده کنید.

ویدئو: یک ویدیوی کوتاه برای مروری بر تنظیمات و پیکربندی سازمان Apigee تماشا کنید.

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

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

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

/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 کارهای زیر را انجام می دهد:

  • سازمان را ایجاد می کند.
  • سازمان را با غلاف "دروازه" مرتبط می کند. شما نمی توانید این را تغییر دهید.
  • کاربر مشخص شده را به عنوان مدیر سازمان اضافه می کند. اگر کاربر وجود ندارد، می توانید یکی ایجاد کنید.
  • یک یا چند محیط ایجاد می کند.
  • برای هر محیط یک یا چند هاست مجازی ایجاد می کند.
  • محیط را با تمام پردازنده(های) پیام مرتبط می کند.
  • تجزیه و تحلیل را فعال می کند.

به طور پیش فرض، حداکثر طول نام سازمان و نام محیط در هنگام استفاده از ابزار 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=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 :

  • سازمان را ایجاد می کند.
  • سازمان را با غلاف "دروازه" مرتبط می کند.
  • کاربر مشخص شده را به عنوان مدیر سازمان اضافه می کند. کاربر باید از قبل وجود داشته باشد. در غیر این صورت اسکریپت با خطا مواجه می شود.

با استفاده از تماس های 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 :

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

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

این فایل کانفیگ شامل:

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 شامل Qpid UUID ها است. اگر نیاز به دریافت این 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 برای Private Cloud مراجعه کنید.