Compartilhar via


Saiba como: depurar contêineres do Windows no Azure Service Fabric com o Visual Studio 2019

Com o Visual Studio 2019, você pode depurar aplicativos .NET em contêineres como serviços do Service Fabric. Este artigo mostra como configurar seu ambiente e, em seguida, depurar um aplicativo .NET em um contêiner em execução em um cluster do Service Fabric local.

Pré-requisitos

Configurar seu ambiente de desenvolvedor para depurar contêineres

  1. Verifique se que o serviço Docker for Windows está em execução antes de prosseguir com a próxima etapa.

  2. Para dar suporte à resolução DNS entre contêineres, você precisará configurar o cluster de desenvolvimento local usando o nome do computador. Essas etapas também são necessárias para serviços de endereço por meio do proxy reverso.

    1. Abra o PowerShell como administrador

    2. Navegue até a pasta de instalação do Cluster do SDK, normalmente C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup.

    3. Execute o script DevClusterSetup.ps1

        C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup\DevClusterSetup.ps1
      

      Observação

      Você pode usar o -CreateOneNodeCluster para configurar um cluster de um nó. O padrão irá criar um cluster de cinco nós local.

      Para saber mais sobre o Serviço DNS no Service Fabric, consulte Serviço DNS no Azure Service Fabric. Para saber mais sobre o uso do Service Fabric proxy reverso de serviços em execução em um contêiner, consulte Tratamento especial de proxy reverso para serviços em execução em contêineres.

Limitações conhecidas durante a depuração de Service Fabric

Abaixo está uma lista de limitações conhecidas com contêineres de depuração no Service Fabric e as possíveis resoluções:

  • Usar localhost para ClusterFQDNorIP não será compatível com a resolução DNS em contêineres.
    • Resolução: configurar o cluster local usando o nome do computador (veja acima)
  • Executar Windows10 em uma Máquina Virtual não enviará a resposta DNS de volta para o contêiner.
  • Resolver serviços no mesmo aplicativo usando o nome de serviço DNS não funcionará no Windows10 se o aplicativo tiver sido implantado com o Docker Compose
  • Se estiver usando o endereço IP para ClusterFQDNorIP, alterar o IP primário no host interromperá a funcionalidade DNS.
    • Resolução: recrie o cluster usando o novo IP primário no host ou use o nome do computador. Essa interrupção é padrão.
  • Se o FQDN com o qual o cluster foi criado não puder ser resolvido na rede, o DNS falhará.
    • Resolução: recrie o cluster local usando o IP primário do host. Essa falha é padrão.
  • Durante a depuração de um contêiner, os logs de docker só estarão disponíveis na janela de saída do Visual Studio, não por meio de APIs do Service Fabric, incluindo o Service Fabric Explorer

Depurar um aplicativo .NET em execução em contêineres do docker no Service Fabric

  1. Execute o Visual Studio como administrador.

  2. Abra um aplicativo .NET existente ou crie um novo.

  3. Clique com o botão direito do mouse no projeto e selecione Adicionar –> Suporte de Orquestrador de Contêineres –> Service Fabric

  4. Pressione F5 para iniciar a depuração do aplicativo.

    O Visual Studio oferece suporte ao console e aos tipos de projeto de ASP.NET para .NET e .NET Core.

Próximas etapas

Para saber mais sobre as funcionalidades do Service Fabric e dos contêineres, confira Visão geral dos contêineres do Service Fabric.