Создание организации, среды и виртуального хоста

Edge для частного облака v4.18.01

Одновременное создание организации, среды и виртуального хоста

Видео: посмотрите короткое видео с обзором настройки и конфигурации организации Apigee.

Прежде чем создавать прокси-сервер API в Apigee Edge, вы должны создать хотя бы одну организацию и внутри каждой организации одну или несколько сред и виртуальных хостов.

Обычно организации и среда создаются вместе. Чтобы упростить процесс, используйте утилиту apigee-provision . Вызовите его из командной строки на Edge Management Server:

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

Конфигурационный файл содержит:

# 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 

Затем команда:

  • Создать организацию
    Примечание . Вы не можете переименовать организацию после ее создания.
  • Свяжите организацию с модулем. По умолчанию она связывается с модулем «шлюз».
  • Добавьте указанного пользователя в качестве администратора организации. Если пользователь не существует, вы можете его создать.
  • Создайте одну или несколько сред
  • Создайте один или несколько виртуальных хостов для каждой среды.
  • Свяжите среду со всеми процессорами сообщений.
  • Включить аналитику

Полный файл конфигурации в автоматическом режиме см. в разделе Адаптация организации .

По умолчанию максимальная длина имени организации и имени среды составляет 20 символов при использовании утилиты apigee-provision . Это ограничение не применяется, если вы используете Edge API напрямую для создания организации или среды.

Создать организацию

Используйте команду create-org для создания организации:

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

Этот сценарий создает организацию, но не добавляет и не настраивает среды и виртуальные хосты, необходимые организации для обработки вызовов API.

Файл конфигурации содержит название организации и адрес электронной почты администратора организации. Символы, которые вы можете использовать в атрибуте имени, ограничены: a-z0-9\-$%. Не используйте в имени пробелы, точки и заглавные буквы:

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

Затем команда:

  • Создает организацию
  • Связывает организацию с модулем, по умолчанию связывает ее с модулем «шлюз».
  • Добавляет указанного пользователя в качестве администратора организации. Пользователь должен уже существовать; в противном случае скрипт выдает ошибку.
<Error>
  <Code>organizations.OrganizationAlreadyExists</Code>
  <Message>Organization : test already exists</Message>
  <Contexts/>
</Error>

Создайте организацию с помощью вызовов API

Альтернативно вы можете использовать следующие вызовы API для создания организации. Первый вызов создает организацию:

curl -H "Content-Type:application/xml" -u sysAdminEmail:adminPasswd \
  -X POST http://ms-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://ms-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=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

Команда:

  • Создает среду
  • Создает один виртуальный хост для среды.
  • Связывает среду со всеми процессорами сообщений в модуле, связанном с организацией, содержащей среду.
  • Включает аналитику
    Примечание . Если вы включаете аналитику для одной среды в организации, вы должны включить аналитику для всех сред в организации.

Создайте среду с помощью вызовов API

Альтернативно вы можете использовать следующие вызовы API для создания среды. Первый вызов создает среду:

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

Следующий вызов связывает среду с процессором сообщений. Выполните этот вызов для каждого процессора сообщений, который вы хотите связать со средой:

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"

Где uuid — это UUID процессора сообщений. Вы можете получить UUID с помощью команды:

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

Где mp-ip — IP-адрес процессора сообщений.

Следующий вызов API включает аналитику для данной среды. Он проверяет наличие серверов Qpid и Postgres в POD всех центров обработки данных. Затем начинается внедрение аналитики для данной организации и среды.

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

Этот конфигурационный файл содержит:

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 содержит следующее:

{
  "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:passwd http://ms-ip/v1/servers?pod=central

Результатом этой команды является объект JSON. Для каждого сервера Qpid вы увидите выходные данные в форме:

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

Для Postgres выполните команду:

curl -u sysAdminEmail:passwd http://ms-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://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>'

Полное описание создания виртуального хоста, включая создание безопасного виртуального хоста, использующего TLS/SSL через HTTPS, см. в разделе Настройка доступа TLS к API для частного облака .