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

Edge for Private Cloud версии 4.17.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.

  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. Проверьте значение токена.

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

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

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

    > /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