Вы можете создать организацию, среду и виртуальный хост в командной строке с помощью одной команды или по отдельности. Кроме того, многие из этих действий можно выполнять с помощью Edge API.
Видео. Посмотрите короткое видео с обзором настройки и конфигурации организации Apigee.
Как создать организацию, среду и виртуальный хост одновременно
Прежде чем создавать прокси-сервер API в 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 выполняет следующие действия:
- Создает организацию.
- Связывает организацию с подом gateway. Изменить его нельзя.
- Добавляет указанного пользователя в качестве администратора организации. Если пользователя не существует, вы можете создать его.
- Создает одну или несколько сред.
- Создает один или несколько виртуальных хостов для каждой среды.
- Связывает среду со всеми обработчиками сообщений.
- Включает аналитику.
По умолчанию максимальная длина названия организации и среды составляет 20 символов при использовании утилиты apigee-provision. Это ограничение не действует, если вы используете Edge API напрямую для создания организации или среды. Название организации и название среды должны быть написаны строчными буквами.
Создание организации
Чтобы создать организацию, используйте команду create-org, как показано в следующем примере:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision create-org -f configFile
Этот скрипт создает организацию, но не добавляет и не настраивает среды и виртуальные хосты, необходимые организации для обработки вызовов API.
Файл конфигурации содержит название организации и адрес электронной почты администратора организации. В атрибуте "название бренда" 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:
- Создает организацию.
- Связывает организацию с подом gateway.
- Добавляет указанного пользователя в качестве администратора организации. Пользователь должен существовать, иначе скрипт выдаст ошибку.
Как создать организацию с помощью вызовов API
Для создания организации можно использовать следующие вызовы API: Первый вызов создает организацию:
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:
- Создает среду.
- Создает один виртуальный хост для среды.
- Связывает среду со всеми Message Processor в группе контейнеров, связанной с организацией, в которой находится среда.
- Включает аналитику.
Как создать среду с помощью вызовов API
Вы также можете создать среду, используя следующие вызовы API: Первый вызов создает среду:
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"/>'
Следующий вызов связывает среду с обработчиком сообщений. Выполните этот вызов для каждого Message Processor, который вы хотите связать со средой:
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 – UUID Message Processor. Чтобы получить UUID, используйте следующую команду:
curl http://Message_Processor_IP:8082/v1/servers/self
где Message_Processor_IP – IP-адрес обработчика сообщений.
Следующий вызов API включает Аналитику для определенной среды. Он проверяет наличие серверов Qpid и Postgres в POD всех центров обработки данных. После этого начинается регистрация Аналитики для указанной организации и среды.
Файл конфигурации содержит:
# Set Edge sys admin credentials. ADMIN_EMAIL=your@email.com APIGEE_ADMINPW=admin_password 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 содержит список UUID Postgres, разделенных запятыми, а свойство qpid-server – UUID 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"
Как создать виртуальный хост
Вы можете создать виртуальный хост в существующей среде в организации. Часто среда поддерживает несколько виртуальных хостов. Например, один виртуальный хост может поддерживать протокол HTTP, а другой виртуальный хост в той же среде – зашифрованный протокол HTTPS.
Чтобы создать дополнительные виртуальные хосты или виртуальный хост для среды без виртуального хоста, используйте следующий вызов API:
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>'Полное описание создания виртуального хоста, в том числе защищенного виртуального хоста, использующего TLS/SSL через HTTPS, приведено в разделе Настройка доступа TLS к API для частного облака.