Kuruluş, Ortam ve Sanal Ana Makine Oluşturma

Edge for Private Cloud s. 4.17.01

Aynı anda kuruluş, ortam ve sanal ana makine oluşturma

Apigee Edge'de API proxy oluşturmadan önce en az bir kuruluş ve her kuruluş içinde bir veya daha fazla ortam ve sanal ana makine oluşturmanız gerekir.

Genellikle kuruluşlar ve ortamlar birlikte oluşturulur. Süreci basitleştirmek için apigee-provision yardımcı programını kullanın. Edge Yönetim Sunucusu'ndaki komut satırından çağırın:

> /opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile

Yapılandırma dosyası şunları içerir:

# 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. 
# AXGROUP=axgroup-001 # Default value is axgroup-001 

Ardından komut:

  • Kuruluşu oluşturun
    Not: Bir kuruluşu oluşturduktan sonra yeniden adlandıramazsınız.
  • Kuruluşu bir kapsülle ilişkilendirin. Varsayılan olarak "ağ geçidi" kapsülüyle ilişkilendirilir.
  • Belirtilen kullanıcıyı kuruluş yöneticisi olarak ekleyin. Kullanıcı yoksa yeni bir kullanıcı oluşturabilirsiniz.
  • Bir veya daha fazla ortam oluşturma
  • Her ortam için bir veya daha fazla sanal ana makine oluşturma
  • Ortamı tüm Mesaj İşleyenlerle ilişkilendirme
  • Analizleri etkinleştirme

Sessiz yapılandırma dosyasının tamamını görmek için Kuruluşları başlıklı makaleyi inceleyin.

apigee-provision yardımcı programı kullanıldığında kuruluş adı ve ortam adının varsayılan maksimum uzunluğu 20 karakterdir. Kuruluşu veya ortamı doğrudan Edge API'yi kullanarak oluşturursanız bu sınır geçerli olmaz.

Kuruluş oluşturma

Kuruluş oluşturmak için create-org komutunu kullanın:

> /opt/apigee/apigee-service/bin/apigee-service apigee-provision create-org -f configFile

Bu komut dosyası kuruluşu oluşturur ancak kuruluşun API çağrılarını işlemesi için gereken ortamları ve sanal ana makineleri eklemez ya da yapılandırmaz.

Yapılandırma dosyası, kuruluşun adını ve kuruluş yöneticisinin e-posta adresini içerir. Ad özelliğinde kullanabileceğiniz karakterler şunlarla sınırlıdır: a-z0-9\-$%. Adda boşluk, nokta veya büyük harf kullanmayın:

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

Bu komut:

  • Kuruluşu oluşturur
  • Kuruluşu bir kapsülle ilişkilendirir. Varsayılan olarak "ağ geçidi" kapsülüyle ilişkilendirir.
  • Belirtilen kullanıcıyı kuruluş yöneticisi olarak ekler. Kullanıcının zaten mevcut olması gerekir. Aksi takdirde, komut dosyası bir hata verir.
<Error>
    <Code>organizations.OrganizationAlreadyExists</Code>
    <Message>Organization : test already exists</Message>
    <Contexts/>
</Error>

API çağrılarını kullanarak kuruluş oluşturma

Alternatif olarak, kuruluş oluşturmak için aşağıdaki API çağrılarını da kullanabilirsiniz. İlk çağrı, kuruluşu oluşturur:

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

Sonraki çağrı, kuruluşu bir kapsülle ilişkilendirir:

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" 

Kuruluşu birden çok kapsülle ilişkilendirmek için bu çağrıyı birden çok kez yapabilirsiniz.

Son çağrıda, mevcut bir kullanıcı kuruluşun kuruluş yöneticisi olarak eklenir:

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

Kullanıcı mevcut değilse kullanıcıyı oluşturmak için aşağıdaki çağrıyı kullanabilirsiniz. Bu işlem, Kullanıcı ekleme bölümünde açıklanmaktadır.

Ortam Oluşturma

Mevcut bir kuruluşta ortam oluşturmak için add-env komutunu kullanın:

> /opt/apigee/apigee-service/bin/apigee-service apigee-provision add-env -f configFile

Bu yapılandırma dosyası, ortamı ve sanal ana makineyi oluşturmak için gereken bilgileri içerir:

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

Komut:

  • Ortamı oluşturur
  • Ortam için tek bir sanal ana makine oluşturur
  • Ortamı, ortamı içeren kuruluşla ilişkili kapsülün içindeki tüm Mesaj İşleyicilerle ilişkilendirir.
  • Analizleri etkinleştirir
    Not: Bir kuruluştaki bir ortam için analizleri etkinleştirirseniz analizleri kuruluştaki tüm ortamlar için etkinleştirmeniz gerekir.

API çağrıları kullanarak ortam oluşturma

Alternatif olarak, ortam oluşturmak için aşağıdaki API çağrılarını da kullanabilirsiniz. İlk çağrı, ortamı oluşturur:

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

Sonraki çağrı, ortamı bir Mesaj İşleyici ile ilişkilendirir. Ortamla ilişkilendirmek istediğiniz her Mesaj İşleyici için bu çağrıyı yapın:

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

Burada "<uuid>", Mesaj İşleyici'nin UUID'sidir. Aşağıdaki komutu kullanarak UUID'yi alabilirsiniz:

> curl http://<mp-ip>:8082/v1/servers/self

Burada "<mp-ip>", Mesaj İşleyici'nin IP adresidir.

Sonraki API çağrısı, Analytics'i belirli bir ortam için etkinleştirir. Tüm veri merkezlerinin kapsüllerinde Qpid ve Postgres Sunucularının varlığını doğrular. Ardından, ilgili kuruluş ve ortam için Analytics'e ilk katılım adımını başlatır.

> /opt/apigee/apigee-service/bin/apigee-service apigee-provision enable-ax -f configFile

Bu yapılandırma dosyası şunları içerir:

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 dosyası aşağıdakileri içerir:

{
  "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 mülkü, Postgres UUID'lerinin virgülle ayrılmış bir listesini, qpid-server mülkü ise Qpid UUID'lerini içerir. Bu UUID'leri almanız gerekiyorsa aşağıdaki komutları kullanın.

Qpid için şu komutu çalıştırın:

curl -u <sysAdminEmail>:<passwd> http://<ms-ip>/v1/servers?pod=central

Bu komutun çıktısı bir JSON nesnesi olur. Her Qpid sunucusu için aşağıdaki biçimde çıkış görürsünüz:

"type" : [ "qpid-server" ],
"uUID" : "d3c5acf0-f88a-478e-948d-6f3094f12e3b"

Postgres için şu komutu çalıştırın:

curl -u <sysAdminEmail>:<passwd> http://<ms-ip>/v1/servers?pod=analytics

Her Postgres sunucusu için şu biçimde çıkış görürsünüz:

"type" : [ "postgres-server" ],
"uUID" : "d3c5acf0-f88a-478e-948d-6f3094f12e3b"

Sanal ana makine oluşturma

Bir kuruluştaki mevcut bir ortamda sanal ana makine oluşturabilirsiniz. Çoğu zaman bir ortam birden fazla sanal ana makineyi destekler. Örneğin, bir sanal ana makine HTTP protokolünü desteklerken aynı ortamdaki başka bir sanal ana makine şifrelenmiş HTTPS protokolünü destekler.

Ek sanal ana makine oluşturmak veya sanal ana makinesi olmayan bir ortam için sanal ana makine oluşturmak üzere aşağıdaki API çağrısını kullanın:

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>9002</Port> \
  </VirtualHost>' 

HTTPS üzerinden TLS/SSL kullanan güvenli bir sanal ana makine oluşturma da dahil olmak üzere sanal ana makine oluşturma hakkında tam açıklama için http://apigee.com/docs/api-services/content/creating-virtual-host adresine bakın.