Postupy: Ladění kontejnerů Windows v Azure Service Fabric pomocí sady Visual Studio 2019
V sadě Visual Studio 2019 můžete ladit aplikace .NET v kontejnerech jako služby Service Fabric. V tomto článku se dozvíte, jak nakonfigurovat prostředí a pak ladit aplikaci .NET v kontejneru spuštěném v místním clusteru Service Fabric.
Požadavky
- V Windows 10 postupujte podle tohoto rychlého startu ke konfiguraci Windows 10 pro spouštění kontejnerů Windows.
- Na Windows Server 2016 postupujte podle tohoto rychlého startu a nakonfigurujte Windows 2016 pro spouštění kontejnerů Windows.
- Nastavení místního prostředí Service Fabric podle pokynů v tématu Příprava vývojového prostředí ve Windows
Konfigurace vývojářského prostředí pro ladění kontejnerů
Než budete pokračovat v dalším kroku, ujistěte se, že je služba Docker for Windows spuštěná.
Pokud chcete podporovat překlad DNS mezi kontejnery, budete muset nastavit místní vývojový cluster pomocí názvu počítače. Tyto kroky jsou také nezbytné, pokud chcete adresovat služby prostřednictvím reverzního proxy serveru.
Otevřete PowerShell jako správce.
Přejděte do složky nastavení clusteru sdk, obvykle
C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup
.Spuštění skriptu
DevClusterSetup.ps1
C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup\DevClusterSetup.ps1
Poznámka
Můžete použít k
-CreateOneNodeCluster
nastavení clusteru s jedním uzlem. Výchozí hodnota vytvoří místní cluster s pěti uzly.Další informace o službě DNS v Service Fabric najdete v tématu Služba DNS v Azure Service Fabric. Další informace o použití reverzního proxy serveru Service Fabric ze služeb spuštěných v kontejneru najdete v tématu Speciální zpracování reverzního proxy serveru pro služby spuštěné v kontejnerech.
Známá omezení při ladění kontejnerů v Service Fabric
Níže je seznam známých omezení pro ladění kontejnerů v Service Fabric a možných řešení:
- Použití místního hostitele pro ClusterFQDNorIP nepodporuje překlad DNS v kontejnerech.
- Řešení: Nastavení místního clusteru pomocí názvu počítače (viz výše)
- Když na virtuálním počítači spustíte Windows10, nedostanete odpověď DNS zpět do kontejneru.
- Řešení: Zakažte přesměrování zpracování kontrolních součtů UDP pro protokol IPv4 na síťové kartě Virtual Machines.
- Spuštění systému Windows10 sníží výkon sítě na počítači.
- https://github.com/Azure/service-fabric-issues/issues/1061
- Překlad služeb ve stejné aplikaci pomocí názvu služby DNS nefunguje ve Windows10, pokud byla aplikace nasazená pomocí Docker Compose.
- Řešení: K překladu koncových bodů služby použijte servicename.applicationname.
- https://github.com/Azure/service-fabric-issues/issues/1062
- Pokud pro ClusterFQDNorIP použijete IP adresu, změna primární IP adresy na hostiteli přeruší funkčnost DNS.
- Řešení: Vytvořte cluster znovu pomocí nové primární IP adresy na hostiteli nebo použijte název počítače. Toto rozbití je záměrně.
- Pokud plně kvalifikovaný název domény, se kterým byl cluster vytvořen, nejde v síti přeložit, DNS selže.
- Řešení: Znovu vytvořte místní cluster pomocí primární IP adresy hostitele. Toto selhání je záměrně.
- Při ladění kontejneru budou protokoly Dockeru k dispozici pouze ve výstupním okně sady Visual Studio, nikoli prostřednictvím rozhraní SERVICE Fabric API, včetně Service Fabric Explorer
Ladění aplikace .NET spuštěné v kontejnerech Dockeru ve službě Service Fabric
Spusťte sadu Visual Studio jako správce.
Otevřete existující aplikaci .NET nebo vytvořte novou.
Klikněte pravým tlačítkem na projekt a vyberte Přidat –> Podpora orchestratoru kontejnerů –> Service Fabric
Stisknutím klávesy F5 spusťte ladění aplikace.
Visual Studio podporuje typy projektů konzoly a ASP.NET pro .NET a .NET Core.
Další kroky
Další informace o možnostech Service Fabric a kontejnerů najdete v tématu Přehled kontejnerů Service Fabric.