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 o <PLACEHOLDERS>
por 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.
Defina as variáveis de ambiente.
Substitua os valores de
<PLACEHOLDERS>
pelos seus valores. Seu nome principal de usuário normalmente estará no formato de um endereço de email (por exemplo,username@domain.com
).CONTAINER_APP_NAME=my-container-app KEY_VAULT_NAME=my-key-vault USER_PRINCIPAL_NAME=<USER_PRINCIPAL_NAME> SECRET_NAME=my-secret-name CONTAINER_IMAGE_NAME=<CONTAINER_IMAGE_NAME> REGISTRY_SERVER=<REGISTRY_SERVER> REGISTRY_USERNAME=<REGISTRY_USERNAME>
Crie o cofre de chaves.
Armazenar a senha do registro de contêiner usando um serviço como o Azure Key Vault mantém os valores seguros o tempo todo. As etapas nesta seção mostram como criar um cofre de chaves, armazenar a senha do registro de contêiner no Key Vault e recuperar a senha para uso em seu código.
az keyvault create --name $KEY_VAULT_NAME --resource-group $RESOURCE_GROUP
Conceda permissões à sua conta de usuário para gerenciar segredos no cofre de chaves.
KEY_VAULT_ID=$(az keyvault show --name $KEY_VAULT_NAME --query id --output tsv) az role assignment create --role "Key Vault Secrets Officer" --assignee "$USER_PRINCIPAL_NAME" --scope "$KEY_VAULT_ID"
Armazene sua senha do registro de contêiner no cofre de chaves.
Substitua
<REGISTRY_PASSWORD>
pelo seu valor.az keyvault secret set --vault-name $KEY_VAULT_NAME --name $SECRET_NAME --value "<REGISTRY_PASSWORD>"
Recupere a senha do registro de contêiner do cofre de chaves.
REGISTRY_PASSWORD=$(az keyvault secret show --name $SECRET_NAME --vault-name $KEY_VAULT_NAME --query value --output tsv)
Implante uma imagem de contêiner nos Aplicativos de Contêiner do Azure.
az containerapp create \ --name $CONTAINER_APP_NAME \ --location $LOCATION \ --resource-group $RESOURCE_GROUP \ --image $CONTAINER_IMAGE_NAME \ --environment $CONTAINERAPPS_ENVIRONMENT \ --registry-server $REGISTRY_SERVER \ --registry-username $REGISTRY_USERNAME \ --registry-password $REGISTRY_PASSWORD
Se você tiver habilitado a entrada em seu aplicativo de contêiner, poderá adicionar
--query properties.configuration.ingress.fqdn
ao comandocreate
para retornar à URL pública do aplicativo.
Defina as variáveis de ambiente.
CONTAINER_APP_NAME=my-container-app CONTAINER_IMAGE_NAME=mcr.microsoft.com/k8se/quickstart:latest
Implante uma imagem de contêiner nos Aplicativos de Contêiner do Azure.
az containerapp create \ --image $CONTAINER_IMAGE_NAME \ --name $CONTAINER_APP_NAME \ --resource-group $RESOURCE_GROUP \ --environment $CONTAINERAPPS_ENVIRONMENT
Se você tiver habilitado a entrada em seu aplicativo de contêiner, poderá adicionar
--query properties.configuration.ingress.fqdn
ao comandocreate
para retornar à URL pública do aplicativo.
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 == $CONTAINER_APP_NAME | 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.