Бөлісу құралы:


Извлечение изображений в приложениях-контейнерах Azure с использованием управляемого удостоверения

Вы можете извлекать изображения из частных репозиториев в Microsoft Реестр контейнеров Azure с помощью управляемых удостоверений для проверки подлинности, чтобы избежать использования учетных данных администратора.

Управляемое удостоверение, назначаемое пользователем или назначаемое системой, можно использовать для проверки подлинности с помощью Реестр контейнеров Azure.

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

Приложения-контейнеры проверяют новую версию образа при запуске контейнера. В терминологии Docker или Kubernetes приложения контейнеров задают политику alwaysизвлечения изображений каждого контейнера.

В этой статье описывается, как использовать портал Azure для настройки приложения контейнера для использования управляемых удостоверений, назначенных пользователем и назначаемых системой, для извлечения образов из частных репозиториев Реестр контейнеров Azure.

Управляемое удостоверение, назначаемое пользователем

Ниже описан процесс настройки приложения контейнера для использования управляемого удостоверения, назначаемого пользователем, для извлечения изображений из частных репозиториев Реестр контейнеров Azure.

  1. Создайте приложение-контейнер с общедоступным изображением.
  2. Добавьте управляемое удостоверение, назначаемое пользователем, в приложение контейнера.
  3. Создайте редакцию приложения-контейнера с частным изображением и управляемым удостоверением, назначаемое пользователем.

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

  • Учетная запись Azure с активной подпиской.

  • Частный Реестр контейнеров Azure, содержащий изображение, которое требуется извлечь.

  • Реестр контейнеров Azure должны разрешить маркеры аудитории ARM для проверки подлинности, чтобы использовать управляемое удостоверение для извлечения изображений. Используйте следующую команду, чтобы проверить, разрешены ли маркеры ARM для доступа к ACR:

    az acr config authentication-as-arm show -r <REGISTRY>
    

    Если маркеры ARM запрещены, их можно разрешить с помощью следующей команды:

    az acr config authentication-as-arm update -r <REGISTRY> --status enabled
    
  • Создайте управляемое удостоверение, назначаемое пользователем. Дополнительные сведения см. в статье "Создание управляемого удостоверения, назначаемого пользователем".

Создание приложения-контейнера

Выполните следующие действия, чтобы создать приложение-контейнер с изображением краткого руководства по умолчанию.

  1. Перейдите на домашнюю страницу портала.

  2. Введите Приложения-контейнеры в строке поиска вверху.

  3. В результатах поиска выберите Приложения-контейнеры.

  4. Выберите кнопку Создать.

  5. На вкладке Основы выполните следующие действия.

    Параметр Действие
    Подписка Выберите свою подписку Azure.
    Группа ресурсов Выберите существующую группу ресурсов или создайте новую.
    Имя приложения контейнера Введите имя приложения контейнера.
    Местонахождение Выберите расположение.
    Создание среды приложения-контейнера Создайте новую или выберите существующую среду.
  6. Нажмите кнопку "Просмотр и создание " в нижней части страницы "Создать приложение контейнера".

  7. Нажмите кнопку "Создать " в нижней части окна "Создать приложение контейнера".

Разрешите несколько минут завершения развертывания приложения-контейнера. По завершении развертывания выберите элемент Перейти к ресурсу.

Добавление управляемого удостоверения, назначаемого пользователем

  1. Выберите удостоверение в меню слева.
  2. Выберите вкладку Назначено пользователем.
  3. Нажмите кнопку "Добавить назначенное пользователем управляемое удостоверение ".
  4. Выберите свою подписку.
  5. Выберите созданное удостоверение.
  6. Выберите Добавить.

Создание редакции приложения-контейнера

Создайте редакцию приложения-контейнера с частным изображением и управляемым удостоверением, назначаемое системой.

  1. Выберите "Управление редакциями " в меню слева.

  2. Выберите "Создать новую версию".

  3. Выберите образ контейнера из таблицы образов контейнера.

  4. Введите сведения в диалоговом окне "Изменение контейнера ".

    Поле Действие
    Имя Введите имя контейнера.
    Источник образа Выберите Реестр контейнеров Azure.
    Аутентификация Выберите управляемое удостоверение.
    Identity Выберите удостоверение, созданное в раскрывающемся меню.
    Реестр Выберите реестр, который вы хотите использовать в раскрывающемся меню.
    Изображение Введите имя изображения, которое вы хотите использовать.
    Тег изображения Введите имя и тег изображения, которое вы хотите извлечь.

    Снимок экрана: диалоговое окно

    Примечание.

    Если учетные данные администратора не включены в реестре Реестр контейнеров Azure, отобразится предупреждение, и вам потребуется ввести имя изображения и сведения тега вручную.

  5. Выберите Сохранить.

  6. Выберите "Создать" на странице "Создание и развертывание новой редакции".

Будет создана и развернута новая редакция. Портал автоматически попытается добавить acrpull роль в управляемое удостоверение, назначаемое пользователем. Если роль не добавлена, ее можно добавить вручную.

Вы можете убедиться, что роль была добавлена, проверив удостоверение на панели удостоверений страницы приложения контейнера.

  1. Выберите удостоверение в меню слева.
  2. Выберите вкладку Назначено пользователем.
  3. Выберите управляемое удостоверение, назначаемое пользователем.
  4. Выберите назначения ролей Azure в меню на странице ресурса управляемого удостоверения.
  5. Убедитесь, что acrpull роль назначена управляемому удостоверению, назначенному пользователем.

Создание приложения-контейнера с частным изображением

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

  1. Создайте управляемое удостоверение, назначаемое пользователем.
  2. Добавьте роль в acrpull управляемое удостоверение, назначаемое пользователем.
  3. Создайте приложение-контейнер с частным изображением и управляемым удостоверением, назначаемое пользователем.

Этот метод является типичным в сценариях "Инфраструктура как код" (IaC).

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

Если вы не собираетесь продолжать использовать это приложение, можете удалить экземпляр Azure Container Apps и все связанные службы, удалив группу ресурсов.

Предупреждение

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

  1. Выберите группу ресурсов в разделе "Обзор ".
  2. Нажмите кнопку Удалить группу ресурсов на панели инструментов в разделе Обзор группы ресурсов.
  3. Введите имя группы ресурсов в диалоговом окне подтверждения.
  4. Выберите команду Удалить. На удаление группы ресурсов может потребоваться несколько минут.

Управляемое удостоверение, назначаемое системой

Метод настройки управляемого удостоверения, назначаемого системой, в портал Azure совпадает с настройкой управляемого удостоверения, назначаемого пользователем. Единственное различие заключается в том, что вам не нужно создавать управляемое удостоверение, назначаемое пользователем. Вместо этого при создании приложения контейнера создается управляемое удостоверение, назначаемое системой.

Метод настройки управляемого удостоверения, назначаемого системой, в портал Azure:

  1. Создайте приложение-контейнер с общедоступным изображением.
  2. Создайте редакцию приложения-контейнера с частным изображением и управляемым удостоверением, назначаемое системой.

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

Создание приложения-контейнера

Выполните следующие действия, чтобы создать приложение-контейнер с изображением краткого руководства по умолчанию.

  1. Перейдите на домашнюю страницу портала.

  2. Введите Приложения-контейнеры в строке поиска вверху.

  3. В результатах поиска выберите Приложения-контейнеры.

  4. Выберите кнопку Создать.

  5. На вкладке Основы выполните следующие действия.

    Параметр Действие
    Подписка Выберите свою подписку Azure.
    Группа ресурсов Выберите существующую группу ресурсов или создайте новую.
    Имя приложения контейнера Введите имя приложения контейнера.
    Местонахождение Выберите расположение.
    Создание среды приложения-контейнера Создайте новую или выберите существующую среду.
  6. Нажмите кнопку "Просмотр и создание " в нижней части страницы "Создать приложение контейнера".

  7. Нажмите кнопку "Создать" в нижней части страницы "Создать приложение контейнера".

Разрешите несколько минут завершения развертывания приложения-контейнера. По завершении развертывания выберите элемент Перейти к ресурсу.

Изменение и развертывание редакции

Измените контейнер, чтобы использовать образ из частного Реестр контейнеров Azure, и настройте проверку подлинности для использования назначаемого системой удостоверения.

  1. Контейнеры из бокового меню слева.

  2. Выберите Изменить и развернуть.

  3. Выберите в списке контейнер simple-hello-world-container .

    Параметр Действие
    Имя Введите имя приложения контейнера.
    Источник образа Выберите Реестр контейнеров Azure.
    Аутентификация Выберите Управляемое удостоверение.
    Identity Выберите "Назначенная система".
    Реестр Введите имя реестра.
    Изображение Введите имя изображения.
    Тег изображения Введите тег.

    Снимок экрана: изменение контейнера с управляемым удостоверением, назначаемого системой.

    Примечание.

    Если учетные данные администратора не включены в реестре Реестр контейнеров Azure, отобразится предупреждение, и вам потребуется ввести имя изображения и сведения тега вручную.

  4. В нижней части страницы нажмите кнопку Сохранить.

  5. Выберите "Создать" в нижней части страницы "Создание и развертывание новой редакции"

  6. Через несколько минут нажмите кнопку "Обновить" на странице управления редакцией , чтобы увидеть новую редакцию.

Будет создана и развернута новая редакция. Портал автоматически попытается добавить acrpull роль в управляемое удостоверение, назначаемое системой. Если роль не добавлена, ее можно добавить вручную.

Вы можете убедиться, что роль была добавлена, проверив удостоверение на панели удостоверений страницы приложения контейнера.

  1. Выберите удостоверение в меню слева.
  2. Выберите вкладку Назначаемое системой.
  3. Выберите Назначения ролей Azure.
  4. Убедитесь, что acrpull роль назначена управляемому удостоверению, назначенному системой.

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

Если вы не собираетесь продолжать использовать это приложение, можете удалить экземпляр Azure Container Apps и все связанные службы, удалив группу ресурсов.

Предупреждение

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

  1. Выберите группу ресурсов в разделе "Обзор ".
  2. Нажмите кнопку Удалить группу ресурсов на панели инструментов в разделе Обзор группы ресурсов.
  3. Введите имя группы ресурсов в диалоговом окне подтверждения.
  4. Выберите команду Удалить. На удаление группы ресурсов может потребоваться несколько минут.

В этой статье описывается, как настроить приложение-контейнер для использования управляемых удостоверений для извлечения образов из частного репозитория Реестр контейнеров Azure с помощью Azure CLI и Azure PowerShell.

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

Необходимые условия Description
Учетная запись Azure Учетная запись Azure с активной подпиской. Если у вас нет учетной записи, вы можете создать ее бесплатно.
Azure CLI При использовании Azure CLI установите Azure CLI на локальном компьютере.
Azure PowerShell При использовании PowerShell установите Azure PowerShell на локальном компьютере. Убедитесь, что последняя версия модуля Az.App установлена, выполнив команду Install-Module -Name Az.App.
Реестр контейнеров Azure Частный Реестр контейнеров Azure, содержащий изображение, которое требуется извлечь. Краткое руководство. Создание частного реестра контейнеров с помощью Azure CLI или краткого руководства. Создание частного реестра контейнеров с помощью Azure PowerShell

Настройка

Чтобы войти в Azure из ИНТЕРФЕЙСА командной строки, выполните следующую команду и следуйте инструкциям, чтобы завершить процесс проверки подлинности.

az login

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

az upgrade

Затем установите или обновите расширение "Приложения контейнеров Azure" для интерфейса командной строки.

Если при выполнении az containerapp команд в Azure CLI или командлетах из модуля Azure PowerShell возникают ошибки о отсутствующих параметрах Az.App , убедитесь, что установлена последняя версия расширения "Приложения контейнеров Azure".

az extension add --name containerapp --upgrade

Примечание.

Начиная с мая 2024 г. расширения Azure CLI больше не поддерживают предварительные версии функций по умолчанию. Чтобы получить доступ к функциям предварительной версии контейнерных приложений, установите расширение "Приложения контейнеров" с --allow-preview trueпомощью .

az extension add --name containerapp --upgrade --allow-preview true

Теперь, когда установлено текущее расширение или модуль, зарегистрируйте Microsoft.App пространства имен и Microsoft.OperationalInsights пространств имен.

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

Затем задайте следующие переменные среды. Замените заполнители, окруженные вашими значениями <> .

RESOURCE_GROUP="<YOUR_RESOURCE_GROUP_NAME>"
LOCATION="<YOUR_LOCATION>"
CONTAINERAPPS_ENVIRONMENT="<YOUR_ENVIRONMENT_NAME>"
REGISTRY_NAME="<YOUR_REGISTRY_NAME>"
CONTAINERAPP_NAME="<YOUR_CONTAINERAPP_NAME>"
IMAGE_NAME="<YOUR_IMAGE_NAME>"

Если у вас уже есть группа ресурсов, пропустите этот шаг. В противном случае создайте группу ресурсов.

az group create \
  --name $RESOURCE_GROUP \
  --location $LOCATION

Создание среды приложения-контейнера

Если среда не существует, выполните следующую команду:

Чтобы создать среду, выполните следующую команду:

az containerapp env create \
  --name $CONTAINERAPPS_ENVIRONMENT \
  --resource-group $RESOURCE_GROUP \
  --location $LOCATION

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

Управляемое удостоверение, назначаемое пользователем

Выполните следующую процедуру, чтобы настроить управляемое удостоверение, назначаемое пользователем:

  1. Создайте управляемое удостоверение, назначаемое пользователем.
  2. Если вы используете PowerShell, назначьте acrpull роль реестра управляемому удостоверению. Azure CLI автоматически делает это назначение.
  3. Создайте приложение-контейнер с изображением из частного реестра, прошедшего проверку подлинности с помощью управляемого удостоверения, назначаемого пользователем.

Создание управляемого удостоверения, назначаемого пользователем

Создайте управляемое удостоверение, назначаемое пользователем. Перед выполнением следующей команды замените <ЗАПОЛНИТЕЛИ> именем управляемого удостоверения.

IDENTITY="<YOUR_IDENTITY_NAME>"
az identity create \
  --name $IDENTITY \
  --resource-group $RESOURCE_GROUP

Получение идентификатора ресурса удостоверения.

IDENTITY_ID=`az identity show \
  --name $IDENTITY \
  --resource-group $RESOURCE_GROUP \
  --query id`

Создание приложения-контейнера

Создайте приложение-контейнер с изображением из частного реестра, прошедшего проверку подлинности с помощью удостоверения.

Скопируйте идентификатор ресурса удостоверения для вставки в <заполнители IDENTITY_ID> в приведенной ниже команде. Если тег изображения не latestявляется, замените "latest" тегом.

echo $IDENTITY_ID
az containerapp create \
  --name $CONTAINERAPP_NAME \
  --resource-group $RESOURCE_GROUP \
  --environment $CONTAINERAPPS_ENVIRONMENT \
  --user-assigned <IDENTITY_ID> \
  --registry-identity <IDENTITY_ID> \
  --registry-server "$REGISTRY_NAME.azurecr.io" \
  --image "$REGISTRY_NAME.azurecr.io/$IMAGE_NAME:latest"

Очистка

Внимание

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

az group delete --name $RESOURCE_GROUP

Управляемое удостоверение, назначаемое системой

Чтобы настроить назначаемое системой удостоверение, вам потребуется:

  1. Создайте приложение-контейнер с общедоступным изображением.
  2. Назначьте управляемое удостоверение, назначаемое системой, приложению контейнера.
  3. Обновите приложение-контейнер с помощью закрытого образа.

Создание приложения-контейнера

Создайте контейнер с общедоступным образом.

az containerapp create \
  --name $CONTAINERAPP_NAME \
  --resource-group $RESOURCE_GROUP \
  --environment $CONTAINERAPPS_ENVIRONMENT \
  --image mcr.microsoft.com/k8se/quickstart:latest \
  --target-port 80 \
  --ingress external

Обновление приложения контейнера

Обновите приложение-контейнер с изображением из частного реестра контейнеров и добавьте удостоверение, назначаемое системой, для проверки подлинности Реестр контейнеров Azure извлечения. Вы также можете включить другие параметры, необходимые для приложения-контейнера, например входящего трафика, масштабирования и параметров Dapr.

Задайте сервер реестра и включите управляемое удостоверение, назначаемое системой, в приложении контейнера.

az containerapp registry set \
  --name $CONTAINERAPP_NAME \
  --resource-group $RESOURCE_GROUP \
  --identity system \
  --server "$REGISTRY_NAME.azurecr.io"
az containerapp update \
  --name $CONTAINERAPP_NAME \
  --resource-group $RESOURCE_GROUP \
  --image "$REGISTRY_NAME.azurecr.io/$IMAGE_NAME:latest"

Очистка

Внимание

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

az group delete --name $RESOURCE_GROUP

В этой статье описывается, как использовать шаблон Bicep для настройки приложения-контейнера для использования управляемых удостоверений, назначенных пользователем, для извлечения изображений из частных репозиториев Реестр контейнеров Azure.

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

Настройка

Чтобы войти в Azure из ИНТЕРФЕЙСА командной строки, выполните следующую команду и следуйте инструкциям, чтобы завершить процесс проверки подлинности.

az login

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

az upgrade

Затем установите или обновите расширение "Приложения контейнеров Azure" для интерфейса командной строки.

Если при выполнении az containerapp команд в Azure CLI или командлетах из модуля Azure PowerShell возникают ошибки о отсутствующих параметрах Az.App , убедитесь, что установлена последняя версия расширения "Приложения контейнеров Azure".

az extension add --name containerapp --upgrade

Примечание.

Начиная с мая 2024 г. расширения Azure CLI больше не поддерживают предварительные версии функций по умолчанию. Чтобы получить доступ к функциям предварительной версии контейнерных приложений, установите расширение "Приложения контейнеров" с --allow-preview trueпомощью .

az extension add --name containerapp --upgrade --allow-preview true

Теперь, когда установлено текущее расширение или модуль, зарегистрируйте Microsoft.App пространства имен и Microsoft.OperationalInsights пространств имен.

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

Установка Bicep

Если у вас нет Bicep, его можно установить следующим образом.

az bicep install

Если у вас установлена Bicep, убедитесь, что у вас установлена последняя версия.

az bicep upgrade

Дополнительные сведения см. в разделе "Установка Bicep".

Настройка переменных среды

Затем задайте следующие переменные среды. Замените заполнители, окруженные вашими значениями <> .

RESOURCE_GROUP="<RESOURCE_GROUP_NAME>"
LOCATION="<LOCATION>"
REGISTRY_NAME="<REGISTRY_NAME>"
IMAGE_NAME="<IMAGE_NAME>"
IMAGE_TAG="<IMAGE_TAG>"
BICEP_TEMPLATE="<BICEP_TEMPLATE>"
CONTAINERAPPS_ENVIRONMENT="<ENVIRONMENT_NAME>"
CONTAINER_NAME="<CONTAINER_NAME>"
CONTAINERAPP_NAME="<CONTAINERAPP_NAME>"
USER_ASSIGNED_IDENTITY_NAME="<USER_ASSIGNED_IDENTITY_NAME>"
LOG_ANALYTICS_WORKSPACE_NAME="<LOG_ANALYTICS_WORKSPACE_NAME>"
APP_INSIGHTS_NAME="<APP_INSIGHTS_NAME>"
ACR_PULL_DEFINITION_ID="7f951dda-4ed3-4680-a7ca-43fe172d538d"

Роль AcrPull предоставляет управляемому удостоверению, назначаемого пользователем, разрешение на извлечение образа из реестра.

Шаблон Bicep

Скопируйте следующий шаблон Bicep и сохраните его в виде файла с расширением .bicep.

param environmentName string 
param logAnalyticsWorkspaceName string
param appInsightsName string
param containerAppName string 
param azureContainerRegistry string
param azureContainerRegistryImage string 
param azureContainerRegistryImageTag string
param acrPullDefinitionId string
param userAssignedIdentityName string
param location string = resourceGroup().location

resource identity 'Microsoft.ManagedIdentity/userAssignedIdentities@2022-01-31-preview' = {
  name: userAssignedIdentityName
  location: location 
}

resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
  name: guid(resourceGroup().id, azureContainerRegistry, 'AcrPullTestUserAssigned')
  properties: {
    principalId: identity.properties.principalId  
    principalType: 'ServicePrincipal'
    // acrPullDefinitionId has a value of 7f951dda-4ed3-4680-a7ca-43fe172d538d
    roleDefinitionId: resourceId('Microsoft.Authorization/roleDefinitions', acrPullDefinitionId)
  }
}

resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2022-10-01' = {
  name: logAnalyticsWorkspaceName
  location: location
  properties: any({
    retentionInDays: 30
    features: {
      searchVersion: 1
    }
    sku: {
      name: 'PerGB2018'
    }
  })
}

resource appInsights 'Microsoft.Insights/components@2020-02-02' = {
  name: appInsightsName
  location: location
  kind: 'web'
  properties: {
    Application_Type: 'web'
    WorkspaceResourceId: logAnalyticsWorkspace.id
  }
}

resource appEnvironment 'Microsoft.App/managedEnvironments@2022-06-01-preview' = {
  name: environmentName
  location: location
  properties: {
    daprAIInstrumentationKey: appInsights.properties.InstrumentationKey
    appLogsConfiguration: {
      destination: 'log-analytics'
      logAnalyticsConfiguration: {
        customerId: logAnalyticsWorkspace.properties.customerId
        sharedKey: logAnalyticsWorkspace.listKeys().primarySharedKey
      }
    }
  }
}

resource containerApp 'Microsoft.App/containerApps@2022-06-01-preview' = {
  name: containerAppName
  location: location
  identity: {
    type: 'UserAssigned'
    userAssignedIdentities: {
      '${identity.id}': {}
    }
  }
  properties: {
    environmentId: appEnvironment.id
    configuration: {
      ingress: {
        targetPort: 8080
        external: true
      }
      registries: [
        {
          server: '${azureContainerRegistry}.azurecr.io'
          identity: identity.id
        }
      ]
    }
    template: {
      containers: [
        {
          image: '${azureContainerRegistry}.azurecr.io/${azureContainerRegistryImage}:${azureContainerRegistryImageTag}'
          name: '${azureContainerName}'
          resources: {
            cpu: 1
            memory: '2Gi'
          }
        }
      ]
      scale: {
        minReplicas: 1
        maxReplicas: 1
      }
    }
  }
}

output location string = location
output environmentId string = appEnvironment.id

Развертывание приложения-контейнера

Разверните приложение-контейнер с помощью следующей команды.

az deployment group create \
  --resource-group "$RESOURCE_GROUP" \
  --template-file "$BICEP_TEMPLATE" \
  --parameters environmentName="$CONTAINERAPPS_ENVIRONMENT" \
  logAnalyticsWorkspaceName="$LOG_ANALYTICS_WORKSPACE_NAME" \
  appInsightsName="$APP_INSIGHTS_NAME" \
  containerAppName="$CONTAINERAPP_NAME" \
  azureContainerRegistry="$REGISTRY_NAME" \
  azureContainerRegistryImage="$IMAGE_NAME" \
  azureContainerRegistryImageTag="$IMAGE_TAG" \
  azureContainerName="$CONTAINER_NAME" \
  acrPullDefinitionId="$ACR_PULL_DEFINITION_ID" \
  userAssignedIdentityName="$USER_ASSIGNED_IDENTITY_NAME" \
  location="$LOCATION"

Эта команда развертывает следующую команду.

  • Группа ресурсов Azure.
  • Среда приложений-контейнеров.
  • Рабочая область Log Analytics, связанная с средой "Приложения контейнеров".
  • Ресурс Application Insights для распределенной трассировки.
  • Управляемое удостоверение, назначаемое пользователем.
  • Контейнер для хранения образа.
  • Приложение контейнера на основе образа.

Если появится сообщение об ошибке Failed to parse '<YOUR_BICEP_FILE_NAME>', please check whether it is a valid JSON format, убедитесь, что файл шаблона Bicep имеет расширение .bicep.

Дополнительные ресурсы

Дополнительные сведения см. в следующих разделах.

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