Compartir por


Procedimientos: Depurar contenedores de Windows en Azure Service Fabric mediante Visual Studio 2019

Con Visual Studio 2019, puede depurar aplicaciones .NET en contenedores como servicios de Service Fabric. En este artículo se muestra cómo configurar el entorno y, a continuación, depurar una aplicación .NET en un contenedor que se ejecuta en un clúster de Service Fabric local.

Prerrequisitos

Configuración del entorno de desarrollo para depurar contenedores

  1. Asegúrese de que el Docker de servicio de Windows se esté ejecutando antes de continuar con el paso siguiente.

  2. Para admitir la resolución DNS entre contenedores, tendrá que configurar el clúster de desarrollo local, usando para ello el nombre de la máquina. Estos pasos también son necesarios si desea ofrecer los servicios mediante el proxy inverso.

    1. Abra PowerShell como administrador.

    2. Vaya a la carpeta de instalación del clúster del SDK, que suele ser C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup.

    3. Ejecución del script DevClusterSetup.ps1

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

      Nota:

      Puede usar -CreateOneNodeCluster para configurar un clúster de un nodo. El valor predeterminado creará un clúster de cinco nodos local.

      Para más información sobre el servicio DNS en Service Fabric, consulte Servicio DNS en Azure Service Fabric. Para aprender más sobre el uso del proxy inverso de Service Fabric en servicios que se ejecutan en un contenedor, consulte Tratamiento especial del proxy inverso para servicios que se ejecutan en contenedores.

Limitaciones conocidas al depurar contenedores en Service Fabric

A continuación, se muestra una lista de limitaciones conocidas al depurar contenedores en Service Fabric y las posibles soluciones:

  • El uso de localhost para ClusterFQDNorIP no admitirá la resolución DNS en contenedores.
    • Resolución: Configure el clúster local usando el nombre de la máquina (véase más arriba).
  • Al ejecutar Windows 10 en una máquina virtual, no se obtendrá la respuesta de DNS en el contenedor.
  • La resolución de servicios en la misma aplicación con el nombre del servicio DNS no funciona en Windows 10 si la aplicación se implementó mediante Docker Compose.
  • Si usa la dirección IP para ClusterFQDNorIP, al cambiar la dirección IP principal en el host se inhabilitará la funcionalidad DNS.
    • Resolución: Vuelva a crear el clúster con la nueva dirección IP principal en el host o use el nombre de la máquina. Esta interrupción es así por diseño.
  • Si el nombre de dominio completo con el que se creó el clúster no se puede resolver en la red, se producirá un error de DNS.
    • Resolución: Vuelva a crear el clúster local con la dirección IP principal del host. Este error es así por diseño.
  • Cuando se depura un contenedor, los registros de Docker solo estarán disponibles en la ventana de salida de Visual Studio, no mediante las API de Service Fabric, incluido Service Fabric Explorer.

Depuración de una aplicación .NET que se ejecuta en contenedores de Docker en Service Fabric

  1. Ejecute Visual Studio como administrador.

  2. Abra una aplicación .NET existente o cree una nueva.

  3. Haga clic con el botón derecho en el proyecto y seleccione Agregar -> Compatibilidad con el orquestador de contenedores -> Service Fabric

  4. Presione F5 para iniciar la depuración de la aplicación.

    Visual Studio admite la consola y los tipos de proyecto ASP.NET para .NET y .NET Core.

Pasos siguientes

Para más información sobre las funcionalidades de Service Fabric y los contenedores, consulte Introducción a los contenedores Service Fabric.