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

الإصدار 4.18.01 من Edge for Private Cloud

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

فيديو: يمكنك مشاهدة فيديو قصير للحصول على نظرة عامة على إعداد مؤسسة Apigee وضبطها.

قبل إنشاء خادم وكيل لواجهة برمجة التطبيقات على 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 باستخدام الأمر:

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 على قائمة قيم مفصولة بفاصلة لمعرّفات 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>443</Port> \
  </VirtualHost>'

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