Tworzenie organizacji, środowiska i hosta wirtualnego

Edge for Private Cloud wer. 4.17.01

Jednoczesne tworzenie organizacji, środowiska i hosta wirtualnego

Zanim utworzysz serwer proxy interfejsu API w Apigee Edge, musisz utworzyć co najmniej 1 organizację oraz w każdej organizacji co najmniej 1 środowisko i hosty wirtualne.

Zwykle organizacje i środowiska są tworzone razem. Aby uprościć ten proces, użyj narzędzia apigee-provision. Wywołaj je z wiersza poleceń na serwerze zarządzania brzegiem sieci:

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

Plik konfiguracyjny zawiera:

# 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 

Następnie polecenie:

  • Utwórz organizację.
    Uwaga: po utworzeniu organizacji nie możesz jej zmienić.
  • Powiąż organizację z podem, domyślnie wiąże się ona z podem „brama”
  • Dodaj określonego użytkownika jako administratora organizacji. Jeśli użytkownik nie istnieje, możesz go utworzyć.
  • Utwórz co najmniej jedno środowisko
  • Utwórz co najmniej 1 hosta wirtualnego dla każdego środowiska
  • Powiąż środowisko ze wszystkimi podmiotami przetwarzającymi wiadomości
  • Włącz statystyki

Kompletny cichy plik konfiguracyjny znajdziesz w artykule o rejestrowaniu organizacji.

Domyślnie maksymalna długość nazwy organizacji i środowiska to 20 znaków w przypadku korzystania z narzędzia apigee-provision. Ten limit nie obowiązuje, jeśli do tworzenia organizacji lub środowiska używasz interfejsu Edge API bezpośrednio.

Utwórz organizację

Aby utworzyć organizację, użyj polecenia create-org:

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

Ten skrypt tworzy organizację, ale nie dodaje ani nie konfiguruje środowisk ani hostów wirtualnych wymaganych przez organizację do obsługi wywołań interfejsu API.

Plik konfiguracyjny zawiera nazwę organizacji oraz adres e-mail jej administratora. W nazwie atrybutu mogą być używane tylko znaki: a-z0-9\-$%. Nie używaj spacji, kropek ani dużych liter w nazwie:

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

Następnie polecenie:

  • Tworzy organizację
  • Wiąże organizację z podem, domyślnie wiąże ją z podem „brama”
  • Dodaje określonego użytkownika jako administratora organizacji. Użytkownik musi już istnieć. W przeciwnym razie skrypt zwróci błąd.
<Error>
    <Code>organizations.OrganizationAlreadyExists</Code>
    <Message>Organization : test already exists</Message>
    <Contexts/>
</Error>

Utwórz organizację za pomocą wywołań interfejsu API

Możesz też użyć poniższych wywołań interfejsu API, aby utworzyć organizację. Pierwsze wywołanie tworzy organizację:

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

Następne wywołanie wiąże organizację z podem:

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" 

Możesz wykonać to wywołanie wiele razy, aby powiązać organizację z wieloma podami.

Ostatnie połączenie dodaje istniejącego użytkownika jako administratora organizacji:

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

Jeśli użytkownik nie istnieje, możesz użyć poniższego wywołania, aby go utworzyć zgodnie z opisem w sekcji Dodawanie użytkownika.

Tworzenie środowiska

Za pomocą polecenia add-env utwórz środowisko w istniejącej organizacji:

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

Ten plik konfiguracyjny zawiera informacje niezbędne do utworzenia środowiska i hosta wirtualnego:

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

Polecenie:

  • Tworzy środowisko
  • Tworzy dla środowiska jednego hosta wirtualnego
  • Wiąże środowisko ze wszystkimi podmiotami przetwarzającymi wiadomości w podzie powiązanym z organizacją zawierającą środowisko.
  • Włącza analitykę
    Uwaga: jeśli włączysz Analytics w jednym środowisku w organizacji, musisz ją włączyć we wszystkich środowiskach w organizacji.

Tworzenie środowiska za pomocą wywołań interfejsu API

Do utworzenia środowiska możesz też użyć poniższych wywołań interfejsu API. Pierwsze wywołanie tworzy środowisko:

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

Następne wywołanie wiąże środowisko z procesorem wiadomości. Wykonaj to wywołanie dla każdego podmiotu przetwarzającego wiadomości, który chcesz powiązać ze środowiskiem:

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

Gdzie „<uuid>” to identyfikator UUID procesora wiadomości. Identyfikator UUID możesz uzyskać za pomocą polecenia:

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

Gdzie „<mp-ip>” to adres IP procesora wiadomości.

Następne wywołanie interfejsu API włącza Analytics w danym środowisku. Sprawdza istnienie serwerów Qpid i Postgres w podach we wszystkich centrach danych. Następnie rozpoczyna się wprowadzenie Analytics dla danej organizacji i środowiska.

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

Ten plik konfiguracyjny zawiera:

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"

Gdzie sample.json zawiera te elementy:

{
  "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"] 
  }
}

Właściwość postgres-servers zawiera rozdzielaną przecinkami listę identyfikatorów UUID Postgres, a właściwość qpid-server zawiera identyfikatory UUID Qpid. Jeśli musisz uzyskać te identyfikatory UUID, użyj tych poleceń.

W przypadku Qpid uruchom polecenie:

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

Wynikiem tego polecenia jest obiekt JSON. W przypadku każdego serwera Qpid dane wyjściowe wyświetlą się w formacie:

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

W przypadku serwera Postgres uruchom polecenie:

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

Dla każdego serwera Postgres dane wyjściowe wyświetlą się w formacie:

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

Tworzenie hosta wirtualnego

Host wirtualny możesz utworzyć w istniejącym środowisku organizacji. Środowisko często obsługuje wiele hostów wirtualnych. Na przykład jeden host wirtualny może obsługiwać protokół HTTP, a inny host wirtualny w tym samym środowisku – zaszyfrowany protokół HTTPS.

Aby utworzyć dodatkowe hosty wirtualne lub hosta wirtualnego dla środowiska bez hosta wirtualnego, użyj tego wywołania interfejsu API:

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

Pełny opis tworzenia hosta wirtualnego, w tym bezpiecznego hosta wirtualnego korzystającego z protokołu TLS/SSL przez HTTPS, znajdziesz na stronie http://apigee.com/docs/api-services/content/creating-virtual-host.