एक संगठन, एनवायरमेंट, और वर्चुअल होस्ट बनाना

कमांड लाइन पर एक ही कमांड से संगठन, एनवायरमेंट, और वर्चुअल होस्ट बनाया जा सकता है. इसके अलावा, हर एक को अलग-अलग भी बनाया जा सकता है. इसके अलावा, इनमें से कई कार्रवाइयां करने के लिए, मैनेजमेंट एपीआई का इस्तेमाल किया जा सकता है.

वीडियो: Apigee संगठन के सेटअप और कॉन्फ़िगरेशन की खास जानकारी देने वाला छोटा वीडियो देखें.

एक ही समय में संगठन, एनवायरमेंट, और वर्चुअल होस्ट बनाना

Apigee Edge पर एपीआई प्रॉक्सी बनाने से पहले, आपको कम से कम एक संगठन बनाना होगा. साथ ही, हर संगठन में एक या उससे ज़्यादा एनवायरमेंट और वर्चुअल होस्ट बनाने होंगे.

आम तौर पर, संगठन और एनवायरमेंट एक साथ बनाए जाते हैं. इस प्रोसेस को आसान बनाने के लिए, apigee-provision यूटिलिटी का इस्तेमाल करें. Edge मैनेजमेंट सर्वर पर कमांड लाइन से इसे शुरू करें:

/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

यह स्क्रिप्ट संगठन बनाती है, लेकिन एपीआई कॉल को मैनेज करने के लिए संगठन को ज़रूरी एनवायरमेंट और वर्चुअल होस्ट को नहीं जोड़ती या कॉन्फ़िगर नहीं करती.

कॉन्फ़िगरेशन फ़ाइल में, संगठन का नाम और संगठन के एडमिन का ईमेल पता शामिल होता है. 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 स्क्रिप्ट:

  • संगठन बनाता है.
  • संगठन को "गेटवे" पॉड से जोड़ता है.
  • यह किसी उपयोगकर्ता को संगठन के एडमिन के तौर पर जोड़ता है. उपयोगकर्ता पहले से मौजूद होना चाहिए. ऐसा न होने पर, स्क्रिप्ट गड़बड़ी का मैसेज दिखाती है.

एपीआई कॉल का इस्तेमाल करके संगठन बनाना

संगठन बनाने के लिए, इन एपीआई कॉल का इस्तेमाल किया जा सकता है. पहले कॉल से संगठन बनता है:

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

अगला कॉल, संगठन को पॉड से जोड़ता है:

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 निर्देश:

  • यह एनवायरमेंट बनाता है.
  • यह फ़ंक्शन, एनवायरमेंट के लिए एक वर्चुअल होस्ट बनाता है.
  • यह एनवायरमेंट को पॉड में मौजूद सभी मैसेज प्रोसेसर से जोड़ता है. यह पॉड, उस संगठन से जुड़ा होता है जिसमें एनवायरमेंट मौजूद होता है.
  • यह नीति, आंकड़ों की सुविधा चालू करती है

एपीआई कॉल का इस्तेमाल करके एनवायरमेंट बनाना

इसके अलावा, एनवायरमेंट बनाने के लिए, इन एपीआई कॉल का इस्तेमाल किया जा सकता है. पहले कॉल से एनवायरमेंट बनता है:

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, मैसेज प्रोसेसर का यूयूआईडी है. इस कमांड का इस्तेमाल करके, यूयूआईडी हासिल किया जा सकता है:

curl http://Message_Processor_IP:8082/v1/servers/self

इसमें Message_Processor_IP, मैसेज प्रोसेसर का आईपी पता है.

अगला एपीआई कॉल, किसी दिए गए एनवायरमेंट के लिए Analytics को चालू करता है. यह सभी डेटासेंटर के POD में, Qpid और Postgres सर्वर की मौजूदगी की पुष्टि करता है. इसके बाद, यह दिए गए संगठन और एनवायरमेंट के लिए, Analytics में शामिल होने की प्रोसेस शुरू करता है.

इस कॉन्फ़िगरेशन फ़ाइल में ये शामिल हैं:

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 प्रॉपर्टी में, Postgres UUID की कॉमा लगाकर अलग की गई लिस्ट होती है. साथ ही, qpid-server प्रॉपर्टी में Qpid 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"

वर्चुअल होस्ट बनाना

किसी संगठन के मौजूदा एनवायरमेंट में वर्चुअल होस्ट बनाया जा सकता है. अक्सर कोई एनवायरमेंट, कई वर्चुअल होस्ट के साथ काम करता है. उदाहरण के लिए, हो सकता है कि एक वर्चुअल होस्ट, एचटीटीपी प्रोटोकॉल के साथ काम करता हो, जबकि उसी एनवायरमेंट में मौजूद दूसरा वर्चुअल होस्ट, एन्क्रिप्ट (सुरक्षित) किए गए एचटीटीपीएस प्रोटोकॉल के साथ काम करता हो.

अतिरिक्त वर्चुअल होस्ट बनाने या बिना वर्चुअल होस्ट वाले एनवायरमेंट के लिए वर्चुअल होस्ट बनाने के लिए, इस एपीआई कॉल का इस्तेमाल करें:

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

वर्चुअल होस्ट बनाने के बारे में पूरी जानकारी पाने के लिए, प्राइवेट क्लाउड के लिए एपीआई में टीएलएस ऐक्सेस को कॉन्फ़िगर करना लेख पढ़ें. इसमें एचटीटीपीएस पर टीएलएस/एसएसएल का इस्तेमाल करने वाले सुरक्षित वर्चुअल होस्ट को बनाने के बारे में भी बताया गया है.