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
- Ve Windows 10 postupujte podle tohoto rychlého startu a nakonfigurujte Windows 10 pro spouštění kontejnerů Windows.
- Ve Windows Serveru 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ů k přípravě vývojového prostředí ve Windows
Konfigurace vývojového prostředí pro ladění kontejnerů
Než budete pokračovat dalším krokem, ujistěte se, že je služba Docker for Window spuštěná.
Pokud chcete podporovat překlad DNS mezi kontejnery, musíte pomocí názvu počítače nastavit místní vývojový cluster. Tyto kroky jsou nezbytné také v případě, že chcete adresovat služby prostřednictvím reverzního proxy serveru.
Otevřete PowerShell jako správce.
Přejděte do instalační složky 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
-CreateOneNodeCluster
k 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žívání 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í ladění kontejnerů v Service Fabric a možných řešeních:
- 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, nedostane se zpět odpověď DNS na kontejner.
- Řešení: Zakázání snižování zátěže kontrolního součtu UDP pro protokol IPv4 na síťové kartě virtuálních počítačů
- Spuštění 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í: Překlad koncových bodů služby pomocí servicename.applicationname
- https://github.com/Azure/service-fabric-issues/issues/1062
- Pokud používáte IP adresu pro ClusterFQDNorIP, změna primární IP adresy na hostiteli přeruší funkčnost DNS.
- Řešení: Znovu vytvořte cluster pomocí nové primární IP adresy hostitele nebo použijte název počítače. Toto přerušení je záměrně.
- Pokud plně kvalifikovaný název domény, se kterým se cluster vytvořil, není v síti přeložitelný, 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 dostupné jenom v okně výstupu sady Visual Studio, ne prostřednictvím rozhraní Service Fabric API, včetně Service Fabric Exploreru.
Ladění aplikace .NET spuštěné v kontejnerech Dockeru v 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 orchestrátoru 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 přehledu kontejnerů Service Fabric.