Edge for Private Cloud версии 4.17.01
Общие сведения об установке
После установки утилиты apigee-setup на узле Edge используйте ее для установки одного или нескольких компонентов 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 Portal. При этом также будет установлен маршрутизатор 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
Чтобы установить 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 узлов
Процедура установки версии 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…
- Установите утилиту 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 на отдельный узел:
- Установите утилиту apigee-setup для Edge на узел, используя процедуру с подключением к интернету или без него. Подробнее о том, как установить утилиту apigee-setup для Edge…
- В командной строке запустите скрипт настройки:
> /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
Параметр -p e указывает, что нужно установить ElasticSearch.
Файл конфигурации должен быть доступен или доступен для чтения пользователю apigee. - (Необязательно.) Если вы устанавливаете ElasticSearch на отдельном узле, то есть не вместе с API BaaS Stack, измените параметр памяти по умолчанию, чтобы увеличить объем выделенной памяти для 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 на отдельный узел, выполните следующие действия:
- Установите утилиту apigee-setup для Edge на узел, используя процедуру с подключением к интернету или без него. Подробнее о том, как установить утилиту 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 Portal: машина 7
Чтобы установить API BaaS Portal, выполните следующие действия:
- Установите утилиту apigee-setup для Edge на узел, используя процедуру с подключением к интернету или без него. Подробнее о том, как установить утилиту apigee-setup для Edge…
- В командной строке запустите скрипт настройки:
> /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
Параметр -p p указывает, что нужно установить API BaaS Portal.
Файл конфигурации должен быть доступен или доступен для чтения пользователю apigee.
Установщик запустит веб-сервер Nginx, а затем завершит настройку API BaaS Portal. - Дальнейшие действия зависят от того, как вы установили тег.
- Если перед узлами Portal или Stack у вас есть балансировщик нагрузки, в следующем разделе описывается, как настроить API BaaS для балансировщиков нагрузки.
- Если перед узлами Portal или Stack нет балансировщика нагрузки, зарегистрируйте организацию, как описано в разделе Регистрация новой организации.
Запишите URL портала API BaaS. Это URL, который вы вводите в браузере для доступа к пользовательскому интерфейсу портала API BaaS.
Как настроить узлы API BaaS для балансировщика нагрузки Stack или Portal
Если вы используете балансировщик нагрузки перед узлами Stack или Portal, вам нужно настроить узлы с правильным URL балансировщика нагрузки. Например, узлам Stack эта информация нужна, когда:
- Включение 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.
Если вы используете балансировщик нагрузки перед узлами Stack, вам также необходимо задать следующее свойство в файле /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 Stack перезапускайте их в том же порядке, в котором они перечислены в BAAS_CLUSTER_SEEDS. BAAS_CLUSTER_SEEDS содержит не более двух узлов Stack. После перезапуска этих двух узлов в указанном порядке вы можете перезапустить остальные узлы в любом порядке.
- Если вы изменили файл portal.properties, настройте узел Portal:
> /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 Stack:
curl -v "http://portalExternalIP:8080/status"
Дополнительную информацию о начале работы с API BaaS Portal можно найти в документации Apigee по адресу http://apigee.com/docs/content/build-apps-home.