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, Microsoft'ta yüksek ölçekte hizmet çalıştırmaya devam ettiği yıllarda edinilen 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, 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 de hizmet dağıtabilir. İşlemlerdeki hizmetleri ve kapsayıcılardaki hizmetleri aynı uygulamada da karıştırabilirsiniz.
Service Fabric'te doğrudan 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ıya alma
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 ve özel erişime sahip bir kapsayıcı içinde çalışır. Uygulamanızın farklı bilgi işlem ortamlarında çalışması için ihtiyaç duyduğu 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; aksi takdirde hizmetleri 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 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ıştırılacak ş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 üzerinde 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 modu desteğini 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ının ü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 üzeri 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 cgroups 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ı, 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 daha yüksek güvenlik yalıtımı düzeyiyle, Hyper-V özellikli kapsayıcılar potansiyel olarak saldırgan, çok kiracılı senaryolarda hedeflenir. Windows tabanlı bir öğretici için bkz . Windows'ta ilk Service Fabric kapsayıcı uygulamanızı oluşturma.
Aşağıdaki şekilde, kullanılabilir farklı sanallaştırma ve yalıtım düzeyleri gösterilmektedir.
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: Mevcut bir ASP.NET MVC uygulamasını ASP.NET Core'a 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 mevcut 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 azaltın: Bir hizmetin konakta kullandığı kaynakları kısıtlamak için kapsayıcıların kaynak idaresi özelliğini kullanabilirsiniz. Hizmetler çok fazla 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 konası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 bir kapsayıcı içinde de çalıştırabilirsiniz. Service Fabric hizmetlerini kapsayıcılar içinde ç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 olanağı.
- Kapsayıcıda güvenlik kimlik bilgilerini ayarlayabilme.
- Kapsayıcılar için farklı ağ modları seçeneği.
Azure Kubernetes Service ile Kubernetes kümesi oluşturma, Azure Container Registry'de ö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'ta ilk Service Fabric kapsayıcı uygulamanızı oluşturma
Windows'da ilk Service Fabric kapsayıcı uygulamanızı oluşturma
Windows Kapsayıcıları hakkında daha fazla bilgi edinin