Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Планы Basic, Standardи Enterprise вступили в период вывода из обращения 17 марта 2025 года. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.
План стандартного потребления и выделенный план вошли в период вывода из эксплуатации 30 сентября 2024 года, с полным завершением работы к концу марта 2025 года. Дополнительные сведения см. в статье «Миграция стандартного и выделенного планов потребления Azure Spring Apps к приложениям контейнеров Azure».
Эта статья относится к: ❎ Basic/Standard ✅ Enterprise
В этой статье показано, как настроить шлюз VMware Spring Cloud для VMware Tanzu с планом Azure Spring Apps Enterprise.
VMware Spring Cloud Gateway — это коммерческий компонент VMware Tanzu на основе проекта Шлюза Spring Cloud с открытым исходным кодом. Шлюз VMware Spring Cloud для Tanzu обрабатывает перекрестные проблемы для команд разработки API, таких как единый вход (SSO), управление доступом, ограничение скорости, устойчивость и безопасность. Вы можете ускорить доставку API с помощью современных облачных шаблонов в выборе языка программирования для разработки API.
Экземпляр шлюза VMware Spring Cloud маршрутизирует трафик в соответствии с правилами. Он поддерживает масштабирование горизонтальное и вертикальное для удовлетворения динамических нагрузок трафика.
Шлюз VMware Spring Cloud включает следующие функции:
- Динамическая конфигурация маршрутизации, независимо от отдельных приложений, которую можно применять и изменять без повторной компиляции
- Фильтры маршрутов коммерческого API для транспортировки авторизованных утверждений JSON Web Token (JWT) в сервисы приложений
- Авторизация сертификата клиента
- Подходы к ограничению скорости
- Конфигурация автоматического выключателя
- Поддержка доступа к службам приложений с помощью учетных данных проверки подлинности HTTP Basic
Чтобы интегрироваться с порталом API для VMware Tanzu, VMware Spring Cloud Gateway автоматически создает документацию OpenAPI версии 3 после любых добавлений или изменений конфигурации маршрута. Дополнительные сведения см. на портале API для VMware Tanzu.
Предварительные условия
- Уже подготовленный экземпляр службы плана Azure Spring Apps Enterprise с включенным шлюзом VMware Spring Cloud. Дополнительные сведения см. в кратком руководстве: Создание и развертывание приложений в Azure Spring Apps с помощью тарифного плана Enterprise.
-
Azure CLI версии 2.0.67 или более поздней. Используйте следующую команду, чтобы установить расширение Azure Spring Apps:
az extension add --name spring
Включение или отключение шлюза VMware Spring Cloud
Вы можете включить или отключить шлюз VMware Spring Cloud после создания экземпляра службы с помощью портал Azure или Azure CLI. Прежде чем отключить шлюз VMware Spring Cloud, необходимо отменить назначение конечной точки и удалить все конфигурации маршрутов.
Выполните следующие действия, чтобы включить или отключить шлюз VMware Spring Cloud с помощью портал Azure:
- Перейдите к ресурсу службы и выберите Spring Cloud Gateway.
- Выберите Управление.
- Установите или снимите флажок "Включить шлюз Spring Cloud" и нажмите "Сохранить".
Теперь можно просмотреть состояние шлюза Spring Cloud на странице Spring Cloud Gateway .
Перезапуск шлюза VMware Spring Cloud
После завершения действия перезапуска экземпляры VMware Spring Cloud Gateway перезагружаются на последовательной основе.
Выполните следующие действия, чтобы перезапустить шлюз VMware Spring Cloud с помощью портал Azure:
- Перейдите к ресурсу службы и выберите Spring Cloud Gateway.
- Выберите Перезапустить.
- Нажмите кнопку "ОК ", чтобы подтвердить перезагрузку.
Назначьте общедоступную конечную точку для VMware Spring Cloud Gateway
В этом разделе описывается, как назначить общедоступную конечную точку шлюзу VMware Spring Cloud и настроить его свойства.
Чтобы назначить конечную точку в портал Azure, выполните следующие действия.
- Откройте экземпляр Azure Spring Apps.
- Выберите Spring Cloud Gateway на панели навигации и выберите " Обзор".
- Установите назначение конечной точки на Да.
Через несколько минут отобразится сконфигурированный URL-адрес конечной точки. Сохраните URL-адрес для дальнейшего использования.
Настройка метаданных шлюза VMware Spring Cloud
Метаданные шлюза VMware Spring Cloud автоматически создают документацию по OpenAPI версии 3. Метаданные VMware Spring Cloud Gateway можно настроить для отображения групп маршрутов на портале API для VMware Tanzu. Дополнительные сведения см. на портале API для VMware Tanzu.
В следующей таблице описываются доступные параметры метаданных:
Для изменения свойств метаданных можно использовать портал Azure или Azure CLI.
Чтобы изменить метаданные в портал Azure, выполните следующие действия.
- Откройте экземпляр Azure Spring Apps.
- Выберите Spring Cloud Gateway на панели навигации и выберите "Конфигурация".
- Укажите значения свойств, перечисленных для API.
- Выберите Сохранить.
Настройка единого входа
VMware Spring Cloud Gateway поддерживает проверку подлинности и авторизацию через единый вход с помощью поставщика удостоверений OpenID. Поставщик поддерживает протокол обнаружения OpenID Connect. В следующей таблице описаны свойства единого входа:
Свойство | Обязательное? | Описание |
---|---|---|
issuerUri |
Да | Универсальный код ресурса (URI), который утверждается в качестве идентификатора издателя. Например, если issuerUri это https://example.com , то выполняется запрос конфигурации поставщика OpenID к https://example.com/.well-known/openid-configuration . Ожидается, что результатом станет ответ с конфигурацией поставщика OpenID. |
clientId |
Да | Идентификатор клиента OpenID Connect от вашего поставщика удостоверений. |
clientSecret |
Да | Секретный ключ клиента OpenID Connect, выданный вашим поставщиком удостоверений. |
scope |
Да | Список областей для включения в маркеры идентификации JWT. Этот список должен основываться на областях, которые разрешает поставщик удостоверений. |
Сведения о настройке единого входа с идентификатором Microsoft Entra см. в статье Настройка единого входа с помощью идентификатора Microsoft Entra для Spring Cloud Gateway и портала API.
Для изменения свойств единого входа можно использовать портал Azure или Azure CLI.
Чтобы изменить свойства единого входа в портал Azure, выполните следующие действия.
- Откройте экземпляр Azure Spring Apps.
- Выберите Spring Cloud Gateway на панели навигации и выберите "Конфигурация".
- Укажите значения свойств, перечисленных для SSO.
- Выберите Сохранить.
VMware Spring Cloud Gateway поддерживает только серверы авторизации, поддерживающие протокол обнаружения OpenID Connect. Кроме того, не забудьте разрешить перенаправление обратно в шлюз на внешнем сервере авторизации. Ознакомьтесь с документацией по серверу авторизации и добавьте https://<gateway-external-url>/login/oauth2/code/sso
в список разрешенных URI перенаправления.
Если вы настроите неправильное свойство единого входа, например неправильный пароль, необходимо удалить все свойство единого входа и добавить правильную конфигурацию.
После настройки единого входа не забудьте задать ssoEnabled: true
маршруты шлюза VMware Spring Cloud.
Настройка выхода из единой системы входа
Экземпляры службы VMware Spring Cloud Gateway предоставляют стандартную конечную точку API для выхода из текущего сеанса единого входа (SSO). Путь к этой конечной точке - /scg-logout
. Выход приводит к одному из следующих результатов в зависимости от способа вызова конечной точки выхода:
- Выйдите из сеанса и перенаправьте на выход из системы поставщика удостоверений (IdP).
- Выйдите из сеанса экземпляра службы.
Выйдите из сеанса поставщика удостоверений личности и единого входа.
При отправке GET
запроса в /scg-logout
конечную точку, она отправляет 302
ответ перенаправления на URL-адрес выхода поставщика удостоверений. Чтобы конечная точка вернула пользователя на путь экземпляра шлюза, добавьте параметр перенаправления в запрос GET
с конечной точкой /scg-logout
. Например, вы можете использовать значение ${server-url}/scg-logout?redirect=/home
.
Значение параметра перенаправления должно быть допустимым путем в экземпляре службы VMware Spring Cloud Gateway. Вы не можете перенаправить внешний URL-адрес.
Ниже описан пример реализации функции в микрослужбах:
Получите конфигурацию маршрута для маршрутизации запроса на выход в приложение. Пример см. в конфигурации маршрута в репозитории animal-rescue на GitHub.
Добавьте в приложение любую логику выхода. В конце вам необходимо отправить
GET
запрос к эндпоинту шлюза/scg-logout
, как показано в значенииreturn
методаgetActionButton
в репозитории animal-rescue.
Выйдите из сеанса единого входа
При отправке запроса к конечной точке GET
/scg-logout
с использованием XMLHttpRequest
, перенаправление 302
может быть проигнорировано и не обработано в обработчике ответа. В этом случае пользователь будет выходить только из сеанса единого входа в экземпляре службы VMware Spring Cloud Gateway. У пользователя по-прежнему будет действительная сессия IdP. Как правило, если пользователь пытается войти снова, он автоматически перенаправляется на шлюз после проверки подлинности поставщиком удостоверений (IdP).
Необходимо настроить маршрут для маршрутизации запроса выхода в приложение, как показано в следующем примере. Этот код создает сеанс единого выхода через шлюз.
const req = new XMLHttpRequest();
req.open("GET", "/scg-logout);
req.send();
Настройка общего доступа к ресурсам между источниками
Совместное использование ресурсов между источниками (CORS) позволяет запрашивать ограниченные ресурсы на веб-странице из другого домена за пределами домена, из которого был обработан первый ресурс. В следующей таблице описаны доступные параметры конфигурации CORS.
Свойство | Описание |
---|---|
allowedOrigins |
Разрешенные источники для создания межсайтовых запросов. |
allowedOriginPatterns |
Разрешенные шаблоны источников для выполнения запросов между сайтами |
allowedMethods |
Разрешенные методы HTTP для межсайтовых запросов. |
allowedHeaders |
Разрешенные заголовки в межсайтовых запросах |
maxAge |
Сколько времени в секундах клиенты кэшируют ответ из предварительного запроса |
allowCredentials |
Поддерживаются ли учетные данные пользователя при межсайтовых запросах. |
exposedHeaders |
Заголовки HTTP-ответов, которые будут открыты для межсайтовых запросов. |
Убедитесь, что у вас есть правильная конфигурация CORS, если вы хотите интегрировать с порталом API. Дополнительные сведения см. в разделе "Назначение общедоступной конечной точки шлюзу VMware Spring Cloud ".
Использование масштабирования служб
Вы можете настроить выделение ресурсов для экземпляров шлюза VMware Spring Cloud, включая виртуальный ЦП, память и число экземпляров.
Для обеспечения высокой доступности не рекомендуется использовать одну реплику.
В следующей таблице описано использование ресурсов по умолчанию.
Наименование компонента | Число экземпляров | Количество виртуальных ЦП на экземпляр | Объем памяти на экземпляр |
---|---|---|---|
Шлюз VMware Spring Cloud | 2 | 1 ядро | 2 ГиБ |
Оператор шлюза VMware Spring Cloud | 2 | 1 ядро | 2 ГиБ |
Настройка TLS между шлюзом и приложениями
Чтобы повысить безопасность и защитить конфиденциальную информацию от перехвата неавторизованными сторонами, можно включить протокол TLS между VMware Spring Cloud Gateway и приложениями.
Перед настройкой TLS необходимо иметь приложение с поддержкой TLS и сертификат TLS. Чтобы подготовить сертификат TLS, создайте сертификат из доверенного центра сертификации (ЦС). Сертификат проверяет удостоверение сервера и устанавливает безопасное подключение.
После запуска приложения с поддержкой TLS в Azure Spring Apps отправьте сертификат в Azure Spring Apps. Для получения дополнительной информации см. раздел "Импорт сертификата" в разделе "Использование сертификатов TLS/SSL в вашем приложении в Azure Spring Apps".
При обновлении сертификата до Azure Spring Apps можно настроить сертификат TLS для шлюза и включить проверку сертификата. Сертификат можно настроить в портал Azure или с помощью Azure CLI.
Чтобы настроить сертификат в портал Azure, выполните следующие действия.
- В экземпляре Azure Spring Apps выберите Spring Cloud Gateway на панели навигации.
- На странице Spring Cloud Gateway выберите управление сертификатами.
- Выберите "Включить проверку сертификата".
- Выберите сертификат TLS в сертификатах.
- Выберите Сохранить.
На обновление конфигурации может потребоваться несколько минут. После завершения настройки вы получите уведомление.
Подготовка конфигурации маршрута
Необходимо указать протокол в качестве HTTPS в конфигурации маршрута. Следующий объект JSON указывает VMware Spring Cloud Gateway использовать протокол HTTPS для всего трафика между шлюзом и приложением.
Создайте файл с именем test-tls-route.json со следующим содержимым:
{ "routes": [ { "title": "Test TLS app", "predicates": [ "Path=/path/to/your/app", "Method=GET" ] } ], "uri": "https://<app-custom-domain-name>" }
Используйте следующую команду, чтобы применить правило к приложению:
az spring gateway route-config create \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name test-tls-app \ --routes-file test-tls-route.json
Теперь можно проверить, включено ли приложение с поддержкой TLS с помощью конечной точки шлюза. Дополнительные сведения см. в разделе "Настройка маршрутов" в разделе "Использование шлюза Spring Cloud".
Ротация сертификатов
По истечении срока действия сертификатов необходимо сменить сертификаты в VMware Spring Cloud Gateway, выполнив следующие действия.
- Создайте новые сертификаты от доверенного центра сертификации.
- Импортируйте сертификаты в Azure Spring Apps. Дополнительные сведения см. в разделе "Импорт сертификата" в "Использование TLS/SSL-сертификатов в вашем приложении в Azure Spring Apps.
- Синхронизируйте сертификаты с помощью портал Azure или Azure CLI.
VMware Spring Cloud Gateway перезапускается, чтобы шлюз использовал новый сертификат для всех подключений.
Чтобы синхронизировать сертификаты, выполните следующие действия.
- В экземпляре Azure Spring Apps выберите Spring Cloud Gateway на панели навигации.
- На странице Spring Cloud Gateway нажмите кнопку "Перезапустить", а затем подтвердите операцию.
Настройка параметров автомасштабирования
Вы можете задать режимы автомасштабирования для шлюза VMware Spring Cloud.
В следующем списке показаны параметры, доступные для управления запросами автомасштабирования:
- Параметр масштабирования вручную поддерживает фиксированное число экземпляров. Вы можете масштабировать до не более 10 экземпляров. Это значение изменяет количество отдельных запущенных экземпляров шлюза Spring Cloud.
- Параметр настраиваемого автомасштабирования масштабируется по любому расписанию на основе любых метрик.
На портале Azure выберите способ масштабирования. На следующем снимках экрана показан параметр настраиваемого автомасштабирования и параметры режима:
Дополнительные сведения о доступных метриках см. в разделе "Параметры пользовательских метрик" раздела "Метрики для Azure Spring Apps".
Настройка кэша ответов
Конфигурация кэша ответов позволяет определить кэш ответа HTTP, который можно применять глобально или на уровне маршрута.
Глобальное включение кэша ответов
После глобального включения кэша ответов кэш отклика автоматически включается для всех применимых маршрутов.
Чтобы включить кэш ответов глобально, выполните следующие действия.
- В экземпляре Azure Spring Apps выберите Spring Cloud Gateway на панели навигации.
- На странице Spring Cloud Gateway выберите "Конфигурация".
- В разделе "Кэш ответов" выберите "Включить кэш ответов", а затем задайте область для экземпляра.
- Задайте размер и время жизни для кэша ответов.
- Выберите Сохранить.
Чтобы отключить кэш ответов, выполните следующие действия.
- В экземпляре Azure Spring Apps выберите Spring Cloud Gateway на панели навигации.
- На странице Spring Cloud Gateway выберите "Конфигурация".
- В разделе "Кэш ответов" снимите флажок "Включить кэш ответов".
- Выберите Сохранить.
Включение кэша ответов на уровне маршрута
Чтобы включить кэш ответов для любого маршрута, используйте LocalResponseCache
фильтр. В следующем примере показано, как использовать LocalResponseCache
фильтр в конфигурации правила маршрутизации:
{
"filters": [
"<other-app-level-filter-of-route>",
],
"routes": [
{
"predicates": [
"Path=/api/**",
"Method=GET"
],
"filters": [
"<other-filter-of-route>",
"LocalResponseCache=3m, 1MB"
],
}
]
}
Для получения дополнительной информации см. LocalResponseCache в разделе "Как использовать фильтры маршрутов шлюза VMware Spring Cloud с планом Azure Spring Apps Enterprise" и LocalResponseCache в документации по VMware.
Вместо настройки size
и timeToLive
для каждого LocalResponseCache
фильтра можно настроить эти параметры на уровне Spring Cloud Gateway. Этот параметр позволяет использовать LocalResponseCache
фильтр без первоначального указания этих значений, сохраняя гибкость, чтобы переопределить их позже.
Выполните следующие действия, чтобы включить кэш ответов на уровне маршрута и задать size
и timeToLive
:
- В экземпляре Azure Spring Apps выберите Spring Cloud Gateway на панели навигации.
- На странице Spring Cloud Gateway выберите "Конфигурация".
- В разделе "Кэш ответов" выберите "Включить кэш ответов", а затем задайте область в Маршрут.
- Задайте размер и время жизни для кэша ответов.
- Выберите Сохранить.
Выполните следующие действия, чтобы отключить кэш ответов на уровне маршрута, который очищает size
и timeToLive
:
- В экземпляре Azure Spring Apps выберите Spring Cloud Gateway на панели навигации.
- На странице Spring Cloud Gateway выберите "Конфигурация".
- В разделе "Кэш ответов" снимите флажок "Включить кэш ответов".
- Выберите Сохранить.
В следующем примере показано, как использовать фильтр LocalResponseCache
, когда параметры size
и timeToLive
установлены на уровне шлюза Spring Cloud.
{
"filters": [
"<other-app-level-filter-of-route>",
],
"routes": [
{
"predicates": [
"Path=/api/path1/**",
"Method=GET"
],
"filters": [
"<other-filter-of-route>",
"LocalResponseCache"
],
},
{
"predicates": [
"Path=/api/path2/**",
"Method=GET"
],
"filters": [
"<other-filter-of-route>",
"LocalResponseCache=3m, 1MB"
],
}
]
}
Настройка переменных среды
Служба Azure Spring Apps управляет и настраивает шлюз VMware Spring Cloud. Кроме вариантов использования, которые настраивают мониторинг производительности приложений (APM) и уровень журнала, обычно не требуется настраивать VMware Spring Cloud Gateway с переменными среды.
Если у вас есть требования, которые невозможно выполнить с помощью других конфигураций, описанных в этой статье, можно попытаться настроить переменные среды, отображаемые в списке свойств common application. Перед применением конфигурации к рабочей среде обязательно проверьте конфигурацию в тестовой среде.
Чтобы настроить переменные среды в портал Azure, выполните следующие действия.
- В экземпляре Azure Spring Apps выберите Spring Cloud Gateway на панели навигации и выберите "Конфигурация".
- Заполните пары "ключ-значение" для переменных среды в разделах "Свойства и секреты ". В раздел "Секреты" можно включить переменные с конфиденциальной информацией.
- Выберите Сохранить, чтобы сохранить изменения.
После обновления переменных среды VMware Spring Cloud Gateway перезапускается.
Настройка мониторинга производительности приложений
Чтобы отслеживать VMware Spring Cloud Gateway, можно настроить APM. В следующей таблице перечислены пять типов агентов APM Java, предоставляемых шлюзом VMware Spring Cloud, а также необходимые переменные среды.
Агент Java | Обязательные переменные среды |
---|---|
Application Insights | APPLICATIONINSIGHTS_CONNECTION_STRING |
Dynatrace | DT_TENANT DT_TENANTTOKEN DT_CONNECTION_POINT |
New Relic | NEW_RELIC_LICENSE_KEY NEW_RELIC_APP_NAME |
AppDynamics | APPDYNAMICS_AGENT_APPLICATION_NAME APPDYNAMICS_AGENT_TIER_NAME APPDYNAMICS_AGENT_NODE_NAME APPDYNAMICS_AGENT_ACCOUNT_NAME APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY APPDYNAMICS_CONTROLLER_HOST_NAME APPDYNAMICS_CONTROLLER_SSL_ENABLED APPDYNAMICS_CONTROLLER_PORT |
Elastic APM | ELASTIC_APM_SERVICE_NAME ELASTIC_APM_APPLICATION_PACKAGES ELASTIC_APM_SERVER_URL |
Другие поддерживаемые переменные среды см. в следующих источниках:
- Общие сведения об Application Insights
- Переменные среды Dynatrace
- Новые переменные среды Relic
- Переменные среды AppDynamics
- Переменные эластичной среды
Настройка интеграции APM на уровне экземпляра службы (рекомендуется)
Чтобы включить мониторинг APM в шлюзе VMware Spring Cloud, можно создать конфигурацию APM на уровне экземпляра службы и привязать ее к Spring Cloud Gateway. Таким образом, можно удобно настроить APM только один раз и привязать один и тот же APM к Spring Cloud Gateway и к вашим приложениям.
Выполните следующие действия, чтобы настроить APM с помощью портал Azure:
Настройте APM на уровне экземпляра службы с именем, типом и свойствами APM. Дополнительные сведения см. в разделе "Управление APM" на уровне экземпляра службы (рекомендуется) в разделе "Настройка интеграции APM и сертификатов ЦС".
Выберите Spring Cloud Gateway на панели навигации и выберите APM.
Выберите имя APM в списке ссылочных имен APM. Список содержит все имена APM, настроенные на шаге 1.
Выберите "Сохранить", чтобы привязать имена ссылок APM к Spring Cloud Gateway. Шлюз перезапускается, чтобы включить мониторинг APM.
Управление APM в VMware Spring Cloud Gateway (не рекомендуется)
Вы можете использовать портал Azure или Azure CLI для настройки APM в VMware Spring Cloud Gateway. Кроме того, можно указать типы агентов Java APM для использования и соответствующие переменные среды APM, которые они поддерживают.
Выполните следующие действия, чтобы настроить APM с помощью портал Azure:
- В экземпляре Azure Spring Apps выберите Spring Cloud Gateway на панели навигации и выберите "Конфигурация".
- Выберите тип APM в списке APM , чтобы отслеживать шлюз.
- Заполните пары "ключ-значение" для переменных среды APM в разделах "Свойства и секреты ". Переменные с конфиденциальной информацией можно поместить в Секреты.
- Выберите Сохранить, чтобы сохранить изменения.
На обновление конфигурации может потребоваться несколько минут. После завершения настройки вы получите уведомление.
Примечание.
Azure Spring Apps обновляет агент APM и развертывает приложения с той же частотой, чтобы обеспечить совместимость агентов между Шлюзом VMware Spring Cloud и Azure Spring Apps.
По умолчанию Azure Spring Apps выводит журналы Java APM агента в STDOUT
. Эти журналы включены в журналы шлюза VMware Spring Cloud. Вы можете проверить версию агента APM, используемую в журналах. Эти журналы можно запросить в Log Analytics, чтобы устранить неполадки.
Чтобы агенты APM работали правильно, увеличьте объем ЦП и памяти шлюза VMware Spring Cloud.
Настройка уровней ведения журнала
Уровни журналов шлюза VMware Spring Cloud можно настроить следующим образом, чтобы получить дополнительные сведения или уменьшить количество журналов:
- Уровни журнала можно задать для
TRACE
,DEBUG
,INFO
,WARN
,ERROR
илиOFF
. Уровень журнала по умолчанию для шлюза VMware Spring Cloud -INFO
. - Вы можете отключить записи, установив уровни журналирования в
OFF
. - Если для уровня журнала задано значение
WARN
,ERROR
илиOFF
, вам может потребоваться изменить его наINFO
, когда вы запрашиваете поддержку от команды Azure Spring Apps. Это изменение приводит к перезапуску шлюза VMware Spring Cloud. - Если уровень журнала установлен на
TRACE
илиDEBUG
, это может повлиять на производительность шлюза VMware Spring Cloud Gateway. Попробуйте избежать этих параметров в рабочей среде. - Вы можете задать уровни логирования для
root
логгера или для определенных логгеров, напримерio.pivotal.spring.cloud.gateway
.
Следующие средства ведения журнала могут содержать ценные сведения об устранении неполадок на уровнях TRACE
и DEBUG
.
Логгер | Описание |
---|---|
io.pivotal.spring.cloud.gateway |
Фильтры и предикаты, включая пользовательские расширения |
org.springframework.cloud.gateway |
Шлюз API |
org.springframework.http.server.reactive |
Взаимодействие с HTTP-сервером |
org.springframework.web.reactive |
Реактивные потоки шлюза API |
org.springframework.boot.autoconfigure.web |
Автоматическая настройка шлюза API |
org.springframework.security.web |
Сведения о проверке подлинности и авторизации |
reactor.netty |
Реактор Netty |
Чтобы получить ключи переменной среды, добавьте logging.level.
префикс и задайте уровень журнала, настроив среду logging.level.{loggerName}={logLevel}
. В следующих примерах показаны шаги для портал Azure и Azure CLI.
Чтобы настроить уровни журнала в портале Azure, выполните следующие действия.
- В экземпляре Azure Spring Apps выберите Spring Cloud Gateway на панели навигации и выберите "Конфигурация".
- Заполните пары "ключ-значение" для переменных среды уровней журнала в разделах Свойства и Секреты. Если уровень логирования является конфиденциальной информацией в вашем случае, его можно включить с помощью раздела "Секреты".
- Выберите Сохранить, чтобы сохранить изменения.
Обновление конфигурации дополнения
Функция настройки надстройки позволяет настраивать определенные свойства шлюза VMware Spring Cloud с помощью строки формата JSON. Эта функция полезна, если необходимо настроить свойства, которые не предоставляются через REST API.
Конфигурация надстройки — это объект JSON с парами "ключ-значение", которые представляют нужную конфигурацию. В следующем примере показана структура формата JSON:
{
"<addon-key-name>": {
"<addon-key-name>": "<addon-value>"
...
},
"<addon-key-name>": "<addon-value>",
...
}
В следующем списке показаны поддерживаемые конфигурации надстроек для имен ключей надстройки и типов значений. Этот список изменяется при обновлении версии шлюза VMware Spring Cloud.
Конфигурация единого входа:
Имя ключа:
sso
Тип значения: Object
Свойства
-
RolesAttributeName
(Строка): указывает имя атрибута, содержащего роли, связанные с сеансом единого входа. -
InactiveSessionExpirationInMinutes
(Целое число): указывает время окончания срока действия в минутах для неактивных сеансов единого входа. Значение0
означает, что сеанс никогда не истекает.
-
Пример:
{ "sso": { "rolesAttributeName": "roles", "inactiveSessionExpirationInMinutes": 1 } }
Конфигурация метаданных:
Имя ключа:
api
Тип значения: Object
Свойства
-
groupId
(Строка): уникальный идентификатор группы API, доступной в экземпляре VMware Spring Cloud Gateway. Значение может содержать только строчные буквы и цифры.
-
Пример:
{ "api": { "groupId": "id1" } }
Конфигурация модуля
Имя ключа:
PodOverrides
, который используется для указания переопределений конфигурации pod по умолчанию.Тип значения: Object
Свойства
-
Containers
: этот массив содержит конфигурацию для отдельных контейнеров в pod. В настоящее время поддерживается только именованныйgateway
контейнер.-
Name
: указывает имя контейнера. Контейнер должен быть названgateway
. -
Lifecycle
:PreStop
является хуком жизненного цикла, который выполняется, когда контейнер готовится к завершению. Этот хук позволяет выполнять любые необходимые действия по очистке перед остановкой контейнера.
-
-
TerminationGracePeriodSeconds
: указывает время, когда Kubernetes ожидает завершения модуля pod корректно, прежде чем принудительно убить его.
-
Пример:
{ "PodOverrides": { "Containers": [ { "Name": "gateway", "Lifecycle": { "PreStop": { "Exec": { "Command": [ "/bin/sh", "-c", "sleep 20" ] } } } } ], "TerminationGracePeriodSeconds": 120 } }
Когда pod, содержащий этот контейнер, завершается,
PreStop
перехватчик выполняет команду/bin/sh -c 'sleep 20'
, заставляя контейнер заснуть на 20 секунд. Эта пауза дает контейнеру некоторое время для выполнения любых текущих задач или очистки перед его остановкой.Параметр
TerminationGracePeriodSeconds
предоставляет в общей сложности 120 секунд для корректного завершения pod, включая время, затраченное на любые хуки жизненного цикла, такие какPreStop
.
Чтобы обновить конфигурацию надстройки, выполните следующие действия.
- В экземпляре Azure Spring Apps выберите Spring Cloud Gateway на панели навигации и выберите "Конфигурация".
- Укажите значение JSON для Addon Configs.
- Выберите Сохранить.