Как настроить Edge

Edge for Private Cloud v4.18.05

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

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

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

Если представить это в виде иерархии, то настройки будут расположены следующим образом, причем настройки клиента будут иметь наивысший приоритет, чтобы переопределить любые настройки от команды установщика или Apigee:

  1. Клиент
  2. Установщик
  3. Apigee

Как использовать файлы .properties

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

Например, чтобы создать файл .properties:

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

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

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

Например, после изменения router.properties перезапустите маршрутизатор:

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

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

Расположение файлов .properties

Для компонентов Edge есть три каталога верхнего уровня с файлами .properties: installation, owner и customers. Местоположения по умолчанию указаны в таблице ниже.

Владелец Корневой каталог токенов по умолчанию
Компонент
/opt/apigee/component_name/conf

где component_name – идентификатор компонента. Возможные значения:

  • apigee-cassandra (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (база данных PostgreSQL)
  • apigee-qpidd (Qpidd)
  • apigee-sso (Edge SSO)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (сервер управления)
  • edge-management-ui (новый интерфейс Edge)
  • edge-message-processor (процессор сообщений)
  • edge-postgres-server (сервер Postgres)
  • edge-qpid-server (сервер Qpid)
  • edge-router (маршрутизатор Edge)
  • edge-ui (классический интерфейс)
Установка
/opt/apigee/token
Клиент
/opt/apigee/customer

Как определить текущее значение токена

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

/opt/apigee/apigee-service/bin/apigee-service component_name configure -search token

где component_name – название компонента, а token – токен, который нужно проверить.

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

Например, чтобы проверить текущее значение токена conf_http_HTTPRequest.line.limit для маршрутизатора, выполните следующую команду:

/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

Вы должны увидеть выходные данные в следующем формате:

Found key conf_http_HTTPRequest.line.limit, with value, 4k, in /opt/apigee/edge-router/token/default.properties

Как задать токены в файлах .properties

Чтобы переопределить значение токена:

  1. Чтобы задать значение токена, измените файл .properties для компонента. Если такого файла нет, создайте его.
  2. Перезапустите компонент.
  3. Проверьте значение токена.

Например, чтобы установить ограничение строки запроса для Edge Router:

  1. Отредактируйте файл /opt/apigee/customer/application/router.properties, чтобы задать токен conf_http_HTTPRequest.line.limit:
    conf_http_HTTPRequest.line.limit=8k
  2. Перезапустите пограничный маршрутизатор:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  3. Проверьте значение токена:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

Как настроить токен, принимающий несколько значений

Некоторые токены принимают список значений, разделенных запятыми. Например, токен conf_security_rbac.restricted.resources принимает список URI, ограниченных таким образом, что вызывать их может только системный администратор. Чтобы посмотреть значение conf_security_rbac.restricted.resources:

cd /opt/apigee/edge-management-server
grep -ri "conf_security_rbac.restricted.resources" *

Выходные данные содержат следующее:

token/default.properties:conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status

Чтобы задать токен, который принимает список значений, добавьте новые значения к текущему значению токена в файле .properties. Чтобы добавить URI /myuri/* в conf_security_rbac.restricted.resources, измените файл /opt/apigee/customer/application/management-server.properties, как показано ниже.

conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status,/myuri/*

Как найти токен

В большинстве случаев токены, которые нужно задать, указаны в этом руководстве. Однако если вам нужно определить токен, используемый для переопределения свойства, выполните grep в папке source компонента.

Например, если вы знаете, что в предыдущем выпуске Edge вы задали свойство session.maxAge и хотите узнать значение токена, используемое для его настройки, grep выполните поиск по свойству в каталоге /opt/apigee/edge-ui/source:

grep -ri "session.maxAge" /opt/apigee/edge-ui/source

Результат должен выглядеть следующим образом:

/opt/apigee/edge-ui/source/conf/application.conf:session.maxAge={T}conf_application_session.maxage{/T}

Строка между тегами {T}{/T} – это токен, который вы задали в файле .properties.

Укажите токен, который в настоящее время закомментирован.

Некоторые токены закомментированы в файлах конфигурации Edge. Если вы попытаетесь задать токен, который закомментирован, настройка будет проигнорирована.

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

conf/file.extension+propertyName=propertyValue

Например, вы хотите задать свойство HTTPClient.proxy.host в Message Processor. Затем вы grep для ресурса, чтобы определить его токен:

cd /opt/apigee/edge-message-processor
grep -ri "HTTPClient.proxy.host" *

Команда grep возвращает результаты в форме, которая включает значение токена. Обратите внимание, что название свойства закомментировано, на что указывает префикс #:

source/conf/http.properties:#HTTPClient.proxy.host={T}conf_http_HTTPClient.proxy.host{/T}
token/default.properties:conf_http_HTTPClient.proxy.host=
conf/http.properties:#HTTPClient.proxy.host=

Чтобы задать свойство, измените /opt/apigee/customer/application/message-processor.properties следующим образом:

conf/http.properties+HTTPClient.proxy.host=myhost.name.com

Обратите внимание, что перед названием свойства указан префикс conf/http.properties+, а также местоположение и название файла конфигурации, содержащего свойство, за которым следует знак "+".

После перезапуска Message Processor проверьте файл /opt/apigee/edge-message-processor/conf/http.properties:

cat /opt/apigee/edge-message-processor/conf/http.properties

В конце файла вы увидите набор свойств в следующем формате:

conf/http.properties:HTTPClient.proxy.host=myhost.name.com