Início Rápido: Utilizar Azure App Configuration no Azure Container Apps
Neste início rápido, irá utilizar Azure App Configuration numa aplicação em execução no Azure Container Apps. Desta forma, pode centralizar o armazenamento e a gestão da configuração das suas aplicações no Container Apps. Este início rápido tira partido da aplicação ASP.NET Core criada no Início Rápido: Criar uma aplicação ASP.NET Core com App Configuration. Irá contentorizar a aplicação e implementá-la no Azure Container Apps. Conclua o início rápido antes de continuar.
Dica
Ao seguir este início rápido, de preferência registe todos os novos recursos num único grupo de recursos, para que possa agrupá-los todos num único local e eliminá-los mais rapidamente mais tarde, se já não precisar deles.
Pré-requisitos
- Uma aplicação com um arquivo de App Configuration. Se não tiver uma, crie uma instância com o Início Rápido: Criar uma aplicação ASP.NET Core com App Configuration.
- Uma instância do Azure Container Apps. Se não tiver uma, crie uma instância com o portal do Azure ou a CLI.
- Docker Desktop
- CLI do Azure
Ligar Azure App Configuration à aplicação de contentor
No portal do Azure, navegue para a instância da Aplicação de Contentor. Siga o início rápido do Service Connector para o Azure Container Apps para criar uma ligação de serviço com o seu arquivo de App Configuration com as definições abaixo.
No separador Noções Básicas :
No separador Autenticação :
- selecione Tipo de autenticação da cadeia de ligação e Só de Leitura para "Permissões para a cadeia de ligação
- expanda o menu Avançadas . Nas informações de Configuração, deve existir uma variável de ambiente já criada chamada "AZURE_APPCONFIGURATION_CONNECTIONSTRING". Edite a variável de ambiente ao selecionar o ícone à direita e altere o nome para ConnectionStrings__AppConfig. Temos de fazer esta alteração, uma vez que ConnectionStrings__AppConfig é o nome da variável de ambiente que a aplicação incorporada no início rápido ASP.NET Core irá procurar. Esta é a variável de ambiente que contém a cadeia de ligação para App Configuration. Se tiver utilizado outra aplicação para seguir este início rápido, utilize o nome da variável de ambiente correspondente. Em seguida, selecione Done (Concluído).
Utilize valores predefinidos para tudo o resto.
Uma vez concluído, será adicionada uma variável de ambiente com o nome ConnectionStrings__AppConfig ao contentor da sua Aplicação de Contentor. O respetivo valor é uma referência do segredo da Aplicação de Contentor, a cadeia de ligação do seu arquivo de App Configuration.
Criar um contentor
Execute o comando de publicação dotnet para criar a aplicação no modo de lançamento e criar os recursos na pasta publicada .
dotnet publish -c Release -o published
Crie um ficheiro com o nome Dockerfile no diretório que contém o ficheiro .csproj, abra-o num editor de texto e introduza o seguinte conteúdo. Um Dockerfile é um ficheiro de texto que não tem uma extensão e que é utilizado para criar uma imagem de contentor.
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS runtime WORKDIR /app COPY published/ ./ ENTRYPOINT ["dotnet", "TestAppConfig.dll"]
Crie o contentor ao executar o seguinte comando.
docker build --tag aspnetapp .
Criar uma instância do Azure Container Registry
Criar um Azure Container Registry (ACR). O ACR permite-lhe criar, armazenar e gerir imagens de contentor.
- Para criar o registo de contentor, siga o início rápido Azure Container Registry.
- Assim que a implementação estiver concluída, abra a instância do ACR e, no menu esquerdo, selecione Definições > Chaves de acesso.
- Tome nota do valor do servidor de início de sessão listado nesta página. Irá utilizar estas informações num passo posterior.
- Mude Administração utilizador para Ativado. Esta opção permite-lhe ligar o ACR ao Azure Container Apps com credenciais de utilizador administrador. Em alternativa, pode deixá-la desativada e configurar a aplicação de contentor para extrair imagens do registo com uma identidade gerida.
Enviar a imagem para Azure Container Registry
Envie a imagem do Docker para o ACR criado anteriormente.
Execute o comando az acr login para iniciar sessão no registo.
az acr login --name myregistry
O comando devolve
Login Succeeded
assim que o início de sessão for bem-sucedido.Utilize a etiqueta docker para etiquetar os detalhes adequados da imagem.
docker tag aspnetapp myregistry.azurecr.io/aspnetapp:v1
Dica
Para rever a lista das imagens e etiquetas do docker existentes, execute
docker image ls
. Neste cenário, deverá ver pelo menos duas imagens:aspnetapp
emyregistry.azurecr.io/aspnetapp
.Utilize docker push para enviar a imagem para o registo de contentor. Este exemplo cria o repositório aspnetapp no ACR que contém a
aspnetapp
imagem. No exemplo abaixo, substitua os marcadores<login-server
de posição<image-name>
e<tag>
, pelo valor do servidor de início de sessão do ACR, o nome da imagem e a etiqueta de imagem.Método:
docker push <login-server>/<image-name>:<tag>
Exemplo:
docker push myregistry.azurecr.io/aspnetapp:v1
Abra o seu Azure Container Registry no portal do Azure e confirme que, em Repositórios, pode ver o seu novo repositório.
Adicionar a sua imagem de contentor ao Azure Container Apps
Atualize a Sua Aplicação de Contentor para carregar a imagem de contentor a partir do ACR.
No portal do Azure, abra a instância do Azure Container Apps.
No menu esquerdo, em Aplicação, selecione Contentores.
Selecione Editar e implementar.
Em Imagem de contentor, clique no nome da imagem de contentor existente.
Atualize as seguintes definições:
Definição Valor sugerido Descrição Origem da imagem Azure Container Registry Selecione Azure Container Registry como origem de imagem. Autenticação Credenciais do Administração Utilize a opção de credencial de utilizador administrador que foi ativada anteriormente no registo de contentor. Se não tiver ativado o utilizador administrador mas configurado para utilizar uma identidade gerida, terá de introduzir manualmente a imagem e a etiqueta no formulário. Registo myregistry.azurecr.io Selecione o Azure Container Registry que criou anteriormente. Imagem aspnetapp Selecione a imagem do docker que criou e emite anteriormente para o ACR. Etiqueta de imagem v1 Selecione a etiqueta de imagem na lista. Selecione Guardar e, em seguida, Criar para implementar a atualização na Aplicação de Contentor do Azure.
Navegue para o URL da Aplicação de Contentor do Azure
No portal do Azure, na instância do Azure Container Apps, aceda ao separador Descrição geral e abra o URL da Aplicação.
A página Web tem o seguinte aspeto:
Limpar os recursos
Se não quiser continuar a utilizar os recursos criados neste artigo, elimine o grupo de recursos que criou aqui para evitar custos.
Importante
A eliminação de um grupo de recursos é irreversível. O grupo de recursos e todos os recursos nele contidos são eliminados permanentemente. Certifique-se de que não elimina acidentalmente os recursos ou o grupo de recursos errados. Se tiver criado os recursos para este artigo dentro de um grupo de recursos que contém outros recursos que pretende manter, elimine cada recurso individualmente do respetivo painel em vez de eliminar o grupo de recursos.
- Inicie sessão no portal do Azure e selecione Grupos de recursos.
- Na caixa Filtrar por nome , introduza o nome do grupo de recursos.
- Na lista de resultados, selecione o nome do grupo de recursos para ver uma descrição geral.
- Selecione Eliminar grupo de recursos.
- É-lhe pedido que confirme a eliminação do grupo de recursos. Introduza o nome do grupo de recursos a confirmar e selecione Eliminar.
Após alguns instantes, o grupo de recursos e todos os respetivos recursos são eliminados.
Passos seguintes
Neste início rápido, irá:
- Azure App Configuration ligados ao Azure Container Apps
- Docker utilizado para criar uma imagem de contentor a partir de uma aplicação ASP.NET Core com definições de App Configuration
- Criou uma instância do Azure Container Registry
- Emitemos a imagem para a instância Azure Container Registry
- Adição da imagem de contentor ao Azure Container Apps
- Navegue para o URL da instância do Azure Container Apps atualizado com as definições que configurou no seu arquivo de App Configuration.
A identidade gerida permite que um recurso do Azure aceda a outro sem que mantenha segredos. Pode simplificar o acesso das Container Apps a outros recursos do Azure. Para obter mais informações, veja como aceder a App Configuration com a identidade gerida e como [aceder ao Container Registry com a identidade gerida].
Para saber como configurar a sua aplicação Web ASP.NET Core para atualizar dinamicamente as definições de configuração, avance para o próximo tutorial.