Поделиться через


Настройка конфигурации входящего трафика в Azure Spring Apps

Эта статья относится к: ✔️ Basic/Standard ✔️ Enterprise

В этой статье показано, как настроить и обновить параметры входящего трафика приложения в Azure Spring Apps с помощью портал Azure и Azure CLI.

Служба Azure Spring Apps использует базовый контроллер входящего трафика для обработки управления трафиком приложений. Для настройки поддерживаются следующие параметры входящего трафика.

Имя. Параметр входящего трафика Default value Допустимый диапазон Description
ingress-read-timeout proxy-read-timeout 300 [1,1800] Время ожидания в секундах для чтения ответа от прокси-сервера.
ingress-send-timeout proxy-send-timeout 60 [1,1800] Время ожидания в секундах для передачи запроса на прокси-сервер.
session-affinity affinity нет Сеанс, нет Тип сходства, который будет отправлять запрос к тому же модулем pod реплика, что отвечает на предыдущий запрос. Установите значение session-affinity Cookie, чтобы включить сходство сеансов. Только на портале необходимо выбрать поле сходства сеансов.
session-max-age session-cookie-max-age 0 [0, 604800] Время в секундах до истечения срока действия файла cookie, соответствующего директиве Max-Age cookie. Если задано session-max-age значение 0, срок действия равен периоду сеанса браузера.
backend-protocol backend-protocol По умолчанию По умолчанию, GRPC Задает внутренний протокол, чтобы указать, как NGINX должен взаимодействовать с серверной службой. Значение по умолчанию означает HTTP/HTTPS/WebSocket. Параметр backend-protocol применяется только к трафику клиента к приложению. Для трафика приложений к приложению в одном экземпляре службы выберите любой протокол для трафика между приложениями без изменения backend-protocol параметра. Протокол не ограничивает выбор протокола для трафика приложений к приложению в одном экземпляре службы.

Необходимые компоненты

  • Подписка Azure. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.

  • Azure CLI с расширением Azure Spring Apps. Используйте следующую команду, чтобы удалить предыдущие версии и установить последнее расширение. Если вы ранее установили расширение Spring-Cloud, удалите его, чтобы избежать несоответствий конфигурации и версий.

    az extension remove --name spring
    az extension add --name spring
    az extension remove --name spring-cloud
    

Настройка входящего трафика

Используйте следующую команду Azure CLI, чтобы задать конфигурацию входящего трафика при создании.

az spring app create \
    --resource-group <resource-group-name> \
    --service <service-name> \
    --name <service-name> \
    --ingress-read-timeout 300 \
    --ingress-send-timeout 60 \
    --session-affinity Cookie \
    --session-max-age 1800 \
    --backend-protocol Default \

Эта команда создает приложение со следующими параметрами:

  • Время ожидания чтения входящего трафика: 300 секунд
  • Время ожидания отправки входящего трафика: 60 секунд
  • Сходство сеансов: Cookie
  • Максимальный возраст файла cookie сеанса: 1800 секунд
  • Внутренний протокол: по умолчанию

Обновление параметров входящего трафика для существующего приложения

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

  1. Войдите на портал с помощью учетной записи, связанной с подпиской Azure, которая содержит экземпляр Azure Spring Apps.

  2. Перейдите в область "Приложения" , а затем выберите приложение, которое вы хотите настроить.

  3. Перейдите на панель конфигурации и перейдите на вкладку параметров входящего трафика.

  4. Обновите параметры входящего трафика и нажмите кнопку "Сохранить".

    Screenshot of Azure portal Configuration page showing the Ingress settings tab.

Вопросы и ответы

  • Как включить gRPC?

    Задайте для серверного протокола GRPC.

  • Как включить WebSocket?

    WebSocket включен по умолчанию, если для внутреннего протокола задано значение Default. Ограничение подключения WebSocket равно 20000. Когда вы достигнете этого ограничения, подключение завершится ошибкой.

    Можно также использовать RSocket на основе WebSocket.

  • Какова разница между параметрами ingress config и ingress?

    Конфигурация входящего трафика по-прежнему может использоваться в Azure CLI и пакете SDK, и этот параметр будет применяться ко всем приложениям в экземпляре службы. После настройки приложения с помощью параметров входящего трафика конфигурация входящего трафика не повлияет на нее. Мы не рекомендуем использовать конфигурацию входящего трафика, так как мы планируем прекратить поддержку ее в будущем.

  • Когда параметры входящего трафика используются вместе с шлюзом приложений или APIM, что происходит при установке времени ожидания в входящих трафиках Azure Spring Apps и шлюзе приложений или APIM?

    Используется более короткое время ожидания.

  • Требуется ли дополнительная конфигурация в шлюзе приложений или APIM, если вам нужна сквозная поддержка gRPC или WebSocket?

    Вам не нужна дополнительная конфигурация, если шлюз приложений поддерживает gRPC.

  • Поддерживается ли настраиваемый порт?

    Настраиваемый порт в настоящее время не поддерживается (80/443).

Следующие шаги