Управление профилями рабочей нагрузки с помощью Azure CLI
Узнайте, как управлять средой профилей рабочих нагрузок с помощью Azure CLI.
Создание приложения-контейнера в профиле
По умолчанию среда "Приложения контейнеров" создается с помощью управляемой виртуальной сети, которая автоматически создается для вас. Созданные виртуальные сети недоступны при создании в клиенте Майкрософт.
Кроме того, вы можете создать среду с пользовательской виртуальной сетью , если вам потребуется какая-либо из следующих функций:
- Определяемые пользователем маршруты
- Интеграция с Шлюз приложений
- группы сетевой безопасности;
- Взаимодействие с ресурсами за частными конечными точками в виртуальной сети
При создании среды с пользовательской виртуальной сетью у вас есть полный контроль над конфигурацией виртуальной сети. Этот объем управления позволяет реализовать следующие функции:
- Определяемые пользователем маршруты
- Интеграция с Шлюз приложений
- группы сетевой безопасности;
- Взаимодействие с ресурсами за частными конечными точками в виртуальной сети
Используйте следующие команды для создания среды профилей рабочих нагрузок.
Как создать виртуальную сеть.
az network vnet create \ --address-prefixes 13.0.0.0/23 \ --resource-group "<RESOURCE_GROUP>" \ --location "<LOCATION>" \ --name "<VNET_NAME>"
Создание делегированной подсети
Microsoft.App/environments
.az network vnet subnet create \ --address-prefixes 13.0.0.0/23 \ --delegations Microsoft.App/environments \ --name "<SUBNET_NAME>" \ --resource-group "<RESOURCE_GROUP>" \ --vnet-name "<VNET_NAME>" \ --query "id"
Скопируйте значение идентификатора и вставьте его в следующую команду.
Делегирование
Microsoft.App/environments
необходимо предоставить среде выполнения контейнерных приложений необходимый контроль над виртуальной сетью для запуска профилей рабочих нагрузок в среде "Приложения контейнеров".Для подсети можно указать значение
/27
CIDR (32 IP-адреса-8). Если вы собираетесь указать/27
CIDR, рассмотрите следующие элементы:Для инфраструктуры приложений контейнеров зарезервировано 11 IP-адресов. Таким образом,
/27
CIDR имеет не более 21 доступных IP-адресов.IP-адреса распределяются по-разному между только потреблением и выделенными планами:
Только за использование Выделенные Для каждого реплика требуется один IP-адрес. Пользователи не могут иметь приложения с более чем 21 реплика во всех приложениях. Для развертывания нулевого простоя требуется двойные IP-адреса, так как старая редакция выполняется, пока новая редакция не будет успешно развернута. Для каждого экземпляра (узла виртуальной машины) требуется один IP-адрес. В этих профилях рабочей нагрузки может быть до 21 экземпляров, а также сотни или более реплика, выполняемых в этих профилях рабочей нагрузки.
Создание среды профилей рабочей нагрузки
Примечание.
Вы можете настроить, разрешает ли приложение-контейнер общедоступный входящий трафик или только входящий трафик из виртуальной сети на уровне среды. Чтобы ограничить входящий трафик только виртуальной сетью
--internal-only
, установите флаг.az containerapp env create \ --enable-workload-profiles \ --resource-group "<RESOURCE_GROUP>" \ --name "<NAME>" \ --location "<LOCATION>"
az containerapp env create \ --enable-workload-profiles \ --resource-group "<RESOURCE_GROUP>" \ --name "<NAME>" \ --location "<LOCATION>"
Эта команда может занять до 10 минут.
Проверьте состояние среды. Следующая команда сообщает, если среда успешно создана.
az containerapp env show \ --name "<ENVIRONMENT_NAME>" \ --resource-group "<RESOURCE_GROUP>"
Перед
provisioningState
переходом к следующей команде необходимо сообщитьSucceeded
.Создайте новое приложение контейнера.
az containerapp create \ --resource-group "<RESOURCE_GROUP>" \ --name "<CONTAINER_APP_NAME>" \ --target-port 80 \ --ingress external \ --image mcr.microsoft.com/k8se/quickstart:latest \ --environment "<ENVIRONMENT_NAME>" \ --workload-profile-name "Consumption"
Эта команда развертывает приложение в встроенном профиле рабочей нагрузки потребления. Если вы хотите создать приложение в выделенном профиле, сначала необходимо добавить профиль в среду.
Эта команда создает новое приложение в среде с помощью определенного профиля рабочей нагрузки.
Добавление профилей
Добавьте новый профиль рабочей нагрузки в существующую среду.
az containerapp env workload-profile add \
--resource-group <RESOURCE_GROUP> \
--name <ENVIRONMENT_NAME> \
--workload-profile-type <WORKLOAD_PROFILE_TYPE> \
--workload-profile-name <WORKLOAD_PROFILE_NAME> \
--min-nodes <MIN_NODES> \
--max-nodes <MAX_NODES>
Выбранное <WORKLOAD_PROFILE_NAME>
для заполнителя значение — понятное имя профиля рабочей нагрузки.
Использование понятных имен позволяет добавлять несколько профилей одного типа в среду. Понятное имя — это то, что вы используете при развертывании и обслуживании приложения-контейнера в профиле рабочей нагрузки.
Редактирование профилей
Можно изменить минимальное и максимальное количество узлов, используемых профилем рабочей нагрузки с помощью update
команды.
az containerapp env workload-profile update \
--resource-group <RESOURCE_GROUP> \
--name <ENV_NAME> \
--workload-profile-type <WORKLOAD_PROFILE_TYPE> \
--workload-profile-name <WORKLOAD_PROFILE_NAME> \
--min-nodes <MIN_NODES> \
--max-nodes <MAX_NODES>
Удаление профиля
Используйте следующую команду, чтобы удалить профиль рабочей нагрузки.
az containerapp env workload-profile delete \
--resource-group "<RESOURCE_GROUP>" \
--name <ENVIRONMENT_NAME> \
--workload-profile-name <WORKLOAD_PROFILE_NAME>
Примечание.
Не удается удалить профиль рабочей нагрузки потребления .
Проверка профилей
Следующие команды позволяют перечислять доступные профили в регионе и те, которые используются в определенной среде.
Список доступных профилей рабочей нагрузки
list-supported
Используйте команду для перечисления поддерживаемых профилей рабочих нагрузок для региона.
Следующая команда Azure CLI отображает результаты в таблице.
az containerapp env workload-profile list-supported \
--location <LOCATION> \
--query "[].{Name: name, Cores: properties.cores, MemoryGiB: properties.memoryGiB, Category: properties.category}" \
-o table
Ответ похож на таблицу, похожую на приведенный ниже пример:
Name Cores MemoryGiB Category
----------- ------- ----------- ---------------
D4 4 16 GeneralPurpose
D8 8 32 GeneralPurpose
D16 16 64 GeneralPurpose
E4 4 32 MemoryOptimized
E8 8 64 MemoryOptimized
E16 16 128 MemoryOptimized
E32 32 256 MemoryOptimized
Consumption 4 8 Consumption
Выберите профиль рабочей нагрузки и используйте поле "Имя " при запуске az containerapp env workload-profile set
параметра --workload-profile-type
.
Отображение профиля рабочей нагрузки
Отображение сведений о профиле рабочей нагрузки.
az containerapp env workload-profile show \
--resource-group <RESOURCE_GROUP> \
--name <ENVIRONMENT_NAME> \
--workload-profile-name <WORKLOAD_PROFILE_NAME>