Edge for Private Cloud v4.18.01
Обзор установки
После установки Edge на узле с помощью утилиты apigee-setup установите на нем один или несколько компонентов BaaS.
Утилита apigee-setup имеет следующий формат:
> sudo /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
Передайте утилите apigee-setup файл конфигурации, содержащий информацию об установке. Если в файле конфигурации отсутствует какая-либо обязательная информация, утилита apigee-setup предложит вам ввести ее в командной строке.
Единственное требование – файл конфигурации должен быть доступен для чтения пользователю apigee.
Например, чтобы установить API BaaS Stack, используйте следующую команду:
> sudo /opt/apigee/apigee-setup/bin/setup.sh -p b -f myConfig
Как указать компоненты для установки
Утилита Apigee setup.sh поддерживает несколько вариантов установки компонентов API BaaS. В приведенных ниже инструкциях используются отдельные варианты (c, e, b и p), но вы можете использовать другие варианты в зависимости от конфигурации узла:
|
Вариант |
Описание |
|---|---|
|
e |
Установите только ElasticSearch. |
|
b |
Установите только API BaaS Stack, который также устанавливает Tomcat. |
|
p |
Установите только портал API BaaS, который также устанавливает маршрутизатор Nginx, используемый в качестве веб-сервера. |
|
c |
Установите только Cassandra. |
|
eb |
Установите на узле ElasticSearch, API BaaS Stack и Tomcat. |
|
ebp |
Установите ElasticSearch, API BaaS Portal, API BaaS Stack и Tomcat, но не Cassandra. Портал очень легкий, поэтому для него не нужны дополнительные ресурсы. |
|
asa |
Установите все компоненты 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 SMTPMAILFROM="My Company <myco@company.com>"
Чтобы установить API BaaS на отдельном узле:
- Установите утилиту Edge apigee-setup на узел, используя процедуру с подключением к интернету или без него. Подробнее о том, как установить утилиту apigee-setup для Edge…
- В командной строке запустите скрипт настройки:
> /opt/apigee/apigee-setup/bin/setup.sh -p asa -f configFile
Параметр "-p asa" указывает, что все компоненты API BaaS должны быть установлены на одном узле (Cassandra, Elasticsearch, API BaaS Stack, API BaaS Portal, Tomcat).
Файл конфигурации должен быть доступен для чтения пользователю "apigee". - Поскольку вы установили ElasticSearch на отдельном узле, измените параметр памяти по умолчанию, чтобы увеличить объем памяти, выделенной для ElasticSearch, с 4 до 6 ГБ:
- Откройте файл /opt/apigee/customer/application/elasticsearch.properties в редакторе. Если такого файла нет, создайте его.
- Задайте для свойства setenv_elasticsearch_max_mem_size значение 6g (по умолчанию используется 4g):
setenv_elasticsearch_max_mem_size=6g - Сохраните файл.
- Выполните следующую команду:
> /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
- ?Зарегистрируйте организацию, как описано в разделе Регистрация новой организации.
Конфигурация успешно завершает настройку на узле.
Установите API BaaS на 7 или 10 узлах.
Процедура установки 7-узловой или 10-узловой версии API BaaS очень похожа. Единственное отличие в том, что для:
- При установке 10 узлов вы устанавливаете три компонента ElasticSearch и три компонента API BaaS Stack на отдельных узлах, всего шесть узлов. Это рекомендуемая конфигурация для достижения максимальной производительности, поскольку ElasticSearch требует большого количества операций ввода-вывода и памяти.
- При установке на семи узлах вы устанавливаете три компонента 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 SMTPMAILFROM="My Company <myco@company.com>"
Необязательно – установить Cassandra: машины 8, 9 и 10
Вы можете подключить API BaaS к тому же кластеру Cassandra, который используется Edge. Если вы не установили Edge, то можете установить Cassandra для использования в API BaaS.
Кластер Cassandra может использовать аутентификацию, или аутентификацию Cassandra можно отключить. Подробнее о том, как включить аутентификацию Cassandra…
- Установите утилиту Edge apigee-setup на узел, используя процедуру с подключением к интернету или без него. Подробнее о том, как установить утилиту apigee-setup для Edge…
- В командной строке запустите скрипт настройки:
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
Параметр "-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 на отдельном узле:
- Установите утилиту Edge apigee-setup на узел, используя интернет или процедуру без интернета. Подробнее о том, как установить утилиту apigee-setup для Edge…
- В командной строке запустите скрипт настройки:
> /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
Параметр "-p e" указывает на то, что нужно установить ElasticSearch.
Файл конфигурации должен быть доступен для чтения пользователю "apigee". - Если вы устанавливаете ElasticSearch на отдельном узле, то есть не вместе со стеком API BaaS, измените параметр памяти по умолчанию, чтобы увеличить объем памяти, выделяемой для ElasticSearch, с 4 до 6 ГБ:
- Откройте файл /opt/apigee/customer/application/elasticsearch.properties в редакторе. Если такого файла нет, создайте его.
- Задайте для свойства setenv_elasticsearch_max_mem_size значение 6g (по умолчанию используется 4g):
setenv_elasticsearch_max_mem_size=6g - Сохраните файл.
- Выполните следующую команду:
> /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
Конфигурация успешно завершает настройку на узле.
Установка стека API BaaS: машины 4, 5 и 6
Чтобы установить API BaaS Stack на отдельном узле:
- Установите утилиту Edge apigee-setup на узел, используя интернет или процедуру без интернета. Подробнее о том, как установить утилиту apigee-setup для Edge…
- В командной строке запустите скрипт настройки:
> /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
Параметр "-p b" указывает на то, что нужно установить API BaaS Stack.
Файл конфигурации должен быть доступен для чтения пользователю "apigee".
После того как установщик получит правильные учетные данные администратора, он установит Tomcat, создаст пространства ключей API BaaS и настроит стек API BaaS на сервере. Протокол SMTP также настроен таким образом, чтобы интерфейс мог отправлять письма с подтверждением пароля.
Установка портала API BaaS: машина 7
Чтобы установить портал API BaaS:
- Установите утилиту Edge apigee-setup на узел, используя интернет или процедуру без интернета. Подробнее о том, как установить утилиту apigee-setup для Edge…
- В командной строке запустите скрипт настройки:
> /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
Параметр "-p p" указывает, что нужно установить портал API BaaS.
Файл конфигурации должен быть доступен для чтения пользователю "apigee".
Установщик запускает веб-сервер Nginx, а затем завершает настройку портала API BaaS. - ?Дальнейшие действия зависят от вашей установки.
- Если перед узлами Portalor Stack у вас есть балансировщик нагрузки, в следующем разделе описано, как настроить API BaaS для балансировщиков нагрузки.
- Если перед узлами Portalor Stack нет балансировщика нагрузки, зарегистрируйте организацию, как описано в разделе Регистрация новой организации.
Запишите URL портала API BaaS. Это URL, который вы вводите в браузере, чтобы получить доступ к интерфейсу портала API BaaS.
Как настроить узлы API BaaS для балансировщика нагрузки Stack или Portal
Если вы добавите балансировщик нагрузки перед узлами Stack или Portal, вам нужно будет настроить узлы с правильным URL балансировщика нагрузки. Например, узлам стека требуется эта информация в следующих случаях:
- Включать URL в ответы на запросы BaaS API.
- Добавление ссылок в шаблоны электронных писем при сбросе пароля или отправке других уведомлений.
- перенаправлять пользователей на определенные страницы портала;
Если вы используете балансировщик нагрузки перед узлами Stack, задайте следующее свойство в файле /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:
- Настройте узел Stack:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure - Перезапустите стек BaaS:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
Примечание. При перезапуске узлов стека BaaS перезапускайте их в том же порядке, в котором они указаны в BAAS_CLUSTER_SEEDS. В списке BAAS_CLUSTER_SEEDS указано не более двух узлов Stack. После перезапуска этих двух узлов в указанном порядке можно перезапустить остальные узлы в любом порядке.
- Если вы изменили файл portal.properties, настройте узел портала, выполнив следующие действия:
> /opt/apigee/apigee-service/bin/apigee-service baas-portal configure - Перезапустите портал BaaS:
> /opt/apigee/apigee-service/bin/apigee-service baas-portal restart
Как добавить новую организацию
Регистрация – это процесс создания организации и администратора организации. После создания организации и администратора организации вы можете войти в интерфейс портала API BaaS и отправлять запросы к 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>'
Чтобы создать организацию:
- Перейдите в каталог /opt/apigee/baas-usergrid/bin.
- Вызовите скрипт Python create_org_and_user.py.
Вам будет предложено ввести имя пользователя и пароль системного администратора BaaS, чтобы запустить его мог только системный администратор. - Войдите на портал API BaaS в веб-браузере, используя URL, который вы записали в конце установки URL портала API BaaS. Чтобы открыть портал, введите URL портала API BaaS в следующем формате:
http://{portalExternalIP}:9000/
Примечание. IP-адрес – это внешний IP-адрес или имя хоста машины портала. Убедитесь, что порт открыт. - Когда появится экран входа на портал, вы можете:
- Войдите в аккаунт, используя имя пользователя и пароль администратора организации.
- Войдите, используя имя пользователя и пароль администратора системы.
Как получить доступ к 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.