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


Краткое руководство. Настройка автомасштабирования для приложений в режиме потребления Azure Spring Apps standard и выделенного плана

Примечание.

Планы "Базовый", "Стандартный" и "Корпоративный" будут устарели начиная с середины марта 2025 г. с 3-летнего периода выхода на пенсию. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.

Стандартный план потребления и выделенного плана будет устарел с 30 сентября 2024 г. с полным завершением работы после шести месяцев. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в статье "Миграция потребления Azure Spring Apps Standard" и выделенного плана в приложения контейнеров Azure.

Эта статья относится к:✅ стандартное потребление и выделенная (предварительная версия) ❎ Basic/Standard ❎ Enterprise

В этой статье описывается настройка правил автомасштабирования для приложений в Azure Spring Apps Standard и выделенного плана. План использует среду приложений контейнеров Azure для размещения приложений Spring и обеспечивает следующее управление и поддержку:

  • Управляет автоматическим горизонтальным масштабированием с помощью набора декларативных правил масштабирования.
  • Поддерживает все правила масштабирования, поддерживаемые приложениями контейнеров Azure.

Дополнительные сведения см . в документации по приложениям контейнеров Azure.

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

  • Подписка Azure. Если у вас нет подписки Azure, ознакомьтесь с бесплатной учетной записью Azure перед началом работы.
  • Экземпляр службы "Стандартный" и выделенного плана Azure Spring Apps.
  • Приложение Spring, развернутое в Azure Spring Apps.

Определение масштабирования

Масштабирование определяется сочетанием ограничений и правил.

  • Ограничения — это минимальное и максимальное количество экземпляров, разрешенных в Spring.

    Предел масштабирования Default value Минимальное значение Максимальное значение
    Минимальное количество экземпляров на развертывание 1 0 30
    Максимальное количество экземпляров на развертывание 10 1 30

    По умолчанию минимальное количество экземпляров приложения Spring имеет значение 1, чтобы гарантировать, что развертывание всегда выполняется. Если вы хотите масштабировать до нуля, можно задать минимальное число экземпляров равным нулю.

  • Правила — это критерии, которые выполняет автоматическое масштабирование для добавления или удаления экземпляров. Правила масштабирования включают правила HTTP, TCP и пользовательские правила, как описано в разделе " Правила масштабирования" в разделе "Настройка правил масштабирования" в приложениях контейнеров Azure.

    Если вы определяете несколько правил масштабирования, автомасштабирование начинается при выполнении первого условия любого правила.

  • Интервал опроса и период охлаждения — это два интервала времени, которые происходят во время автомасштабирования.

    • Интервал опроса определяет интервал времени между каждым действием опроса данных в режиме реального времени в соответствии с правилами. Интервал опроса по умолчанию равен 30 секундам.
    • Период охлаждения применяется только при масштабировании до нуля , например, чтобы ждать пять минут после последнего автомасштабирования проверил очередь сообщений и пуста.

Настройка параметров автомасштабирования

Параметры автомасштабирования для приложения можно настроить с помощью портал Azure или Azure CLI.

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

  1. Войдите на портал Azure.
  2. Выберите Azure Spring Apps в службах Azure.
  3. В столбце "Имя" выберите экземпляр Azure Spring Apps, который требуется автомасштабировать.
  4. На странице обзора для экземпляра Azure Spring Apps выберите "Приложения " в области навигации.
  5. Выберите приложение, которое требуется автомасштабировать.
  6. На странице обзора выбранного приложения выберите "Горизонтальное масштабирование " в области навигации.
  7. На странице горизонтального масштабирования (предварительная версия) выберите развертывание, которое требуется автомасштабировать.
  8. Настройте ограничения экземпляра развертывания.
  9. Нажмите кнопку "Добавить", чтобы добавить правила масштабирования.

Снимок экрана: предварительная версия портал Azure с страницей горизонтального масштабирования для приложения в экземпляре Azure Spring Apps.

Пользовательские правила масштабирования

Дополнительные сведения об определении настраиваемых правил см. в разделе "Масштабировщики Keda". В следующих разделах показаны два примера настройки правил масштабирования в MySQL и Cron.

Настройка правил автоматического масштабирования в базе данных MySQL

В следующих командах CLI показано, как автомасштабировать приложение Spring на основе Keda MySQL Scaler. Сначала создайте секрет для хранения строка подключения SQL. Этот секрет используется для проверки подлинности правила масштабирования. Затем настройте правило, которое масштабирует приложение на основе количества строк таблицы.

Примечание.

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

az spring app update \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-service-instance-name> \
    --name <app-name> \
    --secrets mysqlconnectionstring="<username>:<pwd>@tcp(<server name>:3306)/<database name>" 

az spring app scale \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-service-instance-name> \
    --name <app-name> \
    --scale-rule-type mysql \
    --scale-rule-name <your rule name> \
    --scale-rule-auth "connectionString=mysqlconnectionstring" \
    --scale-rule-metadata queryValue=4 query="SELECT count(*) FROM mytable" \
    --min-replicas 0 \
    --max-replicas 3

Создание правила на основе cron Linux

В следующих командах показано, как настроить правило на основе Keda Cron Scaler. Реплики масштабируются до требуемого числа во время интервала времени крона.

az spring app scale \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-service-instance-name> \
    --name <app-name> \
    --scale-rule-type cron \
    --scale-rule-name testscalerule \
    --scale-rule-metadata timezone="Asia/Shanghai" \
                          start="10 * * * *" \
                          end="15 * * * *" \
                          desiredReplicas="3" \
    --min-replicas 0 \
    --max-replicas 3

Масштабирование событий

События масштабирования можно найти в системных журналах базового приложения контейнера и отфильтровать EventSource с помощью KEDA, как показано в следующем примере:

ContainerAppSystemLogs_CL 
| where ContainerAppName_s == 'YourAppName' and EventSource_s == 'KEDA'

Очистка ресурсов

Не забудьте удалить ресурсы, созданные в этой статье, если они больше не нужны. Чтобы удалить ресурсы, просто удалите группу ресурсов, содержащую их. Группу ресурсов можно удалить с помощью портал Azure. Кроме того, чтобы удалить группу ресурсов с помощью Azure CLI, используйте следующие команды:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

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