Edge for Private Cloud wer. 4.17.09
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. # 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 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. # 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 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>443</Port> \ </VirtualHost>'
Pełny opis tworzenia hosta wirtualnego, w tym bezpiecznego hosta wirtualnego korzystającego z TLS/SSL przez HTTPS, znajdziesz w artykule Konfigurowanie dostępu TLS do interfejsu API w chmurze prywatnej.