Tworzenie organizacji, środowiska i hosta wirtualnego

Edge for Private Cloud w wersji 4.17.05

Tworzenie organizacji, środowiska i hosta wirtualnego w tym samym czasie

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

Zwykle organizacje i środowiska są tworzone razem. Aby uprościć ten proces, użyj narzędzia apigee-provision. Wywołaj go z poziomu wiersza poleceń na serwerze Edge Management Server:

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

Plik konfiguracji 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. 
# 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 

Następnie polecenie:

  • Utwórz organizację
    Uwaga: po utworzeniu organizacji nie możesz zmienić jej nazwy.
  • Powiązanie organizacji z modułem. Domyślnie jest on powiązany z modułem „gateway”.
  • Dodaj wybranego użytkownika jako administratora organizacji. Jeśli takiego użytkownika nie ma, możesz go utworzyć.
  • Utwórz co najmniej 1 środowisko
  • Utwórz co najmniej 1 hosta wirtualnego dla każdego środowiska
  • Powiązanie środowiska ze wszystkimi procesorami wiadomości
  • Włączanie funkcji analitycznych

Pełny plik konfiguracji w trybie cichy znajdziesz w artykule Włączanie organizacji.

Domyślnie maksymalna długość nazwy organizacji i nazwy środowiska wynosi 20 znaków, gdy używasz narzędzia apigee-provision. Ten limit nie obowiązuje, jeśli do utworzenia organizacji lub środowiska użyjesz interfejsu Edge API.

Tworzenie organizacji

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 i hostów wirtualnych wymaganych przez organizację do obsługi wywołań interfejsu API.

Plik konfiguracji zawiera nazwę organizacji i adres e-mail administratora. W atrybucie nazwa możesz używać tylko tych znaków: a–z0–9\-$%. W nazwie nie możesz używać spacji, kropek ani wielkich liter:

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ę
  • Łączy organizację z podem, domyślnie wiąże ją z podem „bramy”
  • Dodaje wskazanego użytkownika jako administratora organizacji. Użytkownik musi już istnieć, w przeciwnym razie skrypt wyświetli błąd.
<Error>
    <Code>organizations.OrganizationAlreadyExists</Code>
    <Message>Organization : test already exists</Message>
    <Contexts/>
</Error>

Tworzenie organizacji za pomocą wywołań interfejsu API

Do utworzenia organizacji możesz też użyć poniższych wywołań interfejsu API. 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 łączy organizację z podgrupą:

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 kilka razy, aby powiązać organizację z wieloma podgrupami.

Ostatnie wywołanie 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 takiego użytkownika nie ma, możesz użyć tego wywołania, aby utworzyć go zgodnie z opisem w sekcji Dodawanie użytkownika.

Tworzenie środowiska

Aby utworzyć środowisko w istniejącej organizacji, użyj polecenia add-env:

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

Ten plik konfiguracji zawiera informacje potrzebne do utworzenia środowiska i wirtualnego hosta:

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

Polecenie:

  • Tworzy środowisko
  • Tworzy jeden host wirtualny dla środowiska
  • Powiązuje środowisko ze wszystkimi procesorami wiadomości w podgrupie powiązanej z organizacją zawierającą środowisko.
  • Włącza funkcje analityczne
    Uwaga: jeśli włączysz funkcje analityczne w jednym środowisku w organizacji, musisz je włączyć we wszystkich środowiskach w tej organizacji.

Utwórz środowisko za pomocą wywołań interfejsu API

Możesz też użyć tych wywołań interfejsu API, aby utworzyć środowisko. 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ępny wywołanie łączy środowisko z procesorem wiadomości. Wykonaj to wywołanie dla każdego procesora 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 usługi Message Processor. 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 ona istnienie serwerów Qpid i Postgres w podach we wszystkich centrach danych. Następnie rozpoczyna wprowadzenie do Analytics w danej organizacji i środowisku.

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

Plik sample.json zawiera te informacje:

{
  "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 listę identyfikatorów UUID Postgres rozdzielonych przecinkami, a właściwość qpid-server zawiera identyfikatory UUID Qpid. Jeśli musisz uzyskać te identyfikatory UUID, użyj podanych niżej 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 zobaczysz dane wyjściowe w formacie:

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

W przypadku Postgres uruchom polecenie:

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

W przypadku każdego serwera Postgres zobaczysz dane wyjściowe w formacie:

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

Tworzenie hosta wirtualnego

Hosta wirtualnego możesz utworzyć w istniejącym środowisku organizacji. Często środowisko 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 może obsługiwać szyfrowany protokół HTTPS.

Aby utworzyć dodatkowe hosty wirtualne lub host wirtualny 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>443</Port> \
  </VirtualHost>' 

Pełny opis tworzenia hosta wirtualnego, w tym tworzenia bezpiecznego hosta wirtualnego, który używa TLS/SSL przez HTTPS, znajdziesz w artykule Konfigurowanie dostępu TLS do interfejsu API w chmurze prywatnej.