Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
В следующем примере показано, как создать среду Container Apps в существующей виртуальной сети.
Начните с входа на портал Azure.
Создание приложения-контейнера
Чтобы создать приложение контейнера, начните с домашней страницы портала Azure.
- Найдите Приложения-контейнеры в верхней строке поиска.
- В результатах поиска выберите Приложения-контейнеры.
- Выберите кнопку Создать.
Вкладка "Основные сведения"
На вкладке Основы выполните следующие действия.
Введите следующие значения в разделе Сведения о проекте.
Настройка Действие Подписка Выберите подписку Azure. Группа ресурсов Выберите Создать новое и введите my-container-apps. Имя приложения-контейнера Введите my-container-app. Источник развертывания Выберите образ контейнера.
Создать среду
Затем создайте среду для приложения-контейнера.
Выберите подходящий регион.
Настройка Значение Область/регион Выберите Центральная часть США. В поле "Приложения контейнеров" выберите ссылку "Создать среду ".
На странице "Создание приложений контейнеров" на вкладке "Основные сведения" введите следующие значения:
Настройка Значение Имя среды Введите my-environment. Зональная избыточность Выберите Отключено. Перейдите на вкладку Monitoring, чтобы создать рабочую область Log Analytics.
Выберите Azure Log Analytics в качестве назначения Logs.
Выберите ссылку Create new в рабочей области Log Analytics и введите следующие значения.
Настройка Значение Имя. Введите my-container-apps-logs. Поле Расположение уже заполнено Центральный регион США.
Нажмите ОК.
Вы также можете развернуть частный DNS для среды контейнерных приложений. Для получения дополнительной информации см. Создание и настройка зоны Azure Частная зона DNS.
Создание виртуальной сети
Примечание.
Чтобы использовать виртуальную сеть с приложениями-контейнерами, виртуальная сеть должна иметь выделенную подсеть с диапазоном /27 CIDR или больше при использовании среды профилей рабочих нагрузок по умолчанию, или диапазон /23 CIDR или больше при использовании устаревшей среды с оплатой по потреблению. Дополнительные сведения о размерах подсети см. в обзоре сетевой архитектуры.
Перейдите на вкладку Сеть.
Выберите Да рядом с пунктом Использовать собственную виртуальную сеть.
Рядом с полем "Виртуальная сеть" выберите ссылку "Создать новую " и введите следующее значение:
Настройка Значение Имя. Введите my-custom-vnet. Выберите кнопку ОК.
Рядом с полем подсети выберите ссылку "Создать новую " и введите следующие значения:
Настройка Значение Имя подсети Введите infrastructure-subnet. Блок адресов виртуальной сети Оставьте значения по умолчанию. блок адресов подсети; Оставьте значения по умолчанию. Выберите кнопку ОК.
В разделе "Виртуальный IP-адрес" выберите "Внешний " для внешней среды или "Внутренний " для внутренней среды.
Нажмите кнопку создания.
Развертывание приложения-контейнера
В нижней части страницы нажмите кнопку "Просмотр и создание".
- Если ошибки не найдены, кнопка "Создать " доступна.
- Если возникают ошибки, любая вкладка, содержащая ошибку, помечается красной точкой. Перейдите на каждую из этих вкладок. Поля, содержащие ошибку, выделены красным или помечены красным X. Исправьте все ошибки, а затем нажмите кнопку "Проверить и создать " еще раз.
Нажмите кнопку создания.
Отобразится страница с сообщением Выполняется развертывание. После успешного завершения развертывания появится сообщение о завершении развертывания .
Проверка развертывания
Выберите Перейти к ресурсу для просмотра нового приложения-контейнера.
Рядом с URL-адресом приложения выберите ссылку для просмотра приложения.
Предварительные условия
- Учетная запись Azure с активной подпиской.
- Если у вас нет учетной записи, вы можете создать ее бесплатно.
- Установите Azure CLI версии 2.28.0 или более поздней.
Настройка
Чтобы войти в Azure из ИНТЕРФЕЙСА командной строки, выполните следующую команду и следуйте инструкциям, чтобы завершить процесс проверки подлинности.
az login
Чтобы убедиться, что вы используете последнюю версию интерфейса командной строки, выполните команду обновления.
az upgrade
Затем установите или обновите расширение Контейнеры приложений Azure для ИНТЕРФЕЙСА командной строки.
Если при выполнении команд az containerapp в Azure CLI или командлетов из модуля Az.App в PowerShell возникают ошибки, связанные с отсутствием параметров, убедитесь, что у вас установлена последняя версия расширения Контейнеры приложений Azure.
az extension add --name containerapp --upgrade
Примечание.
Начиная с мая 2024 г. расширения Azure CLI больше не поддерживают предварительные версии функций по умолчанию. Чтобы получить доступ к функциям предварительной версии Container Apps, установите расширение Container Apps с помощью --allow-preview true.
az extension add --name containerapp --upgrade --allow-preview true
Теперь, когда установлено текущее расширение или модуль, зарегистрируйте пространства имен Майкрософт.App и Майкрософт.OperationalInsights.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Настройка переменных среды
Задайте следующие переменные среды. Замените значения <placeholders> на свои.
RESOURCE_GROUP="<new-resource-group>"
LOCATION="<location>"
CONTAINERAPPS_ENVIRONMENT="<containerapps-environment>"
Создание группы ресурсов Azure
Создайте группу ресурсов для упорядочивания служб, связанных с развертыванием приложения контейнера.
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION
Создать среду
Среда в Контейнеры приложений Azure создает безопасную границу вокруг группы приложений-контейнеров. Контейнерные приложения, развернутые в одной и той же среде, разворачиваются в одной и той же виртуальной сети и записывают журналы в рабочую область Log Analytics.
Зарегистрируйте поставщика Майкрософт.ContainerService.
az provider register --namespace Microsoft.ContainerService
Объявите переменную для хранения имени виртуальной сети.
VNET_NAME="my-custom-vnet"
Теперь создайте виртуальную сеть для связывания с средой "Приложения контейнеров". Виртуальная сеть должна иметь подсеть, доступную для развертывания среды.
az network vnet create \
--resource-group $RESOURCE_GROUP \
--name $VNET_NAME \
--location $LOCATION \
--address-prefix 10.0.0.0/16
az network vnet subnet create \
--resource-group $RESOURCE_GROUP \
--vnet-name $VNET_NAME \
--name infrastructure-subnet \
--address-prefixes 10.0.0.0/23
При использовании среды профилей рабочей нагрузки необходимо обновить VNet, чтобы делегировать подсеть к Майкрософт.App/environments. Не делегировать подсеть при использовании среды только для потребления.
az network vnet subnet update \
--resource-group $RESOURCE_GROUP \
--vnet-name $VNET_NAME \
--name infrastructure-subnet \
--delegations Microsoft.App/environments
С помощью созданной виртуальной сети теперь можно запросить идентификатор подсети инфраструктуры.
INFRASTRUCTURE_SUBNET=`az network vnet subnet show --resource-group ${RESOURCE_GROUP} --vnet-name $VNET_NAME --name infrastructure-subnet --query "id" -o tsv | tr -d '[:space:]'`
Наконец, создайте среду "Приложения контейнеров" с помощью настраиваемой виртуальной сети.
Чтобы создать среду, выполните следующую команду. Чтобы создать внутреннюю среду, добавьте --internal-only.
az containerapp env create \
--name $CONTAINERAPPS_ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location "$LOCATION" \
--infrastructure-subnet-resource-id $INFRASTRUCTURE_SUBNET
В следующей таблице описаны параметры, используемые для containerapp env create.
| Параметр | Описание |
|---|---|
name |
Имя среды контейнерных приложений. |
resource-group |
Имя группы ресурсов. |
logs-workspace-id |
(Необязательно) Идентификатор существующей рабочей области Log Analytics. Если не указано, для вас создается рабочее пространство. |
logs-workspace-key |
Секрет клиента Log Analytics. Обязателен при использовании существующей рабочей области. |
location |
Расположение Azure, в котором будет развернута среда. |
infrastructure-subnet-resource-id |
Идентификатор ресурса подсети для компонентов инфраструктуры и контейнеров пользовательских приложений. |
internal-only |
(Необязательно) Среда не использует общедоступный статический IP-адрес, только внутренние IP-адреса, доступные в пользовательской виртуальной сети. (Требуется идентификатор ресурса подсети инфраструктуры). |
Дополнительные настройки
Вы можете развернуть частную службу доменных имен (DNS) и определить настраиваемые диапазоны IP-адресов сети для среды Контейнеров приложений.
Развертывание с использованием частной DNS
Если вы хотите развернуть приложение-контейнер с частной DNS, выполните приведенные ниже команды.
Сначала извлеките из среды идентифицируемую информацию.
ENVIRONMENT_DEFAULT_DOMAIN=`az containerapp env show --name ${CONTAINERAPPS_ENVIRONMENT} --resource-group ${RESOURCE_GROUP} --query properties.defaultDomain --out json | tr -d '"'`
ENVIRONMENT_STATIC_IP=`az containerapp env show --name ${CONTAINERAPPS_ENVIRONMENT} --resource-group ${RESOURCE_GROUP} --query properties.staticIp --out json | tr -d '"'`
VNET_ID=`az network vnet show --resource-group ${RESOURCE_GROUP} --name ${VNET_NAME} --query id --out json | tr -d '"'`
Затем настройте частную службу DNS.
az network private-dns zone create \
--resource-group $RESOURCE_GROUP \
--name $ENVIRONMENT_DEFAULT_DOMAIN
az network private-dns link vnet create \
--resource-group $RESOURCE_GROUP \
--name $VNET_NAME \
--virtual-network $VNET_ID \
--zone-name $ENVIRONMENT_DEFAULT_DOMAIN -e true
az network private-dns record-set a add-record \
--resource-group $RESOURCE_GROUP \
--record-set-name "*" \
--ipv4-address $ENVIRONMENT_STATIC_IP \
--zone-name $ENVIRONMENT_DEFAULT_DOMAIN
Параметры сети
При использовании устаревшей среды только для потребления можно выбрать три необязательных сетевых параметра, которые можно определить при вызове containerapp env create. Используйте эти параметры при наличии одноранговой виртуальной сети с отдельными диапазонами адресов. Явно настраивая эти диапазоны, гарантирует, что адреса, используемые средой "Приложения контейнеров", не конфликтуют с другими диапазонами в сетевой инфраструктуре.
Примечание.
Эти параметры применимы только к устаревшей среде только для потребления. Тип среды профилей рабочих нагрузок по умолчанию не требует этих параметров.
Необходимо указать значения для всех трех этих свойств или ни одного из них. Если они не указаны, значения будут сгенерированы для вас.
| Параметр | Описание |
|---|---|
platform-reserved-cidr |
Диапазон адресов, используемый для внутреннего использования в службах инфраструктуры окружающей среды. Должен иметь размер между /23 и /12, если используется только среда потребления |
platform-reserved-dns-ip |
IP-адрес из диапазона platform-reserved-cidr, используемого для внутреннего DNS-сервера. Этот адрес не может быть первым адресом в диапазоне или адресом сети. Например, если для platform-reserved-cidr задано значение 10.2.0.0/16, то platform-reserved-dns-ip не может иметь значение 10.2.0.0 (это адрес сети) или 10.2.0.1 (инфраструктура резервирует использование этого IP-адреса). В этом примере первым IP-адресом, пригодным для использования в DNS, будет 10.2.0.2. |
docker-bridge-cidr |
Диапазон адресов, назначенный сети моста Docker. Этот диапазон должен иметь размер от /28 до /12. |
Диапазоны адресов
platform-reserved-cidrиdocker-bridge-cidrне могут конфликтовать друг с другом или с диапазонами предоставленных подсетей. Кроме того, убедитесь, что эти диапазоны не конфликтуют с любым другим диапазоном адресов в виртуальной сети.Если эти свойства не предоставлены, CLI автоматически генерирует значения диапазона на основе диапазона адресов виртуальной сети, чтобы избежать конфликтов диапазонов.
Очистка ресурсов
Если вы не собираетесь продолжать использовать это приложение, можно удалить группу ресурсов my-container-apps. При этом удаляется экземпляр Контейнеры приложений Azure и все связанные службы. Она также удаляет группу ресурсов, созданную службой "Приложения контейнеров", и которая содержит пользовательские сетевые компоненты.
Внимание
Следующая команда удаляет указанную группу ресурсов и все ресурсы, содержащиеся в ней. Если ресурсы вне области этого руководства существуют в указанной группе ресурсов, они также будут удалены.
az group delete --name $RESOURCE_GROUP
Дополнительные ресурсы
- Чтобы использовать входящий трафик виртуальной сети, необходимо настроить DNS.