Service Fabric ve kapsayıcılar

Giriş

Azure Service Fabric; ölçeklenebilir ve güvenilir mikro hizmetleri ve kapsayıcıları paketlemeyi, dağıtmayı ve yönetmeyi kolaylaştırmayı sağlayan bir dağıtılmış sistemler platformudur.

Service Fabric, Microsoft'un mikro hizmetleri bir makine kümesine dağıtmak için kapsayıcı düzenleyicisidir . Service Fabric, yıllar boyunca Microsoft'ta yüksek ölçekte hizmet çalıştırması sırasında öğrenilen derslerden yararlanır.

Mikro hizmetler, Service Fabric programlama modelleri, ASP.NET Core kullanmaktan tercih ettiğiniz herhangi bir kodun dağıtılmasına kadar birçok yolla geliştirilebilir. Veya yalnızca kapsayıcıları dağıtmak ve yönetmek istiyorsanız Service Fabric de harika bir seçimdir.

Varsayılan olarak, Service Fabric bu hizmetleri işlem olarak dağıtır ve etkinleştirir. İşlemler, bir kümedeki kaynakların en hızlı etkinleştirmesini ve en yüksek yoğunluklu kullanımını sağlar. Service Fabric kapsayıcı görüntülerinde hizmetleri de dağıtabilir. İşlemlerdeki hizmetleri ve kapsayıcılardaki hizmetleri aynı uygulamada da karıştırabilirsiniz.

Service Fabric'e doğrudan geçmek ve kapsayıcıları denemek için bir hızlı başlangıç, öğretici veya örnek deneyin:

Hızlı Başlangıç: Service Fabric'e Linux kapsayıcı uygulaması dağıtma
Hızlı Başlangıç: Service Fabric'e Windows kapsayıcı uygulaması dağıtma
Mevcut bir .NET uygulamasını kapsayıcılı hale getirme
Service Fabric Kapsayıcı Örnekleri

Kapsayıcılar nedir?

Kapsayıcılar, uygulamanın çalışması için sabit bir ortam sağlayarak uygulamaları farklı bilgi işlem ortamlarında güvenilir bir şekilde çalıştırma sorununu çözer. Kapsayıcılar, bir uygulamayı ve kitaplıklar ve yapılandırma dosyaları gibi tüm bağımlılıklarını, yazılımı kapsayıcı içinde çalıştırmak için gereken her şeyi içeren kendi yalıtılmış 'kutusuna' sarmalar. Kapsayıcı nerede çalıştırılırsa çalışsın, içindeki uygulama her zaman bağımlı kitaplıklarının doğru sürümleri, yapılandırma dosyaları ve çalışması gereken diğer her şey gibi çalışması gereken her şeye sahiptir.

Kapsayıcılar doğrudan çekirdeğin üzerinde çalışır ve dosya sisteminin ve diğer kaynakların yalıtılmış bir görünümüne sahiptir. Kapsayıcıdaki bir uygulama, kapsayıcısının dışındaki diğer uygulamalar veya işlemler hakkında bilgi sahibi değildir. Her uygulama ve çalışma zamanı, bağımlılıkları ve sistem kitaplıkları, kapsayıcının kendi yalıtılmış işletim sistemi görünümüne tam, özel erişime sahip bir kapsayıcı içinde çalışır. Uygulamanızın farklı bilgi işlem ortamlarında çalışması için gereken tüm bağımlılıkları sağlamayı kolaylaştırmaya ek olarak, güvenlik ve kaynak yalıtımı, kapsayıcıları Service Fabric ile kullanmanın önemli avantajlarıdır ve bu da hizmetleri başka bir işlemde çalıştırır.

Kapsayıcılar, sanal makinelerle karşılaştırıldığında aşağıdaki avantajlara sahiptir:

  • Küçük: Kapsayıcılar verimliliği artırmak için tek bir depolama alanı ve katman sürümleri ve güncelleştirmeleri kullanır.
  • Hızlı: Kapsayıcıların bir işletim sisteminin tamamını önyüklemesi gerekmez, bu nedenle genellikle saniyeler içinde çok daha hızlı başlatılabilirler.
  • Taşınabilirlik: Kapsayıcılı uygulama görüntüsü bulutta, şirket içinde, sanal makinelerin içinde veya doğrudan fiziksel makinelerde çalışacak şekilde taşınabilir.
  • Kaynak idaresi: Kapsayıcı, konakta kullanabileceği fiziksel kaynakları sınırlayabilir.

Kapsayıcılar için Service Fabric desteği

Service Fabric, Linux'ta Docker kapsayıcılarının ve Windows Server 2016 ve sonraki sürümlerde Windows Server kapsayıcılarının dağıtımını ve Hyper-V yalıtım modunu destekler.

ServiceFabric ile uyumlu kapsayıcı çalışma zamanları:

  • Linux: Docker
  • Windows:
    • Windows Server 2022: Mirantis Container Runtime
    • Windows Server 2019/2016: DockerEE

Linux üzerinde Docker kapsayıcıları

Docker, Linux çekirdek kapsayıcıları üzerinde kapsayıcı oluşturmak ve yönetmek için API'ler sağlar. Docker Hub, kapsayıcı görüntülerini depolamak ve almak için merkezi bir depo sağlar. Linux tabanlı bir öğretici için bkz. Linux'ta ilk Service Fabric kapsayıcı uygulamanızı oluşturma.

Windows Server kapsayıcıları

Windows Server 2016 ve daha sonra yalıtım düzeyine göre farklılık gösteren iki farklı kapsayıcı türü sağlar. Windows Server kapsayıcıları ve Docker kapsayıcıları benzerdir çünkü hem ad alanı hem de dosya sistemi yalıtımına sahiptir ve çekirdeği üzerinde çalıştıkları konakla paylaşır. Linux'ta bu yalıtım geleneksel olarak cgroup'lar ve ad alanları tarafından sağlanmıştır ve Windows Server kapsayıcıları benzer şekilde davranır.

Hyper-V desteğine sahip Windows kapsayıcıları, hiçbir kapsayıcı işletim sistemi çekirdeğini başka bir kapsayıcıyla veya konakla paylaşmadığından daha fazla yalıtım ve güvenlik sağlar. Bu yüksek güvenlik yalıtımı düzeyiyle, Hyper-V özellikli kapsayıcılar potansiyel olarak saldırgan, çok kiracılı senaryolara hedeflenir. Windows tabanlı bir öğretici için bkz. Windows'ta ilk Service Fabric kapsayıcı uygulamanızı oluşturma.

Aşağıdaki şekilde farklı türlerdeki sanallaştırma ve yalıtım düzeyleri gösterilmektedir. Service Fabric platformu

Kapsayıcıları kullanma senaryoları

Kapsayıcının iyi bir seçim olduğu tipik örnekler aşağıda verilmiştir:

  • IIS lift and shift: Var olan bir ASP.NET MVC uygulamasını ASP.NET Core geçirmek yerine kapsayıcıya yerleştirebilirsiniz. Bu ASP.NET MVC uygulamaları Internet Information Services'e (IIS) bağlıdır. Bu uygulamaları önceden oluşturulmuş IIS görüntüsünden kapsayıcı görüntülerine paketleyebilir ve Service Fabric ile dağıtabilirsiniz. Windows kapsayıcıları hakkında bilgi için bkz. Windows Server'da Kapsayıcı Görüntüleri .

  • Kapsayıcıları ve Service Fabric mikro hizmetlerini karıştırın: Uygulamanızın bir bölümü için var olan bir kapsayıcı görüntüsünü kullanın. Örneğin, uygulamanızın web ön ucu için NGINX kapsayıcısını ve daha yoğun arka uç hesaplaması için durum bilgisi olan hizmetleri kullanabilirsiniz.

  • "Gürültülü komşular" hizmetlerinin etkisini azaltma: Bir hizmetin konakta kullandığı kaynakları kısıtlamak için kapsayıcıların kaynak idaresi özelliğini kullanabilirsiniz. Hizmetler birçok kaynak tüketebilir ve başkalarının performansını etkileyebilirse (uzun süre çalışan, sorgu benzeri bir işlem gibi), bu hizmetleri kaynak idaresine sahip kapsayıcılara yerleştirmeyi göz önünde bulundurun.

Not

Service Fabric kümesi tasarım gereği tek kiracıdır ve barındırılan uygulamalar güvenilir olarak kabul edilir. Güvenilmeyen uygulamaları barındırmayı düşünüyorsanız bkz. Service Fabric kümesinde güvenilmeyen uygulamaları barındırma.

Service Fabric, kapsayıcının birden çok hizmet çoğaltması yerleştirildiği bir uygulama ana bilgisayarını temsil ettiği bir uygulama modeli sağlar. Service Fabric, yerleşik Service Fabric programlama modellerini kullanmadığınız, bunun yerine kapsayıcının içinde herhangi bir dil veya çerçeve kullanılarak yazılmış mevcut bir uygulamayı paketlediğiniz konuk yürütülebilir senaryosunu da destekler. Bu senaryo kapsayıcılar için yaygın kullanım örneğidir.

Service Fabric hizmetlerini kapsayıcı içinde de çalıştırabilirsiniz. Kapsayıcılar içinde Service Fabric hizmetlerini çalıştırma desteği şu anda sınırlıdır.

Service Fabric, kapsayıcılı mikro hizmetlerden oluşan uygulamalar oluşturmanıza yardımcı olan çeşitli kapsayıcı özellikleri sağlar, örneğin:

  • Kapsayıcı görüntüsü dağıtımı ve etkinleştirme.
  • Azure kümelerinde kaynak değerlerini varsayılan olarak ayarlama dahil olmak üzere kaynak idaresi.
  • Depo kimlik doğrulaması.
  • Konak bağlantı noktası eşlemesine kapsayıcı bağlantı noktası.
  • Kapsayıcıdan kapsayıcıya bulma ve iletişim.
  • Ortam değişkenlerini yapılandırma ve ayarlama yeteneği.
  • Kapsayıcıda güvenlik kimlik bilgilerini ayarlama olanağı.
  • Kapsayıcılar için farklı ağ modları seçeneği.

Azure Kubernetes Service ile Kubernetes kümesi oluşturma, Azure Container Registry'da özel docker kayıt defteri oluşturma ve daha fazlası gibi Azure'daki kapsayıcı desteğine kapsamlı bir genel bakış için bkz. Kapsayıcılar için Azure.

Sonraki adımlar

Bu makalede, Service Fabric'in kapsayıcıları çalıştırmak için sağladığı destek hakkında bilgi edindi. Ardından, özelliklerin nasıl kullanılacağını göstermek için her bir özelliğin örneklerinin üzerinden geçeceğiz.

Linux üzerinde ilk Service Fabric kapsayıcı uygulamanızı oluşturma
Windows üzerinde ilk Service Fabric kapsayıcı uygulamanızı oluşturma
Windows Kapsayıcıları hakkında daha fazla bilgi edinin