Extração de imagem das Azure Container Apps com identidade gerida
Você pode extrair imagens de repositórios privados no Registro de Contêiner do Microsoft Azure usando identidades gerenciadas para autenticação para evitar o uso de credenciais administrativas.
Você pode usar uma identidade gerenciada atribuída pelo usuário ou pelo sistema para autenticar com o Registro de Contêiner do Azure.
- Com uma identidade gerenciada atribuída pelo usuário, você cria e gerencia a identidade fora dos Aplicativos de Contêiner do Azure. Ele pode ser atribuído a vários recursos do Azure, incluindo Aplicativos de Contêiner do Azure.
- Com uma identidade gerenciada atribuída ao sistema, a identidade é criada e gerenciada pelos Aplicativos de Contêiner do Azure. Ele está vinculado ao seu aplicativo de contêiner e é excluído quando seu aplicativo é excluído.
- Sempre que possível, você deve usar uma identidade gerenciada atribuída pelo usuário para extrair imagens.
O Container Apps verifica se há uma nova versão da imagem sempre que um contêiner é iniciado. Na terminologia do Docker ou do Kubernetes, o Container Apps define a política de pull de imagem de cada contêiner como always
.
Este artigo descreve como usar o portal do Azure para configurar seu aplicativo de contêiner para usar identidades gerenciadas atribuídas pelo usuário e pelo sistema para extrair imagens de repositórios privados do Registro de Contêiner do Azure.
Identidade gerida atribuída pelo utilizador
As etapas a seguir descrevem o processo para configurar seu aplicativo de contêiner para usar uma identidade gerenciada atribuída pelo usuário para extrair imagens de repositórios privados do Registro de Contêiner do Azure.
- Crie um aplicativo de contêiner com uma imagem pública.
- Adicione a identidade gerenciada atribuída pelo usuário ao aplicativo de contêiner.
- Crie uma revisão de aplicativo de contêiner com uma imagem privada e a identidade gerenciada atribuída pelo usuário.
Pré-requisitos
Uma conta do Azure com uma subscrição ativa.
- Se não tiver uma, pode criar uma gratuitamente.
Um Registro de Contêiner do Azure privado contendo uma imagem que você deseja extrair.
Seu Registro de Contêiner do Azure deve permitir tokens de audiência ARM para autenticação para usar a identidade gerenciada para extrair imagens. Use o seguinte comando para verificar se os tokens ARM têm permissão para acessar seu ACR:
az acr config authentication-as-arm show -r <REGISTRY>
Se os tokens ARM não forem permitidos, você poderá permiti-los com o seguinte comando:
az acr config authentication-as-arm update -r <REGISTRY> --status enabled
Crie uma identidade gerida atribuída pelo utilizador. Para obter mais informações, consulte Criar uma identidade gerenciada atribuída pelo usuário.
Criar um aplicativo de contêiner
Use as etapas a seguir para criar um aplicativo de contêiner com a imagem de início rápido padrão.
Navegue até a página inicial do portal.
Pesquise por Aplicativos de contêiner na barra de pesquisa superior.
Selecione Aplicativos de contêiner nos resultados da pesquisa.
Selecione o botão Criar.
Na guia Noções básicas, execute as seguintes ações.
Definição Ação Subscrição Selecione a subscrição do Azure. Grupo de recursos Selecione um grupo de recursos existente ou crie um novo. Nome do aplicativo de contêiner Insira um nome de aplicativo de contêiner. Location Selecione uma localização. Criar ambiente de aplicativo de contêiner Crie um ambiente novo ou selecione um existente. Selecione o botão Rever + Criar na parte inferior da página Criar Aplicativo de Contêiner.
Selecione o botão Criar na parte inferior da janela Criar aplicativo de contêiner.
Aguarde alguns minutos para que a implantação do aplicativo de contêiner seja concluída. Quando a implantação estiver concluída, selecione Ir para recurso.
Adicionar a identidade gerenciada atribuída pelo usuário
- Selecione Identidade no menu à esquerda.
- Selecione a guia Usuário atribuído .
- Selecione o botão Adicionar identidade gerenciada atribuída ao usuário.
- Selecione a sua subscrição.
- Selecione a identidade que criou.
- Selecione Adicionar.
Criar uma revisão de aplicativo de contêiner
Crie uma revisão de aplicativo de contêiner com uma imagem privada e a identidade gerenciada atribuída ao sistema.
Selecione Gerenciamento de revisões no menu à esquerda.
Selecione Criar nova revisão.
Selecione a imagem do contêiner na tabela Imagem do contêiner .
Insira as informações na caixa de diálogo Editar um contêiner .
Campo Ação Nome Insira um nome para o contêiner. Fonte da imagem Selecione Azure Container Registry. Autenticação Selecione Identidade gerenciada. Identidade Selecione a identidade que você criou no menu suspenso. Registo Selecione o registro que deseja usar no menu suspenso. Image Introduza o nome da imagem que pretende utilizar. Tag de imagem Introduza o nome e a etiqueta da imagem que pretende extrair. Nota
Se as credenciais administrativas não estiverem habilitadas no registro do Registro de Contêiner do Azure, você verá uma mensagem de aviso exibida e precisará inserir o nome da imagem e as informações da marca manualmente.
Selecione Guardar.
Selecione Criar na página Criar e implantar nova revisão .
Uma nova revisão será criada e implantada. O portal tentará adicionar automaticamente a acrpull
função à identidade gerenciada atribuída pelo usuário. Se a função não for adicionada, você poderá adicioná-la manualmente.
Você pode verificar se a função foi adicionada verificando a identidade no painel Identidade da página do aplicativo contêiner.
- Selecione Identidade no menu à esquerda.
- Selecione a guia Usuário atribuído .
- Selecione a identidade gerenciada atribuída pelo usuário.
- Selecione Atribuições de função do Azure no menu na página de recursos de identidade gerenciada.
- Verifique se a
acrpull
função está atribuída à identidade gerenciada atribuída pelo usuário.
Criar um aplicativo de contêiner com uma imagem privada
Se você não quiser começar criando um aplicativo de contêiner com uma imagem pública, também pode fazer o seguinte.
- Crie uma identidade gerida atribuída pelo utilizador.
- Adicione a
acrpull
função à identidade gerenciada atribuída pelo usuário. - Crie um aplicativo de contêiner com uma imagem privada e a identidade gerenciada atribuída pelo usuário.
Esse método é típico em cenários de infraestrutura como código (IaC).
Clean up resources (Limpar recursos)
Se não pretender continuar a utilizar esta aplicação, pode eliminar a instância das Aplicações de Contentor do Azure e todos os serviços associados removendo o grupo de recursos.
Aviso
A exclusão do grupo de recursos excluirá todos os recursos do grupo. Se você tiver outros recursos no grupo, eles também serão excluídos. Se quiser manter os recursos, você pode excluir a instância do aplicativo contêiner e o ambiente do aplicativo contêiner.
- Selecione seu grupo de recursos na seção Visão geral .
- Selecione o botão Excluir grupo de recursos na parte superior da visão geral do grupo de recursos.
- Insira o nome do grupo de recursos na caixa de diálogo de confirmação.
- Selecione Eliminar. O processo para excluir o grupo de recursos pode levar alguns minutos para ser concluído.
Identidade gerida atribuída pelo sistema
O método para configurar uma identidade gerenciada atribuída pelo sistema no portal do Azure é o mesmo que configurar uma identidade gerenciada atribuída pelo usuário. A única diferença é que você não precisa criar uma identidade gerenciada atribuída pelo usuário. Em vez disso, a identidade gerenciada atribuída ao sistema é criada quando você cria o aplicativo de contêiner.
O método para configurar uma identidade gerenciada atribuída ao sistema no portal do Azure é:
- Crie um aplicativo de contêiner com uma imagem pública.
- Crie uma revisão de aplicativo de contêiner com uma imagem privada e a identidade gerenciada atribuída ao sistema.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa.
- Se não tiver uma, pode criar uma gratuitamente.
- Um Registro de Contêiner do Azure privado contendo uma imagem que você deseja extrair. Consulte Criar um Registro de Contêiner do Azure privado.
Criar um aplicativo de contêiner
Siga estas etapas para criar um aplicativo de contêiner com a imagem de início rápido padrão.
Navegue até a página inicial do portal.
Pesquise por Aplicativos de contêiner na barra de pesquisa superior.
Selecione Aplicativos de contêiner nos resultados da pesquisa.
Selecione o botão Criar.
Na guia Noções básicas, execute as seguintes ações.
Definição Ação Subscrição Selecione a subscrição do Azure. Grupo de recursos Selecione um grupo de recursos existente ou crie um novo. Nome do aplicativo de contêiner Insira um nome de aplicativo de contêiner. Origem da implantação Deixe isso definido como Imagem de contêiner. Região Selecione uma região. Ambiente de aplicativos de contêiner Selecione um ambiente existente ou selecione Criar novo. Para obter mais informações, consulte Ambientes de Aplicativos de Contêiner do Azure Selecione Avançar : Contêiner >.
Na guia Contêiner, habilite Usar imagem de início rápido. Deixe a imagem de início rápido definida como Contêiner simples hello world.
Selecione o botão Rever + Criar na parte inferior da página Criar Aplicativo de Contêiner.
Selecione o botão Criar na parte inferior da página Criar aplicativo de contêiner.
Aguarde alguns minutos para que a implantação do aplicativo de contêiner seja concluída. Quando a implantação estiver concluída, selecione Ir para recurso.
Editar e implantar uma revisão
Edite o contêiner para usar a imagem do seu Registro de Contêiner privado do Azure e configure a autenticação para usar a identidade atribuída pelo sistema.
Em Aplicativo, selecione Contêineres.
Na página Contêineres, selecione Editar e implantar.
Selecione o contêiner simple-hello-world-container na lista.
Na página Editar um contêiner , execute as seguintes ações.
Definição Ação Nome Insira o nome do aplicativo de contêiner. Fonte da imagem Selecione Azure Container Registry. Subscrição Selecione a subscrição do Azure. Registo Selecione seu registro de contêiner. Image Insira o nome da imagem. Tag de imagem Insira a tag da imagem. Tipo de autenticação Selecione Identidade gerida. Identidade gerida Selecione Sistema atribuído. Selecione Salvar na parte inferior da página.
Selecione Criar na parte inferior da página Criar e implantar nova revisão
Após alguns minutos, selecione Atualizar na página Gerenciamento de revisão para ver a nova revisão.
Uma nova revisão será criada e implantada. O portal tentará adicionar automaticamente a acrpull
função à identidade gerenciada atribuída ao sistema. Se a função não for adicionada, você poderá adicioná-la manualmente.
Você pode verificar se a função foi adicionada verificando a identidade no painel Identidade da página do aplicativo de contêiner.
- Selecione Identidade no menu à esquerda.
- Selecione o separador Sistema atribuído .
- Selecione Atribuições de função do Azure.
- Verifique se a
acrpull
função está atribuída à identidade gerenciada atribuída ao sistema.
Clean up resources (Limpar recursos)
Se não pretender continuar a utilizar esta aplicação, pode eliminar a instância das Aplicações de Contentor do Azure e todos os serviços associados removendo o grupo de recursos.
Aviso
A exclusão do grupo de recursos excluirá todos os recursos do grupo. Se você tiver outros recursos no grupo, eles também serão excluídos. Se quiser manter os recursos, você pode excluir a instância do aplicativo contêiner e o ambiente do aplicativo contêiner.
- Selecione seu grupo de recursos na seção Visão geral .
- Selecione o botão Excluir grupo de recursos na parte superior da visão geral do grupo de recursos.
- Insira o nome do grupo de recursos na caixa de diálogo de confirmação.
- Selecione Eliminar. O processo para excluir o grupo de recursos pode levar alguns minutos para ser concluído.
Este artigo descreve como configurar seu aplicativo de contêiner para usar identidades gerenciadas para extrair imagens de um repositório privado do Registro de Contêiner do Azure usando a CLI do Azure e o Azure PowerShell.
Pré-requisitos
Pré-requisito | Description |
---|---|
Conta do Azure | Uma conta do Azure com uma subscrição ativa. Se não tiver uma, pode criar uma gratuitamente. |
CLI do Azure | Se estiver usando a CLI do Azure, instale a CLI do Azure em sua máquina local. |
Azure PowerShell | Se estiver usando o PowerShell, instale o Azure PowerShell em sua máquina local. Certifique-se de que a versão mais recente do módulo Az.App está instalada executando o comando Install-Module -Name Az.App . |
Registo de Contentores do Azure | Um Registro de Contêiner do Azure privado contendo uma imagem que você deseja extrair. Guia de início rápido: criar um registro de contêiner privado usando a CLI do Azure ou Guia de início rápido: criar um registro de contêiner privado usando o Azure PowerShell |
Configurar
Para entrar no Azure a partir da CLI, execute o seguinte comando e siga os prompts para concluir o processo de autenticação.
az login
Para garantir que você esteja executando a versão mais recente da CLI, execute o comando upgrade.
az upgrade
Em seguida, instale ou atualize a extensão Aplicativos de Contêiner do Azure para a CLI.
Se você receber erros sobre parâmetros ausentes ao executar az containerapp
comandos na CLI do Azure ou cmdlets do Az.App
módulo no Azure PowerShell, certifique-se de ter a versão mais recente da extensão Aplicativos de Contêiner do Azure instalada.
az extension add --name containerapp --upgrade
Nota
A partir de maio de 2024, as extensões da CLI do Azure não habilitam mais recursos de visualização por padrão. Para acessar os recursos de visualização do Container Apps, instale a extensão Container Apps com --allow-preview true
o .
az extension add --name containerapp --upgrade --allow-preview true
Agora que a extensão ou módulo atual está instalado, registre os Microsoft.App
namespaces e Microsoft.OperationalInsights
.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Em seguida, defina as seguintes variáveis de ambiente. Substitua os espaços reservados cercados por <>
seus 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>"
Se já tiver um grupo de recursos, ignore este passo. Caso contrário, crie um grupo de recursos.
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION
Criar um ambiente de aplicativo de contêiner
Se o ambiente não existir, execute o seguinte comando:
Para criar o ambiente, execute o seguinte comando:
az containerapp env create \
--name $CONTAINERAPPS_ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location $LOCATION
Continue para a próxima seção para configurar a identidade gerenciada atribuída pelo usuário ou pule para a seção Identidade gerenciada atribuída pelo sistema.
Identidade gerida atribuída pelo utilizador
Siga este procedimento para configurar a identidade gerenciada atribuída pelo usuário:
- Crie uma identidade gerida atribuída pelo utilizador.
- Se você estiver usando o PowerShell, atribua uma
acrpull
função para seu registro à identidade gerenciada. A CLI do Azure faz essa atribuição automaticamente. - Crie um aplicativo de contêiner com a imagem do registro privado autenticada com a identidade gerenciada atribuída pelo usuário.
Criar uma identidade gerida atribuída pelo utilizador
Crie uma identidade gerida atribuída pelo utilizador. Antes de executar o comando a seguir, substitua os <espaços reservados> pelo nome da sua identidade gerenciada.
IDENTITY="<YOUR_IDENTITY_NAME>"
az identity create \
--name $IDENTITY \
--resource-group $RESOURCE_GROUP
Obtenha o ID de recurso da identidade.
IDENTITY_ID=$(az identity show \
--name $IDENTITY \
--resource-group $RESOURCE_GROUP \
--query id \
--output tsv)
Criar um aplicativo de contêiner
Crie seu aplicativo de contêiner com sua imagem do registro privado autenticado com a identidade.
Copie o ID de recurso da identidade para colar nos <espaços reservados IDENTITY_ID> no comando abaixo. Se a etiqueta da imagem não latest
for , substitua "mais recente" pela 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"
Limpeza
Atenção
O comando a seguir exclui o grupo de recursos especificado e todos os recursos contidos nele. Se existirem recursos fora do escopo deste início rápido no grupo de recursos especificado, eles também serão excluídos.
az group delete --name $RESOURCE_GROUP
Identidade gerida atribuída pelo sistema
Para configurar uma identidade atribuída ao sistema, você precisará:
- Crie um aplicativo de contêiner com uma imagem pública.
- Atribua uma identidade gerenciada atribuída pelo sistema ao aplicativo de contêiner.
- Atualize o aplicativo contêiner com a imagem privada.
Criar um aplicativo de contêiner
Crie um contêiner com uma imagem 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
Atualizar o aplicativo de contêiner
Atualize o aplicativo de contêiner com a imagem do seu registro de contêiner privado e adicione uma identidade atribuída pelo sistema para autenticar o recebimento do Registro de Contêiner do Azure. Você também pode incluir outras configurações necessárias para seu aplicativo de contêiner, como configurações de entrada, escala e Dapr.
Defina o servidor de registro e ative a identidade gerenciada atribuída pelo sistema no aplicativo de contêiner.
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"
Limpeza
Atenção
O comando a seguir exclui o grupo de recursos especificado e todos os recursos contidos nele. Se existirem recursos fora do escopo deste início rápido no grupo de recursos especificado, eles também serão excluídos.
az group delete --name $RESOURCE_GROUP
Este artigo descreve como usar um modelo Bicep para configurar seu aplicativo de contêiner para usar identidades gerenciadas atribuídas pelo usuário para extrair imagens de repositórios privados do Registro de Contêiner do Azure.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa.
- Se não tiver uma, pode criar uma gratuitamente.
- Se estiver usando a CLI do Azure, instale a CLI do Azure em sua máquina local.
- Se estiver usando o PowerShell, instale o Azure PowerShell em sua máquina local. Certifique-se de que a versão mais recente do módulo Az.App está instalada executando o comando
Install-Module -Name Az.App
. - Um Registro de Contêiner do Azure privado contendo uma imagem que você deseja extrair. Para criar um registro de contêiner e enviar uma imagem por push para ele, consulte Guia de início rápido: criar um registro de contêiner privado usando a CLI do Azure ou Guia de início rápido: criar um registro de contêiner privado usando o Azure PowerShell
Configurar
Para entrar no Azure a partir da CLI, execute o seguinte comando e siga os prompts para concluir o processo de autenticação.
az login
Para garantir que você esteja executando a versão mais recente da CLI, execute o comando upgrade.
az upgrade
Em seguida, instale ou atualize a extensão Aplicativos de Contêiner do Azure para a CLI.
Se você receber erros sobre parâmetros ausentes ao executar az containerapp
comandos na CLI do Azure ou cmdlets do Az.App
módulo no Azure PowerShell, certifique-se de ter a versão mais recente da extensão Aplicativos de Contêiner do Azure instalada.
az extension add --name containerapp --upgrade
Nota
A partir de maio de 2024, as extensões da CLI do Azure não habilitam mais recursos de visualização por padrão. Para acessar os recursos de visualização do Container Apps, instale a extensão Container Apps com --allow-preview true
o .
az extension add --name containerapp --upgrade --allow-preview true
Agora que a extensão ou módulo atual está instalado, registre os Microsoft.App
namespaces e Microsoft.OperationalInsights
.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Instalar o Bicep
Se não tiver o Bicep instalado, pode instalá-lo da seguinte forma.
az bicep install
Se tiver o Bicep instalado, certifique-se de que tem a versão mais recente.
az bicep upgrade
Para obter mais informações, consulte Instalando o Bicep.
Definir variáveis de ambiente
Em seguida, defina as seguintes variáveis de ambiente. Substitua espaços reservados cercados por <>
seus 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"
A AcrPull
função concede permissão de identidade gerenciada atribuída pelo usuário para extrair a imagem do Registro.
Modelo de bíceps
Copie o seguinte modelo Bicep e salve-o como um arquivo com a extensão .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
Implementar a aplicação de contentor
Implante seu aplicativo de contêiner com o seguinte comando.
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 implanta o seguinte.
- Um grupo de recursos do Azure.
- Um ambiente de aplicativos de contêiner.
- Um espaço de trabalho do Log Analytics associado ao ambiente Container Apps.
- Um recurso do Application Insights para rastreamento distribuído.
- Uma identidade gerenciada atribuída pelo usuário.
- Um contêiner para armazenar a imagem.
- Um aplicativo de contêiner baseado na imagem.
Se você receber o erro Failed to parse '<YOUR_BICEP_FILE_NAME>', please check whether it is a valid JSON format
, certifique-se de que seu arquivo de modelo Bicep tem a extensão .bicep
.
Recursos adicionais
Para obter mais informações, consulte o seguinte.