Procedure: Fouten opsporen in Windows-containers in Azure Service Fabric met behulp van Visual Studio 2019
Met Visual Studio 2019 kunt u fouten opsporen in .NET-toepassingen in containers als Service Fabric-services. In dit artikel leest u hoe u uw omgeving configureert en vervolgens fouten in een .NET-toepassing in een container kunt opsporen die wordt uitgevoerd in een lokaal Service Fabric-cluster.
Vereisten
- In Windows 10 volgt u deze quickstart om Windows 10 te configureren voor het uitvoeren van Windows-containers
- Volg deze quickstart op Windows Server 2016 om Windows 2016 te configureren voor het uitvoeren van Windows-containers
- Uw lokale Service Fabric-omgeving instellen door uw ontwikkelomgeving voorbereiden in Windows te volgen
Uw ontwikkelomgeving configureren voor het opsporen van fouten in containers
Zorg ervoor dat de Docker for Window-service wordt uitgevoerd voordat u doorgaat met de volgende stap.
Als u DNS-omzetting tussen containers wilt ondersteunen, moet u uw lokale ontwikkelcluster instellen met behulp van de computernaam. Deze stappen zijn ook nodig als u services wilt adresseren via de omgekeerde proxy.
PowerShell openen als beheerder
Navigeer naar de installatiemap van het SDK-cluster, meestal
C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup
.Het script uitvoeren
DevClusterSetup.ps1
C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup\DevClusterSetup.ps1
Notitie
U kunt het
-CreateOneNodeCluster
gebruiken om een cluster met één knooppunt in te stellen. Met de standaardinstelling wordt een lokaal cluster met vijf knooppunten gemaakt.Zie DE DNS-service in Azure Service Fabric voor meer informatie over de DNS-service in Service Fabric. Voor meer informatie over het gebruik van omgekeerde Service Fabric-proxy van services die in een container worden uitgevoerd, raadpleegt u Speciale verwerking voor omgekeerde proxy voor services die worden uitgevoerd in containers.
Bekende beperkingen bij het opsporen van fouten in containers in Service Fabric
Hieronder vindt u een lijst met bekende beperkingen met foutopsporingscontainers in Service Fabric en mogelijke oplossingen:
- Het gebruik van localhost voor ClusterFQDNorIP biedt geen ondersteuning voor DNS-omzetting in containers.
- Oplossing: Het lokale cluster instellen met behulp van de computernaam (zie hierboven)
- Als u Windows10 uitvoert op een virtuele machine, wordt dns-antwoord niet teruggezet naar de container.
- Oplossing: UDP checksum offload uitschakelen voor IPv4 op de NIC van virtuele machines
- Als u Windows10 uitvoert, worden de netwerkprestaties op de computer verminderd.
- https://github.com/Azure/service-fabric-issues/issues/1061
- Het omzetten van services in dezelfde toepassing met behulp van de DNS-servicenaam werkt niet in Windows10 als de toepassing is geïmplementeerd met Docker Compose
- Oplossing: Servicename.applicationname gebruiken om service-eindpunten op te lossen
- https://github.com/Azure/service-fabric-issues/issues/1062
- Als u IP-adres gebruikt voor ClusterFQDNorIP, wordt de DNS-functionaliteit verbroken als u het primaire IP-adres op de host wijzigt.
- Oplossing: Maak het cluster opnieuw met behulp van het nieuwe primaire IP-adres op de host of gebruik de computernaam. Deze onderbreking is standaard.
- Als de FQDN waarmee het cluster is gemaakt, niet kan worden omgezet in het netwerk, mislukt DNS.
- Oplossing: maak het lokale cluster opnieuw met behulp van het primaire IP-adres van de host. Deze fout is standaard.
- Wanneer u fouten in een container opspoort, zijn docker-logboeken alleen beschikbaar in het Visual Studio-uitvoervenster, niet via Service Fabric-API's, waaronder Service Fabric Explorer
Fouten opsporen in een .NET-toepassing die wordt uitgevoerd in Docker-containers in Service Fabric
Voer Visual Studio uit als beheerder.
Open een bestaande .NET-toepassing of maak een nieuwe.
Klik met de rechtermuisknop op het project en selecteer Toevoegen -> Container Orchestrator-ondersteuning -> Service Fabric
Druk op F5 om de foutopsporing van de toepassing te starten.
Visual Studio ondersteunt console- en ASP.NET projecttypen voor .NET en .NET Core.
Volgende stappen
Zie het overzicht van Service Fabric-containers voor meer informatie over de mogelijkheden van Service Fabric en containers.