Colocar uma aplicação .NET existente para o Service Fabric Mesh em contentoresContainerize an existing .NET app for Service Fabric Mesh

Importante

A pré-estreia da Malha de Tecido de Serviço Azure foi reformada.The preview of Azure Service Fabric Mesh has been retired. As novas implementações deixarão de ser permitidas através da API de malha de malha de tecido de serviço.New deployments will no longer be permitted through the Service Fabric Mesh API. O apoio às implementações existentes continuará até 28 de abril de 2021.Support for existing deployments will continue through April 28, 2021.

Para mais detalhes, consulte a pré-reforma da malha de malha de malha de tecido de serviço Azure.For details, see Azure Service Fabric Mesh Preview Retirement.

Este artigo mostra-lhe como adicionar suporte de orquestração de recipientes de malha de tecido de serviço a uma aplicação existente .NET.This article shows you how to add Service Fabric Mesh container orchestration support to an existing .NET app.

No Visual Studio 2017, pode adicionar suporte de contentorização a projetos de ASP.NET e Consola que utilizam a estrutura completa .NET.In Visual Studio 2017, you can add containerization support to ASP.NET and Console projects that use the full .NET framework.

Nota

.NET Os projetos core não são atualmente suportados..NET Core projects are not currently supported.

Pré-requisitosPrerequisites

Abra uma aplicação .NET existenteOpen an existing .NET app

Abra a aplicação à qual pretende adicionar suporte à orquestração de contentores.Open the app to which you want to add container orchestration support.

Se quiser experimentar um exemplo, pode utilizar a amostra de código eShop.If you'd like to try an example, you can use the eShop code sample. O resto deste artigo vai assumir que estamos a usar esse projeto, embora possas aplicar estes passos ao teu próprio projeto.The rest of this article will assume that we're using that project, although you can apply these steps to your own project.

Obtenha uma cópia do projeto eShop:Get a copy of the eShop project:

git clone https://github.com/MikkelHegn/ContainersSFLab.git

Uma vez descarregado, no Visual Studio 2017 abre ContentoresSFLab\eShopLegacyWebFormsSolution\eShopLegacyWebForms.sln.Once that has downloaded, in Visual Studio 2017 open ContainersSFLab\eShopLegacyWebFormsSolution\eShopLegacyWebForms.sln.

Adicionar suporte ao contentorAdd container support

Adicione suporte de orquestração de contentores a um projeto de ASP.NET ou Consola existente utilizando as ferramentas de malha de tecido de serviço da seguinte forma:Add container orchestration support to an existing ASP.NET or Console project using the Service Fabric Mesh tools as follows:

No explorador de soluções Visual Studio, clique com o nome do projeto à direita (no exemplo, eShopLegacyWebForms) e, em seguida, escolha Adicionar > Suporte orquestrador de contentores.In the Visual Studio solution explorer, right-click the project name (in the example, eShopLegacyWebForms) and then choose Add > Container Orchestrator Support. Aparece o diálogo de apoio do orquestrador de recipientes add.The Add Container Orchestrator Support dialog appears.

Visual Studio adicionar diálogo de orquestrador de contentores

Escolha a malha de tecido de serviço a partir do drop-down e, em seguida, clique em OK.Choose Service Fabric Mesh from the drop-down, and then click OK.

Nota

A partir de 2 de novembro de 2020, os limites de taxa de descarregamento aplicam-se a pedidos anónimos e autenticados para Docker Hub a partir de contas do plano Docker Free e são aplicados por endereço IP.Effective November 2, 2020, download rate limits apply to anonymous and authenticated requests to Docker Hub from Docker Free plan accounts and are enforced by IP address. Para mais detalhes, consulte Authenticate with Docker Hub.For more details, see Authenticate with Docker Hub.

Para evitar uma taxa limitada, certifique-se de que o padrão FROM microsoft/aspnet:4.7.2-windowsservercore-1803 AS base no seu Dockerfile é substituído por FROM mcr.microsoft.com/dotnet/framework/aspnet:4.7.2-windowsservercore-1803 AS baseTo avoid being rate limited, make sure the default FROM microsoft/aspnet:4.7.2-windowsservercore-1803 AS base in your Dockerfile is replaced with FROM mcr.microsoft.com/dotnet/framework/aspnet:4.7.2-windowsservercore-1803 AS base

A ferramenta verifica então que o Docker está instalado, adiciona um Dockerfile ao seu projeto e puxa uma imagem de estivador para o seu projeto.The tool then verifies that Docker is installed, adds a Dockerfile to your project, and pulls down a docker image for your project.
Um projeto de aplicação de malha de tecido de serviço é adicionado à sua solução.A Service Fabric Mesh application project is added to your solution. Contém os perfis de publicação da Malha e ficheiros de configuração.It contains your Mesh publish profiles and configuration files. O nome do projeto é o mesmo que o nome do seu projeto, com 'Aplicação' concatenado até ao fim, por exemplo, eShopLegacyWebFormsApplication.The name of the project is the same as your project name, with 'Application' concatenated to the end, for example, eShopLegacyWebFormsApplication.

No novo projeto Mesh verá duas pastas que deve estar ciente:In the new Mesh project you'll see a two folders you should be aware of:

  • Recursos de aplicações que contêm ficheiros YAML que descrevem recursos adicionais de Malha, como a rede.App Resources which contains YAML files that describe additional Mesh resources such as the network.
  • Recursos de Serviço que contém um ficheiro service.yaml que descreve como a sua aplicação deve ser executada quando implementada.Service Resources which contains a service.yaml file which describes how your app should run when deployed.

Assim que o suporte à orquestração de contentores for adicionado à sua aplicação, pode premir F5 para depurar a sua aplicação .NET no seu cluster de malha de tecido de serviço local.Once container orchestration support is added to your app, you can press F5 to debug your .NET app on your local Service Fabric Mesh cluster. Aqui está a aplicação eShop ASP.NET em execução num cluster de malha de tecido de serviço:Here is the eShop ASP.NET app running on a Service Fabric Mesh cluster:

app eShop

Pode agora publicar a aplicação para a Azure Service Fabric Mesh.You can now publish the app to Azure Service Fabric Mesh.

Passos seguintesNext steps

Veja como publicar uma app para Service Fabric Mesh: Tutorial- Implementar uma aplicação de malha de tecido de serviçoSee how to publish an app to Service Fabric Mesh: Tutorial- Deploy a Service Fabric Mesh application