Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Планы Basic, Standardи Enterprise вступили в период вывода из обращения 17 марта 2025 года. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.
План стандартного потребления и выделенный план вошли в период вывода из эксплуатации 30 сентября 2024 года, с полным завершением работы к концу марта 2025 года. Дополнительные сведения см. в статье «Миграция потребления и выделенного плана Azure Spring Apps Standard на приложения Azure Container Apps».
Эта статья относится к:✅ стандартному потреблению и выделенным ресурсам (предварительная версия) ❎ Базовый/Стандартный ❎ Корпоративный
Данная статья описывает, как настроить правила автомасштабирования для ваших приложений в плане стандартного потребления и выделенном плане Azure Spring Apps. План использует среду приложений контейнеров Azure для размещения приложений Spring и обеспечивает следующее управление и поддержку:
- Управляет автоматическим горизонтальным масштабированием с помощью набора декларативных правил масштабирования.
- Поддерживает все правила масштабирования, поддерживаемые приложениями контейнеров Azure.
Для получения дополнительной информации см. документацию Azure Container Apps.
Предварительные условия
- Подписка Azure. Если у вас нет подписки Azure, ознакомьтесь с бесплатной учетной записью Azure перед началом работы.
- Экземпляр службы Azure Spring Apps с потреблением по стандартному тарифу и выделенным планом.
- Приложение Spring, развернутое в Azure Spring Apps.
Определение масштабирования
Масштабирование определяется сочетанием ограничений и правил.
Ограничения — это минимальное и максимальное количество экземпляров, разрешенных в вашей системе Spring.
Предел масштабирования Значение по умолчанию Минимальное значение Максимальное значение Минимальное количество экземпляров на развертывание 1 0 30 Максимальное количество экземпляров для каждого развертывания 10 1 30 По умолчанию минимальное количество экземпляров приложения Spring имеет значение 1, чтобы гарантировать, что развертывание всегда выполняется. Если вы хотите масштабировать до нуля, можно задать минимальное число экземпляров равным нулю.
Правила — это критерии, которым автоматическое масштабирование следует для добавления или удаления экземпляров. Правила масштабирования включают правила HTTP, TCP и пользовательские правила, как описано в разделе " Правила масштабирования" в разделе "Настройка правил масштабирования" в приложениях контейнеров Azure.
Если вы определяете несколько правил масштабирования, автомасштабирование начинается при выполнении первого условия любого правила.
Интервал опроса и период охлаждения — это два интервала времени, которые происходят во время автомасштабирования.
- Интервал опроса определяет интервал времени между каждым действием опроса данных в режиме реального времени в соответствии с правилами. Интервал опроса по умолчанию равен 30 секундам.
- Период охлаждения применяется только в случае масштабирования до нуля, например, чтобы подождать пять минут после последнего раза, когда автомасштабирование проверило очередь сообщений и обнаружило, что она пустая.
Настройка параметров автомасштабирования
Параметры автомасштабирования для приложения можно настроить с помощью портал Azure или Azure CLI.
Чтобы определить параметры и правила автомасштабирования, выполните следующие действия.
- Войдите на портал Azure.
- Выберите Azure Spring Apps в службах Azure.
- В столбце "Имя" выберите экземпляр Azure Spring Apps, который требуется автомасштабировать.
- На странице обзора для экземпляра 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 ..."