Установка API BaaS

Edge для частного облака v. 4.17.01

Обзор установки

После установки утилиты Edge the apigee-setup на узле используйте эту утилиту для установки на узле одного или нескольких компонентов BaaS.

Утилита apigee-setup имеет вид:

> sudo /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

Передайте файл конфигурации утилите apigee-setup , содержащий информацию об установке. Если в файле конфигурации отсутствует какая-либо необходимая информация, утилита apigee-setup предложит ввести ее в командной строке.

Единственное требование состоит в том, что файл конфигурации должен быть доступен или доступен для чтения пользователю «apigee».

Например, используйте следующую команду для установки стека API BaaS:

> sudo /opt/apigee/apigee-setup/bin/setup.sh -p b -f myConfig

Указание компонентов для установки

Утилита Apigee setup.sh поддерживает несколько вариантов установки компонентов API BaaS. В приведенных ниже инструкциях используются автономные параметры (c, e, b и p), но вы можете использовать другие параметры в зависимости от конфигурации вашего узла:

Вариант

Описание

е

Установите только ElasticSearch.

б

Установите только API BaaS Stack, который также устанавливает Tomcat.

п

Установите только API BaaS Portal, который также устанавливает маршрутизатор Nginx, который будет использоваться в качестве веб-сервера.

с

Установите только Кассандру.

Эб

Установите ElasticSearch, API BaaS Stack и Tomcat на узле.

э.б.п.

Установите ElasticSearch, API BaaS Portal, API BaaS Stack и Tomcat, но не Cassandra. Портал настолько легкий, что для этого не нужны дополнительные ресурсы.

как

Установите все компоненты API BaaS на одном узле (Cassandra, Elasticsearch, API BaaS Stack, API BaaS Portal, Tomcat). Используйте эту опцию только для разработки и тестирования, а не для производства.

Создание файла конфигурации

Файл конфигурации содержит всю информацию, необходимую для установки API BaaS. Часто вы можете использовать один и тот же файл конфигурации для установки всех компонентов установки BaaS.

Для каждой топологии установки, описанной ниже, показан пример файла конфигурации для этой топологии. Полную информацию о файле конфигурации см. в разделе Справочник по файлу конфигурации BaaS .

Установите API BaaS на одном узле

Ниже показан файл конфигурации для установки API BaaS на одном узле. Отредактируйте этот файл, если это необходимо для вашей конфигурации. Полную информацию о файле конфигурации см. в разделе Справочник по файлу конфигурации BaaS .

IP1=192.168.56.101   # IP address of single node

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Define the API BaaS administrator account.  
AS_ADMIN="superuser"    # User name - default is "superuser".
AS_ADMIN_EMAIL=stackAdmin@email.com
AS_PASSWD=stackAdminPWord

# Because you are installing Cassandra,
# specify Cassandra data center and rack suffix.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1"

# Specify the Cassandra region.
REGION=dc-1

# Cassandra uname/pword.
# Even if Cassandra authentication is disabled,
# you must still pass values for these properties.
CASS_USERNAME=cassandra    # Default value
CASS_PASSWORD=cassandra    # Default value

# Specify Cassandra data center name.
BAAS_CASS_LOCALDC=dc-1

# For a single data center, specify the same value as BAAS_CASS_LOCALDC.
BAAS_CASS_DC_LIST=dc-1

# Replication is in the form "dataCenterName:#CassandraNodes". 
# For dc-1 with one Cassandra node, it is dc-1:1.
BAAS_CASS_REPLICATION=dc-1:1

# Defines the initial contact points for members of the BaaS cluster. 
# For a single node install, specify the IP address of the node. 
BAAS_CLUSTER_SEEDS="dc-1:$IP1"

# Single ElasticSearch IP.
ES_HOSTS="$IP1"

# API BaaS Stack information.
# Default cluster name is "apigee_baas"
BAAS_USERGRID_CLUSTERNAME="apigee_baas" 

# IP/DNS and port 8080 of a single Stack node.
BAAS_USERGRID_URL="http://$IP1:8080"

# URL and port of the BaaS Portal node.  
BAAS_PORTAL_URL="http://$IP1:9000"

# Portal port. Default value is 9000.
BAAS_PORTAL_LISTEN_PORT=9000

# SMTP information. BaaS requires an SMTP server.
SMTPHOST=smtp.gmail.com
SMTPPORT=465
SMTPUSER=your@email.com
SMTPPASSWORD=yourEmailPassword
SMTPSSL=y

Чтобы установить API BaaS на отдельный узел:

  1. Установите утилиту Edge apigee-setup на узле, используя процедуру через Интернет или без Интернета. Дополнительные сведения см. в разделе Установка утилиты Edge apigee-setup .
  2. В командной строке запустите сценарий установки:
    > /opt/apigee/apigee-setup/bin/setup.sh -p asa -f файл конфигурации

    Параметр «-p asa» указывает на установку всех компонентов API BaaS на одном узле (Cassandra, Elasticsearch, API BaaS Stack, API BaaS Portal, Tomcat).
    Файл конфигурации должен быть доступен или доступен для чтения пользователю «apigee».
  3. Поскольку вы установили ElasticSearch на автономный узел, измените параметр памяти по умолчанию, чтобы увеличить память, выделенную для ElasticSearch, с 4 ГБ до 6 ГБ:
    1. Откройте /opt/apigee/customer/application/elasticsearch.properties в редакторе. Если этот файл не существует, создайте его.
    2. Установите для свойства setenv_elasticsearch_max_mem_size значение 6g (по умолчанию — 4g):
      setenv_elasticsearch_max_mem_size=6g
    3. Сохраните файл.
    4. Выполните следующую команду:
      > /opt/apigee/apigee-service/bin/apigee-service перезапуск apigee-elasticsearch
  4. Регистрация организации, как описано ниже в разделе Регистрация новой организации .

Конфигурация успешно завершает установку на узле.

Установите API BaaS на 7 или 10 узлах

Процедура установки версии API BaaS на 7 или 10 узлов очень похожа. Единственное отличие состоит в том, что для:

  • При установке 10 узлов вы устанавливаете три компонента ElasticSearch и три компонента API BaaS Stack на отдельных узлах, всего шесть узлов. Это рекомендуемая конфигурация для максимальной производительности, поскольку ElasticSearch требует большого объема дискового ввода-вывода и памяти.
  • При установке 7 узлов вы устанавливаете три компонента ElasticSearch и три компонента API BaaS Stack на одних и тех же узлах, всего три узла.

Для версий API BaaS с 7 и 10 узлами необходимо подключиться к кластеру Cassandra. Если вы уже установили Edge, вы можете подключиться к его кластеру Cassandra, то есть вам не нужно устанавливать Cassandra как часть установки API BaaS.

Ниже показан пример файла автоматической конфигурации для установки API BaaS с 10 узлами. Если вы устанавливаете компоненты ElasticSearch и API BaaS Stack на одни и те же три узла, отредактируйте файл так, чтобы:

  • IP1 и IP4 настроены на один и тот же IP-адрес.
  • IP2 и IP5 настроены на один и тот же IP-адрес.
  • IP3 и IP6 настроены на один и тот же IP-адрес.

Отредактируйте этот файл, если это необходимо для вашей конфигурации. Полную информацию о файле конфигурации см. в разделе Справочник по файлу конфигурации BaaS .

# Specify IP address or DNS name of node.
IP1=192.168.1.1   # ElasticSearch
IP2=192.168.1.2   # ElasticSearch
IP3=192.168.1.3   # ElasticSearch
IP4=192.168.1.4   # API BaaS Stack
IP5=192.168.1.5   # API BaaS Stack
IP6=192.168.1.6   # API BaaS Stack
IP7=192.168.1.7   # API BaaS Portal
IP8=192.168.1.8   # Cassandra (shared with Edge or standalone)
IP9=192.168.1.9   # Cassandra (shared with Edge or standalone)
IP10=192.168.1.10  # Cassandra (shared with Edge or standalone)

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Define the API BaaS administrator account.  
AS_ADMIN="superuser"    # User name - default is "superuser".
AS_ADMIN_EMAIL=stackAdmin@email.com
AS_PASSWD=stackAdminPWord

# Only if you are installing Cassandra.
# Specify Cassandra data center and rack suffix.
# Must use IP addresses for CASS_HOSTS, not DNS names.
# CASS_HOSTS="$IP8:1,1 $IP9:1,1 $IP10:1,1"

# If connecting to existing Cassandra nodes, 
# specify Cassandra IPs.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP8 $IP9 $IP10"

# Specify the Cassandra region.
REGION=dc-1

# Cassandra uname/pword.
# Even if Cassandra authentication is disabled,
# you must still pass values for these properties.
CASS_USERNAME=cassandra    # Default value
CASS_PASSWORD=cassandra    # Default value

# Specify BaaS Cassandra connection information.
# Specify the data center name.
BAAS_CASS_LOCALDC=dc-1    # Default is dc-1.

# For a single data center, specify the same value as BAAS_CASS_LOCALDC.
BAAS_CASS_DC_LIST=dc-1

# Replication is in the form "dataCenterName:#CassandraNodes". 
# For example, for dc-1 with three Cassandra nodes, it is dc-1:3.
BAAS_CASS_REPLICATION=dc-1:3

# Defines the initial contact points for members of the BaaS cluster. 
# Specify the IP address of no more than two Stack nodes. 
BAAS_CLUSTER_SEEDS="dc-1:$IP4,dc-1:$IP5"

# ElasticSearch IPs or DNS names, separated by spaces.
ES_HOSTS="$IP1 $IP2 $IP3"

# API BaaS Stack information.
# Default cluster name is "apigee_baas"
BAAS_USERGRID_CLUSTERNAME="apigee_baas" 

# URL and port of the load balancer for the API BaaS Stack nodes, 
# or IP/DNS and port 8080 of a single Stack node with no load balancer.
BAAS_USERGRID_URL=http://myloadbalancer:8443

# API BaaS Portal information.
# URL and port number of load balancer, if there is one in front of the Portal,
# or the URL and port of the Portal node.  
BAAS_PORTAL_URL="http://$IP7:9000"

# Portal port. Default value is 9000.
BAAS_PORTAL_LISTEN_PORT=9000 

# SMTP information. BaaS requires an SMTP server.
SMTPHOST=smtp.gmail.com
SMTPPORT=465
SMTPUSER=your@email.com
SMTPPASSWORD=yourEmailPassword
SMTPSSL=y

Необязательно — установите Cassandra: машины 8, 9 и 10.

Вы можете подключить API BaaS к тому же кластеру Cassandra, который используется Edge. Если вы не установили Edge, вы можете дополнительно установить Cassandra для использования API BaaS.

Кластер Cassandra может использовать аутентификацию или аутентификацию Cassandra можно отключить. Дополнительную информацию см. в разделе Включение аутентификации Cassandra .

  1. Установите утилиту Edge apigee-setup на узле, используя процедуру через Интернет или без Интернета. Дополнительные сведения см. в разделе Установка утилиты Edge apigee-setup .
  2. В командной строке запустите сценарий установки:
    > /opt/apigee/apigee-setup/bin/setup.sh -pc -f файл конфигурации

    Опция «-p c» указывает на установку Cassandra.
    Файл конфигурации должен быть доступен или доступен для чтения пользователю «apigee».

Конфигурация успешно завершает настройку хранилища данных на узле.

Обратите внимание, что JMX включен для Cassandra по умолчанию. Удаленный доступ JMX к Cassandra не требует пароля. Вы можете настроить Cassandra для использования аутентификации для JMX. Дополнительную информацию см. в разделе «Как отслеживать» .

Настройте задание cron Cassandra

Если вам необходимо установить Cassandra, настройте задание cron, которое использует nodetool для очистки блокировок, запускаемых каждый час на каждом узле Cassandra.

Если у вас несколько узлов Cassandra, сместите задание cron на каждом сервере на пять минут, чтобы все узлы не очищались одновременно.

Задание cron должно выполнить следующую команду:

/opt/apigee/apigee-cassandra/bin/nodetool -h IP_address flush Apigee_Baas_Locks

где IP_address — IP-адрес узла Cassandra.

Установите ElasticSearch: машины 1, 2 и 3.

Чтобы установить ElasticSearch на отдельный узел:

  1. Установите утилиту Edge apigee-setup на узле, используя процедуру через Интернет или без Интернета. Дополнительные сведения см. в разделе Установка утилиты Edge apigee-setup .
  2. В командной строке запустите сценарий установки:
    > /opt/apigee/apigee-setup/bin/setup.sh -pe -f файл конфигурации

    Опция «-p e» указывает на установку ElasticSearch.
    Файл конфигурации должен быть доступен или доступен для чтения пользователю «apigee».
  3. (Необязательно) Если вы устанавливаете ElasticSearch на автономный узел, то есть он не установлен со стеком API BaaS, настройте параметр памяти по умолчанию, чтобы увеличить память, выделенную для ElasticSearch, с 4 ГБ до 6 ГБ:
    1. Откройте /opt/apigee/customer/application/elasticsearch.properties в редакторе. Если этот файл не существует, создайте его.
    2. Установите для свойства setenv_elasticsearch_max_mem_size значение 6g (по умолчанию — 4g):
      setenv_elasticsearch_max_mem_size=6g
    3. Сохраните файл.
    4. Выполните следующую команду:
      > /opt/apigee/apigee-service/bin/apigee-service перезапуск apigee-elasticsearch

Конфигурация успешно завершает установку на узле.

Установите стек API BaaS: машины 4, 5 и 6.

Чтобы установить стек API BaaS на отдельный узел:

  1. Установите утилиту Edge apigee-setup на узле, используя процедуру через Интернет или без Интернета. Дополнительные сведения см. в разделе Установка утилиты Edge apigee-setup .
  2. В командной строке запустите сценарий установки:
    > /opt/apigee/apigee-setup/bin/setup.sh -pb -f файл конфигурации

    Опция «-p b» указывает на установку API BaaS Stack.
    Файл конфигурации должен быть доступен или доступен для чтения пользователю «apigee».

После того как установщик получит правильные учетные данные администратора, он устанавливает Tomcat, создает пространства ключей API BaaS и настраивает стек API BaaS на сервере. SMTP также настроен так, чтобы пользовательский интерфейс мог отправлять электронные письма с подтверждением пароля.

Установите API BaaS Portal: Machine 7

Чтобы установить портал API BaaS:

  1. Установите утилиту Edge apigee-setup на узле, используя процедуру через Интернет или без Интернета. Дополнительные сведения см. в разделе Установка утилиты Edge apigee-setup .
  2. В командной строке запустите сценарий установки:
    > /opt/apigee/apigee-setup/bin/setup.sh -pp -f файл конфигурации

    Опция «-p p» указывает на необходимость установки API BaaS Portal.
    Файл конфигурации должен быть доступен или доступен для чтения пользователю «apigee».

    Установщик запускает веб-сервер Nginx, а затем завершает настройку портала API BaaS.
  3. Ваш следующий шаг зависит от вашей установки.
    1. Если у вас есть балансировщик нагрузки перед узлами стека Portalor, в следующем разделе описывается, как настроить API BaaS для балансировщиков нагрузки.
    2. Если у вас нет балансировщика нагрузки перед узлами стека Portalor, подключите организацию, как описано ниже в разделе «Подключение новой организации» .

Запишите URL-адрес портала API BaaS. Это URL-адрес, который вы вводите в браузере для доступа к пользовательскому интерфейсу портала API BaaS.

Настройка узлов API BaaS для балансировщика нагрузки стека или портала.

Если вы включаете балансировщик нагрузки перед узлами стека или портала, вам необходимо настроить узлы с правильным URL-адресом балансировщика нагрузки. Например, узлам стека требуется эта информация, когда:

  • Включение URL-адреса в ответы на запросы API BaaS.
  • Добавление ссылок в шаблоны электронных писем при сбросе пароля или отправке других уведомлений.
  • Перенаправление пользователей на определенные страницы Портала.

Если вы используете балансировщик нагрузки перед узлами стека, установите следующее свойство в /opt/apigee/customer/application/usergrid.properties :

usergrid-deployment_usergrid.api.url.base=http://localhost:8080

Замените http://localhost:8080 URL-адресом балансировщика нагрузки. Если балансировщик нагрузки настроен на использование TLS, используйте протокол HTTPS. Вам нужно указать порт только в том случае, если вы используете нестандартный порт, то есть порт, отличный от порта 80 для HTTP и порта 443 для HTTPS.

Вам также необходимо установить следующее свойство в /opt/apigee/customer/application/portal.properties , если вы используете балансировщик нагрузки перед узлами стека:

baas.portal.config.overrideUrl=http://localhost:8080

Замените http://localhost:8080 URL-адресом балансировщика нагрузки для стека.

Если вы используете балансировщик нагрузки перед узлом портала, установите следующие свойства в usergrid.properties :

usergrid-deployment_portal.url=http://localhost:9000

Замените http://localhost:9000 URL-адресом балансировщика нагрузки. Если балансировщик нагрузки настроен на использование TLS, используйте протокол HTTPS. Вам нужно указать порт только в том случае, если вы используете нестандартный порт, то есть порт, отличный от порта 80 для HTTP и порта 443 для HTTPS.

После редактирования usergrid.properties иportal.properties :

  1. Настройте узел стека:
    > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid настроить
  2. Перезапустите стек BaaS:
    > /opt/apigee/apigee-service/bin/apigee-service перезапуск baas-usergrid

    Примечание. При перезапуске узлов стека BaaS перезапускайте их в том же порядке, в котором они перечислены в BAAS_CLUSTER_SEEDS . BAAS_CLUSTER_SEEDS перечисляет не более двух узлов стека. После перезапуска этих двух узлов по порядку вы можете перезапустить оставшиеся узлы в любом порядке.

  3. Если вы изменили портал.properties , настройте узел Портал:
    > /opt/apigee/apigee-service/bin/apigee-service baas-portal настроить
  4. Перезапустите портал BaaS:
    > /opt/apigee/apigee-service/bin/apigee-service перезапуск baas-portal

Вступление в новую организацию

Онбординг — это процесс создания организации и администратора организации. После создания организации и администратора организации вы можете войти в пользовательский интерфейс API BaaS Portal и отправлять запросы к API BaaS REST API.

При создании организации адрес электронной почты администратора организации:

  • Должен отличаться от адреса электронной почты системного администратора.
  • Должен быть уникальным среди всех других организаций. То есть вы не можете создать две организации с одним и тем же адресом электронной почты администратора организации. Однако после создания организации вы можете добавить дополнительных администраторов, которых можно дублировать в нескольких организациях.

Для выполнения адаптации используйте скрипт Python create_org_and_user.py . Вызов этого сценария без аргументов командной строки приведет к тому, что он запросит у вас всю информацию:

> python create_org_and_user.py

Альтернативно вы можете передать любые или все параметры в качестве аргумента командной строки. Вам будет предложено ввести любую информацию, которую вы пропустите в командной строке:

> python create_org_and_user.py -o '<org name>'
> python create_org_and_user.py -o '<org name>' -a '<new admin email>' -p '<new admin password>'

Чтобы создать организацию:

  1. Измените каталог на / opt/apigee/baas-usergrid/bin .
  2. Вызовите скрипт Python create_org_and_user.py .
    Вам будет предложено ввести имя пользователя и пароль системного администратора BaaS, чтобы только системный администратор мог его запустить.
  3. Войдите на портал API BaaS в веб-браузере, используя URL-адрес, который вы указали в конце установки URL-адреса портала API BaaS. Чтобы получить доступ к порталу, введите URL-адрес API BaaS Portal в форме:
    http://{portalExternalIP}:9000/

    Примечание . IP — это внешний IP-адрес/имя хоста компьютера с порталом. Убедитесь, что порт открыт.
  4. Когда появится экран входа на портал, вы можете:
    • Войдите в систему, используя имя пользователя и пароль администратора организации.
    • Войдите в систему, используя имя пользователя и пароль администратора системы.

Доступ к API BaaS REST API

Чтобы получить доступ к API BaaS REST API, используйте URL-адрес в форме:

https://{loadBalancerIP}:8080/{your-org}/{your-app}

В среде разработки вы можете установить все компоненты API BaaS на одном узле, то есть у вас будет один стек API BaaS. Или у вас может быть небольшая среда с одним узлом API BaaS Stack и без балансировщика нагрузки. В средах такого типа вы можете выполнять вызовы API непосредственно к узлу стека API BaaS:

curl -v "http://portalExternalIP:8080/status"

Дополнительную информацию о начале работы с порталом API BaaS см. в документации Apigee по адресу: http://apigee.com/docs/content/build-apps-home .