Обзор пограничной установки

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

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

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

Установка Edge на узле — это многоэтапный процесс:

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

      Дополнительные сведения см. в разделе Установка утилиты Edge apigee-setup .
  • Используйте утилиту apigee-setup для установки одного или нескольких компонентов Edge на каждом узле в зависимости от выбранной вами топологии.
    См. раздел Установка компонентов Edge на узле на узле.
  • На узле Management Server используйте утилиту apigee-setup для установки apigee-provision — утилиты, которую вы используете для создания пограничных организаций и управления ими.
    Дополнительную информацию см. в разделе «Введение в организацию» .

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

В случае сбоя при установке компонента Edge вы можете попытаться исправить проблему, а затем снова запустить установщик. Программа установки предназначена для многократного запуска в тех случаях, когда она обнаруживает сбой или если вы позже захотите изменить или обновить компонент после установки.

Настройка репликации Master-Standby Postgres

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

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

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

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

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

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

Любой пользователь, который хочет запускать все другие команды, кроме показанных выше, должен быть пользователем с полным доступом sudo к пользователю «apigee». Эти команды включают в себя:

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

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

installUser        ALL=(apigee)      NOPASSWD: ALL

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

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

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

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

Расположение файлов конфигурации установки

Вы должны передать файл конфигурации утилите apigee-setup , содержащий информацию об установке Edge. Единственное требование к автоматической установке — файл конфигурации должен быть доступен или доступен для чтения пользователю «apigee». Например, поместите файл в каталог /usr/local/var или /usr/local/share на узле и укажите для него «apigee:apigee».

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

Дополнительные сведения см. в разделе Установка компонентов Edge на узле .

Установка через Интернет или без Интернета

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

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

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

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

    Примечание . Apigee не размещает все сторонние зависимости в наших общедоступных репозиториях. Вы должны загрузить и установить эти зависимости из общедоступных репозиториев.

Разрешение зависимостей установки RPM

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

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

Настройка виртуального хоста

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

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

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

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

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

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

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

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

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

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

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


    завиток http://<routerIP>:9001/{прокси-базовый-путь}/{ресурсный-путь}

Варианты, когда у вас нет записи 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 см. в разделе «Как настроить Edge».

Убедитесь, что Edge Router имеет доступ к /etc/rc.d/init.d/functions.

Edge Router и BaaS Portal используют маршрутизатор 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 , которые можно использовать для управления установкой Edge. Например, вы можете использовать утилиту 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. Например, апигей-кассандра .
  • Edge — компонент Edge от Apigee. Например, Edge-Management-Server .
  • Edge-mint — компонент монетизации. Например , Edge-mint-management-server .
  • baas — компонент API BaaS. Например baas-usergrid .

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

  • начать, остановить, перезапустить
  • статус, версия
  • восстановления резервной копии
  • установить, удалить

Доступ к файлам журналов

Файл журнала 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:
    судо ням очистить все
  • Чтобы обновить компонент Edge:
    sudo yum update имя компонента
    Например:
    sudo yum обновить apigee-setup
    sudo yum обновить сервер Edge-Management

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

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

В этом руководстве и в Edge Operations Guide корневой каталог установки указан как:

<inst_root>/apigee

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

Лог-файлы

Компоненты

Расположение

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

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

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

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

Процессор сообщений

<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

Пограничный интерфейс

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

Работник зоопарка

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

OpenLDAP

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

Кассандра

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

Qpidd

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

База данных PostgreSQL

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

Данные

Компоненты

Расположение

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

<корень_данных>/apigee/data/edge-management-server

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

<корень_данных>/apigee/data/edge-router

Процессор сообщений

<корень_данных>/apigee/data/edge-message-processor

Агент Apigee Qpid

<корень_данных>/apigee/data/edge-qpid-server

Агент Apigee Postgres

<корень_данных>/apigee/data/edge-postgres-server

Работник зоопарка

<корень_данных>/apigee/data/apigee-zookeeper

OpenLDAP

<корень_данных>/apigee/data/apigee-openldap

Кассандра

<корень_данных>/apigee/data/apigee-cassandra/data

Qpidd

<корень_данных>/apigee/data/apigee-qpid/data

База данных PostgreSQL

<корень_данных>/apigee/data/apigee-postgres/pgdata