Рекомендации по установке

Edge для частного облака версии 4.16.05

Обычно установка Edge состоит из компонентов Edge, распределенных по нескольким узлам. После установки Edge на узле вы устанавливаете и настраиваете на нем один или несколько компонентов Edge.

Процесс установки

Установка Edge на узел состоит из нескольких этапов:

  • Отключите SELinux на узле или переведите его в разрешительный режим. Подробнее о том, как установить утилиту apigee-setup для Edge…
  • Выберите конфигурацию Edge из списка рекомендуемых топологий. Например, вы можете установить Edge на одном узле для тестирования или на 13 узлах для рабочей среды. Подробнее о топологиях установки…
  • На каждом узле выбранной топологии установите утилиту Edge apigee-setup:
    • Скачайте файл Edge bootstrap_4.16.05.sh в каталог /tmp/bootstrap_4.16.05.sh.
    • Установите утилиту Edge apigee-service и зависимости.
    • Установите утилиту Edge apigee-setup и зависимости.

      Подробнее о том, как установить утилиту apigee-setup для Edge…
  • Используйте утилиту apigee-setup, чтобы установить один или несколько компонентов Edge на каждом узле в соответствии с выбранной топологией.
    См. раздел Установка компонентов Edge на узле на узле.
  • На узле сервера управления используйте утилиту apigee-setup, чтобы установить apigee-provision – утилиты, которые используются для создания организаций Edge и управления ими.
    Подробнее о том, как зарегистрировать организацию…

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

Если при установке компонента Edge произошла ошибка, вы можете попытаться устранить ее и снова запустить установщик. Установщик можно запускать несколько раз, если он обнаружит ошибку или если вы захотите изменить или обновить компонент после установки.

Как настроить репликацию Postgres master-standby

По умолчанию Edge устанавливает все узлы Postgres в основном режиме. Однако в рабочих системах с несколькими узлами Postgres их следует настроить на использование репликации "основной-резервный", чтобы в случае сбоя основного узла резервный узел мог продолжить обработку трафика. Подробнее о том, как настроить репликацию Master-Standby для Postgres…

Кто может выполнять установку

Файлы дистрибутива Apigee Edge устанавливаются как набор RPM-пакетов и зависимостей. Чтобы установить, удалить или обновить Edge, команды Edge должны быть запущены пользователем root или пользователем с полным доступом sudo. Если у пользователя есть полный доступ sudo, он может выполнять те же операции, что и пользователь root.

Чтобы запустить указанные ниже команды или скрипты, пользователь должен иметь права root или полный доступ к sudo:

  • Утилита apigee-service:
    • Команды apigee-service: install, uninstall, update.
    • Команды apigee-all: install, uninstall, update.
  • Скрипт setup.sh для установки компонентов Edge (если вы ещё не использовали команду apigee-service install для установки необходимых RPM-пакетов). Затем, если это не требуется, корневой доступ или полный доступ с привилегиями администратора.
  • Скрипт update.sh для обновления компонентов Edge

Кроме того, установщик Edge создает в вашей системе нового пользователя с именем apigee. Многие команды Edge вызывают sudo для запуска от имени пользователя apigee.

Чтобы выполнять все остальные команды, пользователь должен иметь полный доступ к sudo для пользователя apigee. К таким командам относятся:

  • Команды утилиты apigee-service, в том числе:
    • Команды apigee-service, например start, stop, restart, configure.
    • Команды apigee-all, например start, stop, restart, configure.

Чтобы предоставить пользователю полный доступ к sudo для пользователя apigee, измените файл sudoers, добавив в него следующую строку:

installUser        ALL=(apigee)      NOPASSWD: ALL

где installUser – имя пользователя, работающего с Edge.

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

При создании файла конфигурации вы можете изменить его владельца на "apigee:apigee", чтобы обеспечить доступ к нему для команд Edge:

  1. Создайте файл в редакторе, используя любой аккаунт.
  2. Измените владельца файла на "apigee:apigee" или, если вы изменили пользователя, запускающего сервис Edge, на пользователя, который запускает сервис Edge.

Тихая установка компонентов Edge

Утилита apigee-setup должна получить файл конфигурации, содержащий информацию об установке Edge. Единственное требование к установке в фоновом режиме – файл конфигурации должен быть доступен для чтения пользователю apigee. Например, поместите файл в каталог /tmp на узле и измените его владельца на apigee:apigee.

В файле конфигурации должна быть указана вся информация, кроме пароля системного администратора Edge. Если вы не укажете пароль, утилита apigee-setup предложит ввести его в командной строке.

Подробнее о том, как установить компоненты Edge на узле…

Установка с подключением к интернету или без него

Чтобы установить Edge на узле, узел должен иметь доступ к репозиторию Apigee:

  • Узлы с внешним подключением к интернету

    Узлы с внешним подключением к интернету получают доступ к репозиторию Apigee, чтобы установить пакеты RPM Edge и зависимости.
  • Узлы без внешнего подключения к интернету

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

Как устранять проблемы с зависимостями при установке RPM-пакетов

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

Если вы выполняете установку на компьютере с доступом к интернету, узел может скачать необходимые RPM-пакеты и зависимости. Однако если вы устанавливаете ПО с узла без доступа к интернету, обычно настраивается внутренний репозиторий, содержащий все необходимые зависимости. Единственный способ убедиться, что все зависимости включены в локальный репозиторий, – попытаться выполнить установку, определить отсутствующие зависимости и скопировать их в локальный репозиторий, пока установка не будет выполнена успешно.

Как настроить виртуальный хост

Виртуальный хост в Edge определяет домены и порты маршрутизатора Edge, на которых представлен прокси-сервер API, а также URL, которые приложения используют для доступа к прокси-серверу API. Виртуальный хост также определяет, будет ли доступ к прокси-серверу API осуществляться с помощью протокола HTTP или зашифрованного протокола HTTPS.

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

При создании виртуального хоста необходимо указать следующую информацию:

  • Название виртуального хоста, которое используется для ссылки на него в прокси API.
  • Порт на маршрутизаторе для виртуального хоста. Обычно эти порты начинаются с 9001 и увеличиваются на единицу для каждого нового виртуального хоста.
  • Псевдоним хоста виртуального хоста. Обычно это имя DNS виртуального хоста.

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

Например, если вы создали виртуальный хост с псевдонимом хоста myapis.apigee.net на порту 9001, то запрос cURL к API через этот виртуальный хост может иметь одну из следующих форм:

  • Если у вас есть запись DNS для myapis.apigee.net:

    curl http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}
  • Если у вас нет записи DNS для myapis.apigee.net:

    curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H 'Host: myapis.apigee.net'

    В этом случае вы указываете IP-адрес маршрутизатора и передаете псевдоним хоста в заголовке Host.

    Примечание. Команда curl, большинство браузеров и многие другие утилиты автоматически добавляют заголовок Host с доменом как часть запроса, поэтому вы можете использовать команду curl в следующем формате:


    curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}

Варианты действий, если у вас нет записи DNS для виртуального хоста

Если у вас нет записи DNS, можно задать псевдоним хоста в виде IP-адреса маршрутизатора и порта виртуального хоста, как <routerIP>:port. Пример:

192.168.1.31:9001

Затем создайте команду curl в следующем формате:

curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} 

Этот вариант предпочтительнее, поскольку он хорошо работает с интерфейсом Edge.

Если у вас несколько маршрутизаторов, добавьте псевдоним хоста для каждого из них, указав IP-адрес каждого маршрутизатора и порт виртуального хоста.

Вы также можете задать для псевдонима хоста значение, например temp.hostalias.com. В этом случае вам нужно будет передавать заголовок Host в каждом запросе:

curl -v http://<routerIP>:9001/{proxy-base-path}/{resource-path}  -H 'host: temp.hostalias.com'

Или добавьте псевдоним хоста в файл /etc/hosts. Например, добавьте в файл /etc/hosts следующую строку:

192.168.1.31   temp.hostalias.com

После этого вы можете отправить запрос, как если бы у вас была запись DNS:

curl -v http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}

Настройка компонентов Edge после установки

Чтобы настроить Edge после установки, используйте сочетание файлов .properties и утилит Edge. Например, чтобы настроить TLS/SSL в интерфейсе Edge, нужно изменить файлы .properties, задав необходимые свойства. Чтобы изменения в файлах .properties вступили в силу, необходимо перезапустить затронутый компонент Edge.

Файлы .properties находятся в каталоге /opt/apigee/customer/application. У каждого компонента в этом каталоге есть собственный файл .properties. Например, router.properties и management-server.properties.

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

> /opt/apigee/apigee-service/bin/apigee-service component restart

Пример:

> /opt/apigee/apigee-service/bin/apigee-service edge-router restart

При обновлении Edge считываются файлы .properties в каталоге /opt/apigee/customer/application. Это означает, что при обновлении сохраняются все свойства, заданные для компонента.

Подробнее о настройке Edge…

Убедитесь, что пограничный маршрутизатор может получить доступ к файлу /etc/rc.d/init.d/functions.

Маршрутизатор Edge и портал BaaS используют маршрутизатор Nginx и требуют доступа с правом чтения к файлу /etc/rc.d/init.d/functions.

Если в соответствии с вашими требованиями безопасности необходимо задать разрешения для файла /etc/rc.d/init.d/functions, не устанавливайте значение 700, иначе маршрутизатор не запустится. Разрешения можно установить на уровне 744, чтобы разрешить доступ на чтение к файлу /etc/rc.d/init.d/functions.

Вызов команд для компонентов Edge

Утилиты управления установкой Edge находятся в каталоге /opt/apigee/apigee-service/bin. Например, с помощью утилиты apigee-all можно запустить, остановить, перезапустить или определить статус всех компонентов Edge на узле:

/opt/apigee/apigee-service/bin/apigee-all stop|start|restart|status|version

Управлять отдельными компонентами и настраивать их можно с помощью утилиты apigee-service. Утилита apigee-service имеет следующий формат:

/opt/apigee/apigee-service/bin/apigee-service component action

Например, чтобы перезапустить маршрутизатор Edge Router:

/opt/apigee/apigee-service/bin/apigee-service edge-router restart

Список компонентов, установленных на узле, можно посмотреть в каталоге /opt/apigee. В этом каталоге есть подкаталог для каждого компонента Edge, установленного на узле. Каждый подкаталог имеет следующий префикс:

  • apigee – сторонний компонент, используемый Edge. Например, apigee-cassandra.
  • edge – компонент Edge от Apigee. Например, edge-management-server.
  • edge-mint – компонент монетизации. Например, edge-mint-management-server.
  • baas – компонент API BaaS. Пример: baas-usergrid.

Полный список действий для компонента зависит от самого компонента, но все компоненты поддерживают следующие действия:

  • запустить, остановить, перезапустить;
  • status, version
  • резервное копирование, восстановление
  • установка, удаление

Как получить доступ к файлам журналов

Файл журнала для apigee-setup и скрипта setup.sh записывается в /tmp/setup-root.log.

Файлы журналов для каждого компонента находятся в каталоге /opt/apigee/var/log. У каждого компонента есть свой подкаталог. Например, журналы сервера управления находятся в каталоге:

/opt/apigee/var/log/edge-management-server

Основные команды Yum

Инструменты установки Edge для Linux используют Yum для установки и обновления компонентов. Для управления установкой на узле может потребоваться несколько команд Yum.

  • Чтобы очистить все кеши Yum, выполните следующую команду:
    sudo yum clean all
  • Чтобы обновить компонент Edge:
    sudo yum update componentName
    Пример:
    sudo yum update apigee-setup
    sudo yum update edge-management-server

Структура файловой системы

Edge устанавливает все файлы в каталог /opt/apigee.

В этом руководстве и руководстве по эксплуатации Edge корневой каталог установки обозначается следующим образом:

<inst_root>/apigee

При установке Apigee Edge для частного облака используется следующая структура файловой системы.

Файлы журналов

Компоненты

Местоположение

Сервер управления

<inst_root>/apigee/var/log/edge-management-server

Маршрутизатор

<inst_root>/apigee/var/log/edge-router

Message Processor

<inst_root>/apigee/var/log/edge-message-processor

Сервер Apigee Qpid

<inst_root>/apigee/var/log/edge-qpid-server

Сервер Apigee Postgres

<inst_root>/apigee/var/log/edge-postgres-server

Интерфейс Edge

<inst_root>/apigee/var/log/edge-ui

ZooKeeper

<inst_root>/apigee/var/log/apigee-zookeeper

OpenLDAP

<inst_root>/apigee/var/log/apigee-openldap

Cassandra

<inst_root>/apigee/var/log/apigee-cassandra

Qpidd

<inst_root>/apigee/var/log/apigee-qpidd

База данных PostgreSQL

<inst_root>/apigee/var/log/apigee-postgresql

Данные

Компоненты

Местоположение

Сервер управления

<data_root>/apigee/data/edge-management-server

Маршрутизатор

<data_root>/apigee/data/edge-router

Message Processor

<data_root>/apigee/data/edge-message-processor

Агент Apigee Qpid

<data_root>/apigee/data/edge-qpid-server

Агент Apigee Postgres

<data_root>/apigee/data/edge-postgres-server

ZooKeeper

<data_root>/apigee/data/apigee-zookeeper

OpenLDAP

<data_root>/apigee/data/apigee-openldap

Cassandra

<data_root>/apigee/data/apigee-cassandra/data

Qpidd

<data_root>/apigee/data/apigee-qpid/data

База данных PostgreSQL

<data_root>/apigee/data/apigee-postgres/pgdata