Início Rápido: Implantar uma imagem de contêiner existente com a linha de comando

O serviço de Aplicativos de Contêiner do Azure permite que você execute microsserviços e aplicativos conteinerizados em uma plataforma sem servidor. Com os Aplicativos de Contêiner, você aproveita os benefícios da execução de contêineres, deixando para trás as preocupações de configurar manualmente a infraestrutura de nuvem e os orquestradores de contêineres complexos.

Este artigo demonstra como implantar um contêiner existente nos Aplicativos de Contêiner do Azure.

Observação

Há suporte para a autorização de registro privado por meio de nome de usuário e senha do Registro.

Pré-requisitos

Instalação

Para entrar no Azure usando a CLIl, execute o comando a seguir 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 dos Aplicativos de Contêiner do Azure para a CLI.

Se você receber erros sobre parâmetros ausentes ao executar comandos az containerapp na CLI do Azure ou cmdlets do módulo Az.App no Azure PowerShell, verifique se está com a versão mais recente da extensão Aplicativos de Contêiner do Azure instalada.

az extension add --name containerapp --upgrade

Observação

A partir de maio de 2024, as extensões da CLI do Azure já não permitem funcionalidades de versão prévia do recurso por padrão. Para acessar as versões prévias dos recursos dos Aplicativos de Contêiner, instale a extensão Aplicativos de Contêiner com --allow-preview true.

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

Agora que a extensão ou módulo atual está instalado, registre os namespaces Microsoft.App e Microsoft.OperationalInsights.

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

Definir variáveis de ambiente

Defina as variáveis de ambiente a seguir. Substitua os <espaços reservados> pelos seus valores:

RESOURCE_GROUP="<RESOURCE_GROUP>"
LOCATION="<LOCATION>"
CONTAINERAPPS_ENVIRONMENT="<CONTAINERAPPS_ENVIRONMENT>"

Criar um grupo de recursos do Azure

Crie um grupo de recursos para organizar os serviços relacionados à implantação do aplicativo de contêiner.

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

Criar um ambiente

Um ambiente em aplicativos de contêiner do Azure cria um limite seguro em um grupo de aplicativos de contêiner. Os Aplicativos de Contêiner implantados no mesmo ambiente são implantados na mesma rede virtual e registram logs no mesmo espaço de trabalho do Log Analytics.

Para criar o ambiente, execute o seguinte comando:

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

Criar um aplicativo de contêiner

Agora que tem um ambiente criado, você pode implantar seu primeiro aplicativo de contêiner. Com o comando containerapp create, implante uma imagem de contêiner nos Aplicativos de Contêiner do Azure.

O exemplo mostrado neste artigo demonstra como usar uma imagem de contêiner personalizada com comandos comuns. Sua imagem de contêiner pode precisar de mais parâmetros para os seguintes itens:

  • Configurar o modo de revisão
  • Definir segredos
  • Definir variáveis de ambiente
  • Definir os requisitos de CPU ou de memória do contêiner
  • Habilitar e configurar o Dapr
  • Habilitar entrada externa ou interna
  • Fornecer valores mínimos e máximos de réplica ou regras de escala

Para obter detalhes de como fornecer valores para qualquer um desses parâmetros no comando create, execute az containerapp create --help ou acesse a referência online. A fim de gerar credenciais para um Registro de Contêiner do Azure, use az acr credential show.

CONTAINER_IMAGE_NAME=<CONTAINER_IMAGE_NAME>
REGISTRY_SERVER=<REGISTRY_SERVER>
REGISTRY_USERNAME=<REGISTRY_USERNAME>
REGISTRY_PASSWORD=<REGISTRY_PASSWORD>

(Substitua os <espaços reservados> pelos seus valores.)

az containerapp create \
  --name my-container-app \
  --resource-group $RESOURCE_GROUP \
  --image $CONTAINER_IMAGE_NAME \
  --environment $CONTAINERAPPS_ENVIRONMENT \
  --registry-server $REGISTRY_SERVER \
  --registry-username $REGISTRY_USERNAME \
  --registry-password $REGISTRY_PASSWORD
az containerapp create \
  --image <REGISTRY_CONTAINER_NAME> \
  --name my-container-app \
  --resource-group $RESOURCE_GROUP \
  --environment $CONTAINERAPPS_ENVIRONMENT

If you have enabled ingress on your container app, you can add `--query properties.configuration.ingress.fqdn` to the `create` command to return the public URL for the application.

Antes de executar esse comando, substitua <REGISTRY_CONTAINER_NAME> pelo nome completo do local do registro de contêiner público, incluindo o caminho do registro e a marcação. Por exemplo, um nome de contêiner válido é mcr.microsoft.com/k8se/quickstart:latest.

Verificar a implantação

Para verificar uma implantação bem-sucedida, você pode consultar o espaço de trabalho do Log Analytics. Talvez você precise aguardar alguns minutos após a implantação para que a análise chegue pela primeira vez antes de consultar os logs. Isso depende do log do console implementado no seu aplicativo de contêiner.

Use os comandos a seguir para exibir mensagens de log do console.

LOG_ANALYTICS_WORKSPACE_CLIENT_ID=`az containerapp env show --name $CONTAINERAPPS_ENVIRONMENT --resource-group $RESOURCE_GROUP --query properties.appLogsConfiguration.logAnalyticsConfiguration.customerId --out tsv`

az monitor log-analytics query \
  --workspace $LOG_ANALYTICS_WORKSPACE_CLIENT_ID \
  --analytics-query "ContainerAppConsoleLogs_CL | where ContainerAppName_s == 'my-container-app' | project ContainerAppName_s, Log_s, TimeGenerated" \
  --out table

Limpar os recursos

Caso não pretenda continuar usando este aplicativo, execute o comando a seguir para excluir o grupo de recursos junto com todos os recursos criados neste guia de início rápido.

Cuidado

O comando a seguir exclui o grupo de recursos especificado e todos os recursos contidos nele. Se existirem recursos fora do escopo deste guia de início rápido no grupo de recursos especificado, eles também serão excluídos.

az group delete --name $RESOURCE_GROUP

Dica

Está enfrentando problemas? Deixe-nos saber sobre GitHub abrindo um problema no repositório dos Aplicativos de Contêiner do Azure.

Próximas etapas