Edge для частного облака v. 4.17.09
Обзор установки
После установки утилиты 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 SMTPMAILFROM="My Company <myco@company.com>"
Чтобы установить API BaaS на отдельный узел:
- Установите утилиту Edge
apigee-setup
на узле, используя процедуру через Интернет или без Интернета. Дополнительные сведения см. в разделе Установка утилиты Edge apigee-setup . - В командной строке запустите сценарий установки:
/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 узлах
Процедура установки версии 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 SMTPMAILFROM="My Company <myco@company.com>"
Необязательно — установите Cassandra: машины 8, 9 и 10.
Вы можете подключить API BaaS к тому же кластеру Cassandra, который используется Edge. Если вы не установили Edge, вы можете дополнительно установить Cassandra для использования API BaaS.
Кластер Cassandra может использовать аутентификацию или аутентификацию Cassandra можно отключить. Дополнительную информацию см. в разделе Включение аутентификации Cassandra .
- Установите утилиту Edge
apigee-setup
на узле, используя процедуру через Интернет или без Интернета. Дополнительные сведения см. в разделе Установка утилиты Edge apigee-setup . - В командной строке запустите сценарий установки:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
Опция «-pc» указывает на необходимость установки 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 на узле, используя процедуру через Интернет или без Интернета. Дополнительные сведения см. в разделе Установка утилиты Edge apigee-setup .
- В командной строке запустите сценарий установки:
/opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
The "-p e" option specifies to install ElasticSearch. The configuration file must be accessible or readable by the "apigee" user.
- (Optional) If you install ElasticSearch on a standalone node, meaning it is not installed
with API BaaS Stack, then adjust the default memory option to increase the memory allocated for
ElasticSearch from 4GB to 6GB:
- Open
/opt/apigee/customer/application/elasticsearch.properties
in an editor. If this file does not exist, create it. - Set the
setenv_elasticsearch_max_mem_size
property to 6g (the default is 4g):setenv_elasticsearch_max_mem_size=6g
- Сохраните файл.
- Выполните следующую команду:
/opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
- Open
Конфигурация успешно завершает установку на узле.
Установите стек API BaaS: машины 4, 5 и 6.
Чтобы установить стек API BaaS на отдельный узел:
- Установите утилиту Edge apigee-setup на узле, используя процедуру через Интернет или без Интернета. Дополнительные сведения см. в разделе Установка утилиты Edge apigee-setup .
- В командной строке запустите сценарий установки:
/opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
Опция «-pb» указывает на установку API BaaS Stack. Файл конфигурации должен быть доступен или доступен для чтения пользователю «apigee».
После того как установщик получит правильные учетные данные администратора, он устанавливает Tomcat, создает пространства ключей API BaaS и настраивает стек API BaaS на сервере. SMTP также настроен так, чтобы пользовательский интерфейс мог отправлять электронные письма с подтверждением пароля.
Установите API BaaS Portal: Machine 7
Чтобы установить портал API BaaS:
- Установите утилиту Edge apigee-setup на узле, используя процедуру через Интернет или без Интернета. Дополнительные сведения см. в разделе Установка утилиты Edge apigee-setup .
- В командной строке запустите сценарий установки:
/opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
Опция «-pp» указывает на установку API BaaS Portal. Файл конфигурации должен быть доступен или доступен для чтения пользователю «apigee».
Установщик запускает веб-сервер Nginx, а затем завершает настройку портала API BaaS.
- Ваш следующий шаг зависит от вашей установки.
- Если у вас есть балансировщик нагрузки перед узлами стека Portalor, в следующем разделе описывается, как настроить API BaaS для балансировщиков нагрузки.
- Если у вас нет балансировщика нагрузки перед узлами стека 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
:
- Настройте узел стека:
/opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure
- Перезапустите стек BaaS:
/opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
- Если вы изменили
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 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>'
Чтобы создать организацию:
- Измените каталог на
/opt/apigee/baas-usergrid/bin
. - Вызовите скрипт Python
create_org_and_user.py
.Вам будет предложено ввести имя пользователя и пароль системного администратора BaaS, чтобы только системный администратор мог его запустить.
- Войдите на портал API BaaS в веб-браузере, используя URL-адрес, который вы указали в конце установки URL-адреса портала API BaaS. Чтобы получить доступ к порталу, введите URL-адрес API BaaS Portal в форме:
http://portalExternalIP:9000/
- Когда появится экран входа на портал, вы можете:
- Войдите в систему, используя имя пользователя и пароль администратора организации.
- Войдите в систему, используя имя пользователя и пароль администратора системы.
Доступ к 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 .