Procedura: eseguire il debug dei contenitori Windows in Azure Service Fabric con Visual Studio 2019
Con Visual Studio 2019 è possibile eseguire il debug delle applicazioni .NET nei contenitori come servizi di Service Fabric. Questo articolo illustra come configurare l'ambiente ed eseguire il debug di un'applicazione .NET in un contenitore in esecuzione in un cluster di Service Fabric locale.
Prerequisiti
- In Windows 10, seguire questa guida introduttiva per configurare Windows 10 per l'esecuzione dei contenitori Windows
- In Windows Server 2016, seguire questa guida introduttiva per configurare Windows 2016 per l'esecuzione dei contenitori Windows
- Configurare l'ambiente di Service Fabric locale seguendo le indicazioni in Preparare l'ambiente di sviluppo in Windows
Configurare l'ambiente di sviluppo per l'esecuzione del debug dei contenitori
Assicurarsi che il servizio Docker per Windows sia in esecuzione prima di procedere con il passaggio successivo.
Per supportare la risoluzione DNS tra i contenitori, sarà necessario configurare il cluster di sviluppo locale usando il nome del computer. Questa procedura è necessaria anche per indirizzare i servizi tramite il proxy inverso.
Aprire PowerShell come amministratore
Passare alla cartella di installazione del cluster SDK, in genere
C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup
.Esecuzione dello script
DevClusterSetup.ps1
C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup\DevClusterSetup.ps1
Nota
È possibile usare
-CreateOneNodeCluster
per configurare un cluster con un solo nodo. Per impostazione predefinita, verrà creato un cluster locale con cinque nodi.Per altre informazioni sul servizio DNS in Service Fabric, vedere Servizio DNS in Azure Service Fabric. Per altre informazioni sull'uso del proxy inverso di Service Fabric per i servizi in esecuzione in un contenitore, vedere Reverse proxy special handling for services running in containers (Gestione speciale del proxy inverso per i servizi in esecuzione nei contenitori).
Limitazioni note durante il debug dei contenitori in Service Fabric
Di seguito sono elencate le limitazioni note per il debug dei contenitori in Service Fabric e le possibili risoluzioni:
- L'uso di localhost per ClusterFQDNorIP non supporta la risoluzione DNS nei contenitori.
- Soluzione: configurare il cluster locale usando il nome del computer (vedere sopra)
- L’esecuzione di Windows 10 in una macchina virtuale non reinvia la risposta DNS al contenitore.
- Soluzione: disabilitare l'offload del checksum UDP per IPv4 sulla scheda di interfaccia di rete delle macchine virtuali
- L'esecuzione di Windows10 ridurrà le prestazioni di rete nel computer.
- https://github.com/Azure/service-fabric-issues/issues/1061
- La risoluzione dei servizi nella stessa applicazione tramite il nome del servizio DNS non funziona in Windows 10 se l'applicazione è stata distribuita tramite Docker Compose
- Soluzione: usare servicename.applicationname per la risoluzione degli endpoint del servizio
- https://github.com/Azure/service-fabric-issues/issues/1062
- Se si usa l'indirizzo IP per ClusterFQDNorIP, la modifica dell'indirizzo IP primario nell'host interromperà la funzionalità DNS.
- Soluzione: ricreare il cluster usando il nuovo indirizzo IP primario nell'host o usare il nome del computer. Questa interruzione è un’impostazione predefinita.
- Se il nome FQDN con cui è stato creato il cluster non è risolvibile nella rete, il DNS avrà esito negativo.
- Soluzione: ricreare il cluster locale usando l'indirizzo IP primario dell'host. Questo errore è da progettazione.
- Durante il debug di un contenitore, i log di Docker saranno disponibili solo nella finestra di output di Visual Studio, non tramite le API di Service Fabric, incluso Service Fabric Explorer
Eseguire il debug di un'applicazione .NET in esecuzione in contenitori Docker in Service Fabric
Eseguire Visual Studio come amministratore.
Aprire un'applicazione .NET esistente o crearne una nuova.
Fare clic con il pulsante destro del mouse sul progetto e selezionare Aggiungi - >Supporto per l'agente di orchestrazione del contenitore -> Service Fabric
Premere F5 per avviare il debug dell'applicazione.
Visual Studio supporta i tipi di progetto console e ASP.NET per .NET e .NET Core.
Passaggi successivi
Per altre informazioni sulle funzionalità di Service Fabric e dei contenitori, vedere Panoramica dei contenitori di Service Fabric.