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

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

Чтобы настроить Edge после установки, используйте сочетание файлов .properties и утилит Edge. Например, чтобы настроить TLS/SSL в интерфейсе Edge, нужно изменить файлы .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.

  1. Создайте файл в редакторе, используя любой аккаунт.
  2. Измените владельца файла на 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

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

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

Владелец

Корневой каталог токенов по умолчанию

Компонент

/opt/apigee/<prefix>-<component>/conf

где /<prefix>-<component> идентифицирует компонент, например edge-router или apigee-cassandra.

Установка

/opt/apigee/token

Клиент

/opt/apigee/customer

Как узнать текущее значение токена

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

> /opt/apigee/apigee-service/bin/apigee-service comp configure -search token

где comp – название компонента, а 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. Проверьте значение токена.

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

  1. Измените файл /opt/apigee/customer/application/router.properties, чтобы задать токен conf_http_HTTPRequest.line.limit:

    conf_http_HTTPRequest.line.limit=8k
  2. Перезапустите маршрутизатор Edge:

    > /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 в обработчике сообщений. Затем с помощью команды 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+, который содержит путь и название файла конфигурации, в котором находится свойство, а также символ "+".

После перезапуска процессора сообщений проверьте файл /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