Partilhar via


Guia de início rápido: implantar uma imagem de contentor existente através da linha de comando

O serviço Aplicativos de Contêiner do Azure permite executar microsserviços e aplicativos em contêineres em uma plataforma sem servidor. Com os Container Apps, você aproveita os benefícios de executar contêineres enquanto deixa para trás as preocupações da configuração manual da infraestrutura de nuvem e dos orquestradores de contêineres complexos.

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

Nota

A autorização de registo privado é suportada através do nome de utilizador e palavra-passe do registo.

Pré-requisitos

  • Uma conta do Azure com uma subscrição ativa.
  • Instale a CLI do Azure.
  • Acesso a um registo de contentores público ou privado, como o Azure Container Registry.

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 receber erros sobre parâmetros em falta ao executar az containerapp comandos na Azure CLI ou cmdlets no módulo Az.App no PowerShell, certifique-se de ter a versão mais recente da extensão Azure Container Apps 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 aceder às funcionalidades de pré-visualização do Container Apps, instale a extensão Container Apps 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 Microsoft.App namespaces e Microsoft.OperationalInsights .

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

Definir variáveis de ambiente

Defina as seguintes variáveis de ambiente. Substitua o <PLACEHOLDERS> 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 seu 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 torno de um grupo de aplicativos de contêiner. Os aplicativos de contêiner implantados no mesmo ambiente são implantados na mesma rede virtual e gravam 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 você tem um ambiente criado, você pode implantar seu primeiro aplicativo de contêiner.

  1. Defina as variáveis de ambiente.

    Substitua o <PLACEHOLDERS> pelos seus valores. Seu nome principal de usuário normalmente estará no formato de um endereço de e-mail (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>
    
  2. Crie o cofre de chaves.

    Armazenar sua senha de registro de contêiner usando um serviço como o Azure Key Vault mantém os valores seguros em todos os momentos. As etapas nesta seção mostram como criar um cofre de chaves, armazenar sua senha de registro de contêiner o Cofre de Chaves e, em seguida, recuperar a senha para uso em seu código.

     az keyvault create --name $KEY_VAULT_NAME --resource-group $RESOURCE_GROUP
    
  3. Conceda à sua conta de utilizador permissões para gerir 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"
    
  4. Armazene sua senha de 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>"
    
  5. Recupere sua senha de 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)
    
  6. 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 tiver habilitado o ingresso no seu aplicativo de contêiner, pode adicionar --query properties.configuration.ingress.fqdn ao comando create para retornar a URL pública do aplicativo.

  1. Defina as variáveis de ambiente.

     CONTAINER_APP_NAME=my-container-app
     CONTAINER_IMAGE_NAME=mcr.microsoft.com/k8se/quickstart:latest
    
  2. 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 tiver habilitado o ingresso no seu aplicativo de contêiner, pode adicionar --query properties.configuration.ingress.fqdn ao comando create para retornar a URL pública do aplicativo.


Verificar a implementação

Para verificar uma implantação bem-sucedida, você pode consultar o espaço de trabalho do Log Analytics. Talvez seja necessário aguardar alguns minutos após a implantação para que a análise chegue pela primeira vez antes de poder consultar os logs. Isso depende do registo no 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 recursos

Se você não vai continuar a usar este aplicativo, execute o seguinte comando para excluir o grupo de recursos junto com todos os recursos criados neste início rápido.

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

Gorjeta

Tem problemas? Informe-nos no GitHub abrindo um problema no repositório de Aplicativos de Contêiner do Azure.

Próximos passos