إنشاء مؤسسة وبيئة ومضيف افتراضي

Edge for Private Cloud‏ 4.17.05

إنشاء مؤسسة وبيئة ومستضيف افتراضي في الوقت نفسه

قبل إنشاء وكيل واجهة برمجة التطبيقات على Apigee Edge، يجب إنشاء مؤسسة واحدة على الأقل، وبيئة واحدة أو أكثر وخوادم افتراضية واحدة أو أكثر في كل مؤسسة.

عادةً ما يتم إنشاء المؤسسات والبيئات معًا. لتسهيل العملية، استخدِم الأداة apigee-provision. استدعاؤه من سطر الأوامر في خادم إدارة Edge:

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

بعد ذلك، ينفِّذ الأمر ما يلي:

  • إنشاء المؤسسة
    ملاحظة: لا يمكنك إعادة تسمية مؤسسة بعد إنشائها.
  • يمكنك ربط المؤسسة بلوحة، يتم ربطها تلقائيًا بلوحة "المدخل".
  • أضِف المستخدم المحدّد كمشرف المؤسسة. إذا لم يكن المستخدم متوفّرًا، يمكنك إنشاء حساب له.
  • إنشاء بيئة واحدة أو أكثر
  • أنشئ مضيفًا افتراضيًا واحدًا أو أكثر لكل بيئة.
  • ربط البيئة بجميع معالجات الرسائل
  • تفعيل الإحصاءات

للحصول على ملف إعدادات كامل بدون إشعار، يُرجى الاطّلاع على مقالة إعداد مؤسسة.

يبلغ الحد الأقصى لطول اسم المؤسسة واسم البيئة 20 حرفًا بشكل تلقائي عند استخدام الأداة apigee-provision. لا ينطبق هذا الحدّ في حال استخدام Edge API مباشرةً لإنشاء المؤسسة أو البيئة.

إنشاء مؤسسة

استخدِم الأمر create-org لإنشاء مؤسسة:

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

بعد ذلك، ينفِّذ الأمر ما يلي:

  • إنشاء المؤسسة
  • ربط المؤسسة بمجموعة وحدات، ويتم ربطها تلقائيًا بمجموعة وحدات "البوابة"
  • تُضيف المستخدم المحدّد كمشرف المؤسسة. يجب أن يكون المستخدم موجودًا من قبل، وإلا سيصدر النص البرمجي خطأً.
<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 ل إنشاء بيئة في مؤسسة حالية:

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

الأمر:

  • إنشاء البيئة
  • إنشاء مضيف افتراضي واحد للبيئة
  • ربط البيئة بجميع معالجات الرسائل في المجموعة المرتبطة بالمؤسسة التي تحتوي على البيئة
  • تفعيل الإحصاءات
    ملاحظة: في حال تفعيل الإحصاءات لبيئة واحدة في مؤسسة، عليك تفعيل الإحصاءات لجميع البيئات في المؤسسة.

إنشاء بيئة باستخدام طلبات البيانات من واجهة برمجة التطبيقات

بدلاً من ذلك، يمكنك استخدام طلبات بيانات واجهة برمجة التطبيقات التالية لإنشاء بيئة. تنشئ المكالمة الأولى البيئة:

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 لمعالج الرسائل.

يعمل طلب البيانات التالي من واجهة برمجة التطبيقات على تفعيل "إحصاءات Google" في بيئة معيّنة. يتحقق من توفّر خوادم Qpid وPostgres في وحدات POD في جميع مراكز البيانات. بعد ذلك، تبدأ عملية إعداد "إحصاءات Google" للمؤسسة والبيئة المحدّدتين.

> /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 على قائمة مفصولة بفواصل بالمعرّفات الفريدة العامة لـ Postgres، وتحتوي السمة qpid-server على المعرّفات الفريدة العامة لـ 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>443</Port> \
  </VirtualHost>' 

للحصول على وصف كامل لإنشاء مضيف افتراضي، بما في ذلك إنشاء مضيف افتراضي آمن يستخدم بروتوكول TLS/SSL عبر HTTPS، اطّلِع على مقالة ضبط إمكانية الوصول إلى واجهة برمجة التطبيقات باستخدام بروتوكول TLS في "سحابة خاصة".