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

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

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

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

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

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

  1. Клиент
  2. Установщик
  3. Апигей

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

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

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

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

> /<inst_root>/apigee/apigee-service/bin/apigee-service component restart

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

> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart

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

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

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

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

Владелец

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

Компонент

<inst_root>/apigee/< префикс >-< компонент >/conf

где /< префикс >-< компонент > идентифицирует компонент, например Edge-Router или Apigee-cassandra.

Установка

<inst_root>/apigee/токен

Клиент

<inst_root>/apigee/клиент

Определение текущей стоимости токена

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

> /<inst_dir>/apigee/apigee-service/bin/apigee-service comp configure -search token

где comp — имя компонента, а token — токен для проверки.

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

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

> /<inst_dir>/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_router_HTTP.request.line.limit

Вы должны увидеть вывод в форме:

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

Установка токенов в файлах .properties

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

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

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

  1. Отредактируйте файл /<inst_root>/apigee/customer/application/router.properties , чтобы установить токен conf_router_HTTP.request.line.limit :

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

    > /<inst_root>/apigee/apigee-service/bin/apigee-service перезапуск пограничного маршрутизатора
  3. Проверьте стоимость токена:

    > /<inst_dir>/apigee/apigee-service/bin/apigee-service Edge-router configure -search conf_router_HTTP.request.line.limit

Установка токена, который принимает несколько значений

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

> cd /<inst_root>/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 , отредактируйте файл /<inst_root>/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 в исходной папке компонента.

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

> grep -ri "session.maxAge" /<inst_root>/apigee/edge-ui/source

Вы должны увидеть результат в виде:

/<inst_root>/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 в процессоре сообщений. Затем вы ищете свойство, чтобы определить его токен:

> 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=yhost.name.com