Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aspire os projetos são projetados para serem executados em ambientes em contêineres.
Azure Container Apps é um ambiente totalmente gerenciado que permite executar microsserviços e aplicativos em contêineres em uma plataforma sem servidor. Este artigo orientará você na criação de uma nova Aspire solução e na implantação dela na Microsoft Azure Container Apps usando o Azure Developer CLI (azd). Você aprenderá a concluir as seguintes tarefas:
- Provisionar um Azure grupo de recursos e um Registro de Contêiner
- Publicar os Aspire projetos como imagens de contêiner no Azure Registro de Contêiner
- Provisionar um Redis contêiner em Azure
- Implantar os aplicativos em um Azure Container Apps ambiente
- Exibir logs do console de aplicativos para solucionar problemas de aplicativo
Pré-requisitos
Para trabalhar com Aspire, você precisa do seguinte instalado localmente:
-
.NET 8.0 ou .NET 9.0.
- Aspire A partir da versão 9.4, .NET há suporte para 10 Versão Prévia 5 ou posterior.
- Um runtime de contêiner compatível com OCI, como:
- Docker Desktop ou Podman. Para obter mais informações, consulte Tempo de execução do contêiner.
- Um IDE (Ambiente de Desenvolvedor Integrado) ou um editor de código, como:
- Visual Studio 2022 versão 17.9 ou superior (opcional)
-
Visual Studio Code (opcional)
- C# Dev Kit: Extensão (opcional)
- JetBrains Rider com Aspire plug-in (opcional)
Para obter mais informações, consulte Aspire configuração e ferramentas e Aspire SDK.
Como alternativa a este tutorial e para um guia mais aprofundado, consulte Implantar um Aspire projeto em Azure Container Apps usando azd (guia detalhado).
Implantar Aspire projetos com azd
Com Aspire e Azure Container Apps (ACA), você tem um ótimo cenário de hospedagem para criar seus aplicativos nativos de nuvem com .NET. Criamos alguns novos excelentes recursos no Azure Developer CLI (azd) específicos para tornar o desenvolvimento e a implantação de Aspire no Azure uma experiência sem atritos. Para cenários de produção que exigem controle granular sobre a infraestrutura, consulte Personalizar AspireAzure implantações. Mas para novos projetos, você não encontrará um caminho mais fácil para o sucesso para obter uma nova topologia de microsserviço implantada na nuvem.
Criar um Aspire projeto
Como ponto de partida, este artigo pressupõe que você criou um Aspire projeto a partir do Aspire modelo de Aplicativo Inicial . Para obter mais informações, consulte Início Rápido: Criar seu primeiro Aspire projeto.
Nomenclatura de recursos
Quando você cria novos Azure recursos, é importante seguir os requisitos de nomenclatura. Para Azure Container Apps, o nome deve ter de 2 a 32 caracteres e consistir em letras minúsculas, números e hifens. O nome deve começar com uma letra e terminar com um caractere alfanumérico.
Para obter mais informações, consulte Regras de nomenclatura e restrições para Azure recursos.
Instalar o Azure Developer CLI
O processo de instalação azd varia de acordo com seu sistema operacional, mas está amplamente disponível por meio de winget, brew, apt, ou diretamente via curl. Para instalar azd, consulte Instalar Azure Developer CLI.
Inicializar o modelo
Abra uma nova janela de terminal e
cdno diretório da sua solução Aspire.Execute o comando
azd initpara inicializar seu projeto comazd, que inspecionará a estrutura do diretório local e determinará o tipo de aplicativo.azd initPara obter mais informações sobre o comando
azd init, consulte azd init.Selecione Usar código no diretório atual quando o
azdsolicitar a você três opções de inicialização de aplicativo.? How do you want to initialize your app? [Use arrows to move, type to filter] > Use code in the current directory Select a template Create a minimal projectDepois de verificar o diretório,
azdsolicita que você confirme se ele encontrou o projeto Aspire correto. Selecione a opção Confirmar e continuar inicializando meu aplicativo.Detected services: .NET (Aspire) Detected in: D:\source\repos\AspireSample\AspireSample.AppHost\AspireSample.AppHost.csproj azd will generate the files necessary to host your app on Azure using Azure Container Apps. ? Select an option [Use arrows to move, type to filter] > Confirm and continue initializing my app Cancel and exitInsira um nome de ambiente, que é usado para nomear recursos provisionados em Azure e gerenciar ambientes diferentes, como
deveprod.Generating files to run your app on Azure: (✓) Done: Generating ./azure.yaml (✓) Done: Generating ./next-steps.md SUCCESS: Your app is ready for the cloud! You can provision and deploy your app to Azure by running the azd up command in this directory. For more information on configuring your app, see ./next-steps.md
azd gera vários arquivos e os coloca no diretório de trabalho. Estes arquivos são:
- azure.yaml: Descreve os serviços do aplicativo, como o projeto Aspire AppHost, e os mapeia para recursos Azure.
-
.azure/config.json: arquivo de configuração que informa
azdqual é o ambiente ativo atual. - .azure/aspireazddev/.env: contém substituições específicas para o ambiente.
Implantar o modelo
Depois que um
azdmodelo é inicializado, o processo de provisionamento e implantação pode ser executado como um único comando do diretório do projeto AppHost usando azd up:azd upSelecione a assinatura na qual você deseja implantar na lista de opções disponíveis:
Select an Azure Subscription to use: [Use arrows to move, type to filter] 1. SampleSubscription01 (xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx) 2. SampleSubscription02 (xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx)Selecione o local desejado Azure para usar na lista de opções disponíveis:
Select an Azure location to use: [Use arrows to move, type to filter] 42. (US) Central US (centralus) 43. (US) East US (eastus) > 44. (US) East US 2 (eastus2) 46. (US) North Central US (northcentralus) 47. (US) South Central US (southcentralus)
Depois de fazer suas seleções, azd executa o processo de provisionamento e implantação.
By default, a service can only be reached from inside the Azure Container Apps environment it is running in. Selecting a service here will also allow it to be reached from the Internet.
? Select which services to expose to the Internet webfrontend
? Select an Azure Subscription to use: 1. <YOUR SUBSCRIPTION>
? Select an Azure location to use: 1. <YOUR LOCATION>
Packaging services (azd package)
Provisioning Azure resources (azd provision)
Provisioning Azure resources can take some time.
Subscription: <YOUR SUBSCRIPTION>
Location: <YOUR LOCATION>
You can view detailed progress in the Azure Portal:
<LINK TO DEPLOYMENT>
(✓) Done: Resource group: <YOUR RESOURCE GROUP>
(✓) Done: Container Registry: <ID>
(✓) Done: Log Analytics workspace: <ID>
(✓) Done: Container Apps Environment: <ID>
SUCCESS: Your application was provisioned in Azure in 1 minute 13 seconds.
You can view the resources created under the resource group <YOUR RESOURCE GROUP> in Azure Portal:
<LINK TO RESOURCE GROUP OVERVIEW>
Deploying services (azd deploy)
(✓) Done: Deploying service apiservice
- Endpoint: <YOUR UNIQUE apiservice APP>.azurecontainerapps.io/
(✓) Done: Deploying service webfrontend
- Endpoint: <YOUR UNIQUE webfrontend APP>.azurecontainerapps.io/
Aspire Dashboard: <LINK TO DEPLOYED Aspire DASHBOARD>
SUCCESS: Your up workflow to provision and deploy to Azure completed in 3 minutes 50 seconds.
O azd up comando atua como wrapper para os seguintes comandos individuais azd para provisionar e implantar seus recursos em uma única etapa:
-
azd package: os projetos de aplicativo e suas dependências são empacotados em contêineres. -
azd provision: os Azure recursos de que o aplicativo precisará serão provisionados. -
azd deploy: os projetos são transferidos como contêineres para uma Azure instância do Registro de Contêineres e, em seguida, usados para criar novas revisões de Azure Container Apps onde o código será hospedado.
Quando os azd up estágios forem concluídos, seu aplicativo estará disponível Azuree você poderá abrir o Azure portal para explorar os recursos.
azd também gera URLs para acessar os aplicativos implantados diretamente.
Testar o aplicativo implantado
Agora que o aplicativo foi provisionado e implantado, você pode navegar até o Azure portal. No grupo de recursos em que você implantou o aplicativo, você verá os três aplicativos de contêiner e outros recursos.
Clique no web Aplicativo de Contêiner para abri-lo no portal.
Aspire project's front end in the Azure portal.
Clique no link da URL do Aplicativo para abrir o front-end no navegador.
Quando você clica no nó "Clima" na barra de navegação, o aplicativo de contêiner web do front-end faz uma chamada para o aplicativo de contêiner apiservice para obter dados. A saída do front-end será armazenada em cache usando o redis aplicativo de contêiner e a AspireRedis integração de cache de saída. Ao atualizar o front-end algumas vezes, você observará que os dados meteorológicos são armazenados em cache. Ele será atualizado após alguns segundos.
Implantar o Aspire Painel de Controle
Você pode implantar o Aspire painel como parte do aplicativo hospedado. Agora, esse recurso tem suporte total. Ao implantar, os logs de saída do azd imprimem uma URL adicional para o painel implantado.
Você pode executar azd monitor para iniciar automaticamente o painel.
azd monitor
Limpar os recursos
Execute o seguinte comando Azure CLI para excluir o grupo de recursos quando você não precisar mais dos recursos de Azure que você criou. Excluir o grupo de recursos também exclui os recursos contidos nele.
az group delete --name <your-resource-group-name>
Para obter mais informações, consulte Limpeza de recursos em Azure.