Nasıl yapılır: Visual Studio 2019 kullanarak Azure Service Fabric'te Windows kapsayıcılarında hata ayıklama
Visual Studio 2019 ile kapsayıcılardaki .NET uygulamalarında Service Fabric hizmetleri olarak hata ayıklayabilirsiniz. Bu makalede, ortamınızı yapılandırma ve ardından yerel Service Fabric kümesinde çalışan bir kapsayıcıda .NET uygulamasında hata ayıklama gösterilmektedir.
Önkoşullar
- Windows 10'da, Windows 10'u Windows kapsayıcılarını çalıştıracak şekilde yapılandırmaya yönelik bu hızlı başlangıcı izleyin
- Windows Server 2016'da Bu hızlı başlangıcı izleyerek Windows 2016'yı Windows kapsayıcılarını çalıştıracak şekilde yapılandırma
- Windows'da geliştirme ortamınızı hazırlama'yı izleyerek yerel Service Fabric ortamınızı ayarlama
Kapsayıcılarda hata ayıklamak için geliştirici ortamınızı yapılandırma
Sonraki adıma geçmeden önce Windows için Docker hizmetinin çalıştığından emin olun.
Kapsayıcılar arasında DNS çözümlemesini desteklemek için makine adını kullanarak yerel geliştirme kümenizi ayarlamanız gerekir. Hizmetleri ters ara sunucu üzerinden ele almak istiyorsanız bu adımlar da gereklidir.
PowerShell'i yönetici olarak açma
GENELLIKLE
C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup
SDK Kümesi kurulum klasörüne gidin.Betiği çalıştırma
DevClusterSetup.ps1
C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup\DevClusterSetup.ps1
Not
tek düğümlü bir küme ayarlamak için kullanabilirsiniz
-CreateOneNodeCluster
. Varsayılan ayar yerel bir beş düğümlü küme oluşturur.Service Fabric'te DNS Hizmeti hakkında daha fazla bilgi edinmek için bkz . Azure Service Fabric'te DNS Hizmeti. Kapsayıcıda çalışan hizmetlerden Service Fabric ters ara sunucusunu kullanma hakkında daha fazla bilgi edinmek için bkz . Kapsayıcılarda çalışan hizmetler için ters ara sunucu özel işleme.
Service Fabric'te kapsayıcılarda hata ayıklama sırasında bilinen sınırlamalar
Service Fabric'te hata ayıklama kapsayıcılarıyla ilgili bilinen sınırlamaların ve olası çözümlerin listesi aşağıdadır:
- ClusterFQDNorIP için localhost kullanılması kapsayıcılarda DNS çözümlemesini desteklemez.
- Çözüm: Makine adını kullanarak yerel kümeyi ayarlama (yukarıya bakın)
- Windows10'un bir Sanal Makinede çalıştırılması, kapsayıcıya DNS yanıtını geri alamaz.
- Çözüm: Sanal Makineler NIC'de IPv4 için UDP sağlama toplamı boşaltmasını devre dışı bırakma
- Windows10'un çalıştırılması makinedeki ağ performansını düşürür.
- https://github.com/Azure/service-fabric-issues/issues/1061
- Uygulama Docker Compose kullanılarak dağıtıldıysa, DNS hizmet adını kullanarak aynı uygulamadaki hizmetleri çözümlemek Windows10'da çalışmaz
- Çözüm: Hizmet uç noktalarını çözümlemek için servicename.applicationname kullanın
- https://github.com/Azure/service-fabric-issues/issues/1062
- ClusterFQDNorIP için IP adresi kullanılıyorsa, konakta birincil IP'nin değiştirilmesi DNS işlevselliğini bozar.
- Çözüm: Konakta yeni birincil IP'yi kullanarak kümeyi yeniden oluşturun veya makine adını kullanın. Bu kırılma tasarım gereğidir.
- Kümenin oluşturulduğu FQDN ağda çözümlenemezse DNS başarısız olur.
- Çözüm: Konağın birincil IP'sini kullanarak yerel kümeyi yeniden oluşturun. Bu hata tasarım gereğidir.
- Bir kapsayıcıda hata ayıklarken, Docker günlükleri Yalnızca Visual Studio çıkış penceresinde kullanılabilir, Service Fabric Gezgini de dahil olmak üzere Service Fabric API'leri aracılığıyla kullanılamaz
Service Fabric'teki docker kapsayıcılarında çalışan bir .NET uygulamasında hata ayıklama
Visual Studio'yu yönetici olarak çalıştırın.
Mevcut bir .NET uygulamasını açın veya yeni bir uygulama oluşturun.
Projeye sağ tıklayın ve Ekle -> Kapsayıcı Düzenleyici Desteği -> Service Fabric'i seçin
Uygulamada hata ayıklamaya başlamak için F5 tuşuna basın.
Visual Studio, .NET ve .NET Core için konsol ve ASP.NET proje türlerini destekler.
Sonraki adımlar
Service Fabric ve kapsayıcıların özellikleri hakkında daha fazla bilgi edinmek için bkz . Service Fabric kapsayıcılarına genel bakış.