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 bir .NET uygulamasında hata ayıklama işleminin nasıl yapılacağını gösterir.
Önkoşullar
- Windows 10 windows kapsayıcılarını çalıştırmak için Windows 10 yapılandırmaya yönelik bu hızlı başlangıcı izleyin
- Windows Server 2016'da, Windows 2016'yı Windows kapsayıcılarını çalıştıracak şekilde yapılandırmaya yönelik bu hızlı başlangıcı izleyin
- 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ü
-CreateOneNodeCluster
bir küme ayarlamak için kullanabilirsiniz. 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
Aşağıda, Service Fabric'te kapsayıcılarda hata ayıklama ve olası çözümlerle ilgili bilinen sınırlamaların listesi yer almaktadı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)
- Sanal Makinede Windows10 çalıştırıldığında kapsayıcıya DNS yanıtı geri gelmez.
- Çö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üşürecektir.
- 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 bozacaktır.
- Çö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.
- Kapsayıcıda hata ayıklarken docker günlükleri yalnızca Visual Studio çıkış penceresinde kullanılabilir, Service Fabric Explorer dahil 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.
Var olan 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ış.