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
- Uma conta do Azure com uma assinatura ativa.
- Se não tiver uma, poderá criar uma gratuitamente.
- Instale a CLI do Azure.
- Acesso a um registro de contêiner público ou privado, como o Registro de Contêiner do Azure.
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.