Comparteix a través de


Extracción de imágenes de Azure Container Apps con identidad administrada

Puede extraer imágenes de repositorios privados de Microsoft Azure Container Registry mediante identidades administradas para la autenticación para evitar el uso de credenciales administrativas.

Puede usar una identidad administrada asignada por el usuario o asignada por el sistema para autenticarse con Azure Container Registry.

  • Con una identidad administrada asignada por el usuario, se crea y administra la identidad fuera de Azure Container Apps. Se puede asignar a varios recursos de Azure, incluido Azure Container Apps.
  • Con una identidad administrada asignada por el sistema, Azure Container Apps crea y administra la identidad. Está vinculado a la aplicación contenedora y se elimina cuando se elimina la aplicación.
  • Cuando sea posible, debe usar una identidad administrada asignada por el usuario para extraer imágenes.

Container Apps comprueba si hay una nueva versión de la imagen cada vez que se inicia un contenedor. En la terminología de Docker o Kubernetes, Container Apps establece la directiva de extracción de imágenes de cada contenedor en always.

En este artículo se describe cómo usar Azure Portal para configurar la aplicación contenedora con el fin de usar identidades administradas asignadas por el usuario y asignadas por el sistema para extraer imágenes de repositorios privados de Azure Container Registry.

Identidad administrada asignada por el usuario

En los pasos siguientes se describe el proceso para configurar la aplicación contenedora con el fin de usar una identidad administrada asignada por el usuario para extraer imágenes de repositorios privados de Azure Container Registry.

  1. Cree una aplicación contenedora con una imagen pública.
  2. Agregue la identidad administrada asignada por el usuario a la aplicación contenedora.
  3. Cree una revisión de la aplicación de contenedor con una imagen privada y la identidad administrada asignada por el usuario.

Requisitos previos

  • Una cuenta de Azure con una suscripción activa.

  • Una instancia privada de Azure Container Registry que contiene una imagen que desea extraer.

  • Azure Container Registry debe permitir los tokens de audiencia de ARM para la autenticación con el fin de usar la identidad administrada a fin de extraer imágenes. Use el siguiente comando para comprobar si se permite que los tokens de ARM accedan a ACR:

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

    Si no se permiten tokens de ARM, puede permitirlos con el siguiente comando:

    az acr config authentication-as-arm update -r <REGISTRY> --status enabled
    
  • Cree una identidad administrada asignada por el usuario. Para más información, vaya a Creación de una identidad administrada asignada por el usuario.

Crear una aplicación de contenedor

Siga estos pasos para crear una aplicación contenedora con la imagen de inicio rápido predeterminada.

  1. Vaya a la página Principal del portal.

  2. Busque Aplicaciones de contenedor en la barra de búsqueda superior.

  3. Busque Aplicaciones de contenedor en los resultados de la búsqueda.

  4. Seleccione el botón Crear.

  5. En la pestaña Aspectos básicos, realice las acciones siguientes.

    Configuración Acción
    Suscripción Seleccione su suscripción a Azure.
    Grupo de recursos Seleccione un grupo de recursos existente o cree uno nuevo.
    Nombre de la aplicación de contenedor Escriba un nombre para la aplicación contenedora.
    Ubicación Seleccione una ubicación.
    Creación del entorno de la aplicación contenedora Cree un nuevo entorno o seleccione uno existente.
  6. Seleccione el botón Revisar y crear en la parte inferior de la página Crear entorno de aplicación de contenedor.

  7. Seleccione el botón Crear en la parte inferior de la página Crear aplicación contenedora.

Deje que transcurran unos minutos para que la implementación finalice. Una vez finalizada la implementación, seleccione Ir al recurso.

Incorporación de la identidad administrada asignada por el usuario

  1. Seleccione Identidad en el menú izquierdo.
  2. Seleccione la pestaña Usuario asignado.
  3. Seleccione el botón Agregar identidad administrada asignada por el usuario.
  4. Seleccione su suscripción.
  5. Seleccione la identidad que creó.
  6. Seleccione Agregar.

Creación de una revisión de la aplicación contenedora

Cree una revisión de la aplicación contenedora con una imagen privada y la identidad administrada asignada por el sistema.

  1. Seleccione Administración de revisiones en el menú izquierdo.

  2. Seleccione Crear nueva revisión.

  3. Seleccione la imagen contenedora en la tabla Imagen de contenedor.

  4. Escriba la información en el cuadro de diálogo Editar un contenedor.

    Campo Action
    Nombre Escriba un nombre para el contenedor.
    Fuente de la imagen Seleccione Azure Container Registry.
    Autenticación Seleccione Identidad administrada.
    Identidad Seleccione la identidad que creó en el menú desplegable.
    Registro Seleccione el registro que desea usar en el menú desplegable.
    Imagen Escriba el nombre de la imagen que desea usar.
    Etiqueta de imagen Escriba el nombre y la etiqueta de la imagen que desea extraer.

    Captura de pantalla del cuadro de diálogo Editar un contenedor que permite escribir la identidad administrada asignada por el usuario.

    Nota:

    Si las credenciales administrativas no están habilitadas en el registro de Azure Container Registry, aparecerá un mensaje de advertencia y tendrá que escribir manualmente el nombre de la imagen y la información de etiquetas.

  5. Seleccione Guardar.

  6. Seleccione Crear en la página Crear e implementar nueva revisión.

Se creará e implementará una nueva revisión. El portal intentará agregar automáticamente el rol acrpull a la identidad administrada asignada por el usuario. Si el rol no se agrega, puede agregarlo manualmente.

Para confirmar que el rol se agregó, compruebe la identidad en el panel Identidad de la página de la aplicación contenedora.

  1. Seleccione Identidad en el menú izquierdo.
  2. Seleccione la pestaña Usuario asignado.
  3. Seleccione la identidad administrada asignada por el usuario.
  4. Seleccione Asignaciones de roles de Azure en el menú de la página de recursos de identidad administrada.
  5. Compruebe que el rol acrpull está asignado a la identidad administrada asignada por el usuario.

Creación de una aplicación de contenedor con una imagen privada

Si no quiere empezar creando una aplicación de contenedor con una imagen pública, también puede hacer lo siguiente.

  1. Cree una identidad administrada asignada por el usuario.
  2. Agregue el rol acrpull a la identidad administrada asignada por el usuario.
  3. Cree una aplicación de contenedor con una imagen privada y la identidad administrada asignada por el usuario.

Este método es típico en escenarios de infraestructura como código (IaC).

Limpieza de recursos

Si no va a seguir usando esta aplicación, puede eliminar la instancia de Azure Container Apps y todos los servicios asociados quitando el grupo de recursos.

Advertencia

Al eliminar el grupo de recursos, se eliminarán todos los recursos del grupo. Si tiene otros recursos en el grupo, también se eliminarán. Si desea mantener los recursos, puede eliminar la instancia y el entorno de la aplicación contenedora.

  1. Seleccione el grupo de recursos en la sección Información general.
  2. Seleccione el botón Eliminar grupo de recursos en la parte superior de la página del grupo de recursos Información general.
  3. Escriba el nombre del grupo de recursos en el cuadro de diálogo de confirmación.
  4. Seleccione Eliminar. El proceso para eliminar el grupo de recursos puede tardar unos minutos en completarse.

Identidad administrada asignada por el sistema

El método para configurar una identidad administrada asignada por el sistema en Azure Portal es el mismo que el de la configuración de una identidad administrada asignada por el usuario. La única diferencia es que no es necesario crear una identidad administrada asignada por el usuario. En su lugar, la identidad administrada asignada por el sistema se crea al crear la aplicación contenedora.

El método para configurar una identidad administrada asignada por el sistema en Azure Portal es:

  1. Cree una aplicación contenedora con una imagen pública.
  2. Cree una revisión de la aplicación contenedora con una imagen privada y la identidad administrada asignada por el sistema.

Requisitos previos

Crear una aplicación de contenedor

Siga estos pasos para crear una aplicación contenedora con la imagen de inicio rápido predeterminada.

  1. Vaya a la página Principal del portal.

  2. Busque Aplicaciones de contenedor en la barra de búsqueda superior.

  3. Busque Aplicaciones de contenedor en los resultados de la búsqueda.

  4. Seleccione el botón Crear.

  5. En la pestaña Aspectos básicos, realice las acciones siguientes.

    Configuración Acción
    Suscripción Seleccione su suscripción a Azure.
    Grupo de recursos Seleccione un grupo de recursos existente o cree uno nuevo.
    Nombre de la aplicación de contenedor Escriba un nombre para la aplicación contenedora.
    Ubicación Seleccione una ubicación.
    Creación del entorno de la aplicación contenedora Cree un nuevo entorno o seleccione uno existente.
  6. Seleccione el botón Revisar y crear en la parte inferior de la página Crear entorno de aplicación de contenedor.

  7. Seleccione el botón Crear en la parte inferior de la página Crear entorno de aplicación de contenedor.

Deje que transcurran unos minutos para que la implementación finalice. Una vez finalizada la implementación, seleccione Ir al recurso.

Edición e implementación de una revisión

Edite el contenedor para usar la imagen de la instancia privada de Azure Container Registry y configure la autenticación para usar la identidad asignada por el sistema.

  1. Seleccione Contenedores en el menú lateral de la izquierda.

  2. Seleccione Editar e implementar.

  3. Seleccione el contenedor simple-hello-world-container en la lista.

    Configuración Acción
    Nombre Escriba el nombre de la aplicación contenedora.
    Fuente de la imagen Seleccione Azure Container Registry.
    Autenticación Seleccione Identidad administrada.
    Identidad Seleccione Asignado por el sistema.
    Registro Escriba el nombre del registro.
    Imagen Escriba el nombre de la imagen.
    Etiqueta de imagen Escriba la etiqueta.

    Captura de pantalla Editar un contenedor con la identidad administrada asignada por el sistema.

    Nota:

    Si las credenciales administrativas no están habilitadas en el registro de Azure Container Registry, aparecerá un mensaje de advertencia y tendrá que escribir manualmente el nombre de la imagen y la información de etiquetas.

  4. Seleccione Guardar en la parte inferior de la página.

  5. Seleccione Crear en la parte inferior de la página Crear e implementar una nueva revisión.

  6. Después de unos minutos, seleccione Actualizar en la página Administración de revisiones para ver la nueva revisión.

Se creará e implementará una nueva revisión. El portal intentará agregar automáticamente el rol acrpull a la identidad administrada asignada por el sistema. Si el rol no se agrega, puede agregarlo manualmente.

Para confirmar que el rol se agregó, compruebe la identidad en el panel Identidad de la página de la aplicación contenedora.

  1. Seleccione Identidad en el menú izquierdo.
  2. Vaya a la pestaña Asignado por el sistema.
  3. Seleccione Asignaciones de roles de Azure.
  4. Compruebe que el rol acrpull está asignado a la identidad administrada asignada por el sistema.

Limpieza de recursos

Si no va a seguir usando esta aplicación, puede eliminar la instancia de Azure Container Apps y todos los servicios asociados quitando el grupo de recursos.

Advertencia

Al eliminar el grupo de recursos, se eliminarán todos los recursos del grupo. Si tiene otros recursos en el grupo, también se eliminarán. Si desea mantener los recursos, puede eliminar la instancia y el entorno de la aplicación contenedora.

  1. Seleccione el grupo de recursos en la sección Información general.
  2. Seleccione el botón Eliminar grupo de recursos en la parte superior de la página del grupo de recursos Información general.
  3. Escriba el nombre del grupo de recursos en el cuadro de diálogo de confirmación.
  4. Seleccione Eliminar. El proceso para eliminar el grupo de recursos puede tardar unos minutos en completarse.

En este artículo se describe cómo configurar la aplicación contenedora para usar identidades administradas para extraer imágenes de un repositorio de Azure Container Registry privado mediante la CLI de Azure y Azure PowerShell.

Requisitos previos

Requisito previo Descripción
Cuenta de Azure Una cuenta de Azure con una suscripción activa. Si no tiene ninguna, puede crear una gratis.
CLI de Azure Si usa la CLI de Azure, instale la CLI de Azure en la máquina local.
Azure PowerShell Si usa PowerShell, instale Azure PowerShell en la máquina local. Asegúrese de que la versión más reciente del módulo Az.App esté instalada; para ello, ejecute el comando Install-Module -Name Az.App.
Azure Container Registry Una instancia privada de Azure Container Registry que contiene una imagen que desea extraer. Inicio rápido: Creación de un registro de contenedor privado mediante la CLI de Azure o Inicio rápido: Creación de un registro de contenedor privado mediante Azure PowerShell

Configurar

Para iniciar sesión en Azure desde la CLI, ejecute el siguiente comando y siga las indicaciones para completar el proceso de autenticación.

az login

Para asegurarse de que ejecuta la versión más reciente de la CLI, ejecute el comando de actualización.

az upgrade

Luego, instale o actualice la extensión de Azure Container Apps para la CLI.

Si recibe errores sobre los parámetros que faltan al ejecutar az containerapp comandos en la CLI de Azure o cmdlets del Az.App módulo en Azure PowerShell, asegúrese de que tiene instalada la versión más reciente de la extensión Azure Container Apps.

az extension add --name containerapp --upgrade

Nota:

A partir de mayo de 2024, las extensiones de la CLI de Azure ya no habilitan las características en versión preliminar de forma predeterminada. Para acceder a las características de la versión preliminar de Container Apps, instale la extensión Container Apps con --allow-preview true.

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

Ahora que la extensión o módulo actualizado está instalado, registre los espacios de nombre Microsoft.App y Microsoft.OperationalInsights.

Nota:

Los recursos de Azure Container Apps han migrado desde el espacio de nombres Microsoft.Web al espacio de nombres Microsoft.App. Consulte Migración del espacio de nombres de Microsoft.Web a Microsoft.App marzo de 2022 para obtener más detalles.

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

A continuación, establezca las siguientes variables de entorno. Reemplace los marcadores de posición rodeados por <> por sus valores.

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>"

Si ya tiene un grupo de recursos, omita este paso. De lo contrario, cree un grupo de recursos.

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

Crear un entorno de aplicación contenedora

Si el entorno no existe, ejecute el comando siguiente:

Para crear el entorno, ejecute el comando siguiente:

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

Continúe con la sección siguiente para configurar la identidad administrada asignada por el usuario o vaya a la sección Identidad administrada asignada por el sistema.

Identidad administrada asignada por el usuario

Siga este procedimiento para configurar la identidad administrada asignada por el usuario:

  1. Cree una identidad administrada asignada por el usuario.
  2. Si usa PowerShell, asigne un rol acrpull para el registro a la identidad administrada. La CLI de Azure realiza automáticamente esta asignación.
  3. Cree una aplicación contenedora con la imagen del registro privado que se autentique con la identidad administrada asignada por el usuario.

Crear una identidad administrada asignada por el usuario

Cree una identidad administrada asignada por el usuario. Antes de ejecutar el comando siguiente, reemplace el <PLACEHOLDERS> por el nombre de la identidad administrada.

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

Obtenga el identificador de recurso de la identidad.

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

Crear una aplicación de contenedor

Cree la aplicación contenedora con la imagen del registro privado autenticado con la identidad.

Copie el id. de recurso de la identidad para pegarlo en los marcadores de posición <IDENTITY_ID> en el comando siguiente. Si la etiqueta de imagen no es latest, reemplace "latest" por la etiqueta.

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"

Limpiar

Precaución

El comando siguiente elimina el grupo de recursos especificado y todos los recursos que contiene. Si los recursos que están fuera del ámbito de este inicio rápido existen en el grupo de recursos especificado, también se eliminarán.

az group delete --name $RESOURCE_GROUP

Identidad administrada asignada por el sistema

Para configurar una identidad asignada por el sistema, deberá:

  1. Cree una aplicación contenedora con una imagen pública.
  2. Asignar una identidad administrada asignada por el sistema a la aplicación contenedora.
  3. Actualizar la aplicación contenedora con la imagen privada.

Crear una aplicación de contenedor

Cree un contenedor con una imagen pública.

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

Actualización de la aplicación contenedora

Actualice la aplicación contenedora con la imagen del registro de contenedor privado y agregue una identidad asignada por el sistema para autenticar la extracción de Azure Container Registry. También puede incluir otras opciones de configuración necesarias para la aplicación contenedora, como la entrada, la escala y la configuración de Dapr.

Establezca el servidor del registro y active la identidad administrada asignada por el sistema en la aplicación contenedora.

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"

Limpiar

Precaución

El comando siguiente elimina el grupo de recursos especificado y todos los recursos que contiene. Si los recursos que están fuera del ámbito de este inicio rápido existen en el grupo de recursos especificado, también se eliminarán.

az group delete --name $RESOURCE_GROUP

En este artículo se describe cómo usar una plantilla de Bicep para configurar la aplicación contenedora para usar identidades administradas asignadas por el usuario para extraer imágenes de repositorios privados de Azure Container Registry.

Requisitos previos

Configurar

Para iniciar sesión en Azure desde la CLI, ejecute el siguiente comando y siga las indicaciones para completar el proceso de autenticación.

az login

Para asegurarse de que ejecuta la versión más reciente de la CLI, ejecute el comando de actualización.

az upgrade

Luego, instale o actualice la extensión de Azure Container Apps para la CLI.

Si recibe errores sobre los parámetros que faltan al ejecutar az containerapp comandos en la CLI de Azure o cmdlets del Az.App módulo en Azure PowerShell, asegúrese de que tiene instalada la versión más reciente de la extensión Azure Container Apps.

az extension add --name containerapp --upgrade

Nota:

A partir de mayo de 2024, las extensiones de la CLI de Azure ya no habilitan las características en versión preliminar de forma predeterminada. Para acceder a las características de la versión preliminar de Container Apps, instale la extensión Container Apps con --allow-preview true.

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

Ahora que la extensión o módulo actualizado está instalado, registre los espacios de nombre Microsoft.App y Microsoft.OperationalInsights.

Nota:

Los recursos de Azure Container Apps han migrado desde el espacio de nombres Microsoft.Web al espacio de nombres Microsoft.App. Consulte Migración del espacio de nombres de Microsoft.Web a Microsoft.App marzo de 2022 para obtener más detalles.

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

Instalación de Bicep

Si no tiene Bicep instalado, puede instalarlo de la manera siguiente.

az bicep install

Si tiene Bicep instalado, asegúrese de que tiene la versión más reciente.

az bicep upgrade

Para obtener más información, vea Instalación de Bicep.

Establecimiento de variables de entorno

A continuación, establezca las siguientes variables de entorno. Reemplace los marcadores de posición rodeados por <> por sus valores.

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"

El rol AcrPull concede permiso de identidad administrada asignada por el usuario para extraer la imagen del registro.

Plantilla de Bicep

Copie la siguiente plantilla de Bicep y guárdela como un archivo con la extensión .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

Implementación de la aplicación contenedora

Implemente la aplicación contenedora con el comando siguiente.

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"

Este comando implementa lo siguiente.

  • Grupo de recursos de Azure.
  • Un entorno de Container Apps.
  • Un área de trabajo de Log Analytics asociada al entorno de Container Apps.
  • Un recurso de Application Insights para el seguimiento distribuido.
  • Una identidad administrada asignada por el usuario.
  • Contenedor para almacenar la imagen.
  • Una aplicación contenedora basada en la imagen.

Si recibe el error Failed to parse '<YOUR_BICEP_FILE_NAME>', please check whether it is a valid JSON format, asegúrese de que el archivo de plantilla de Bicep tenga la extensión .bicep.

Recursos adicionales

Para obtener más información, vea lo siguiente.

Pasos siguientes