Service Fabric a kontejnery
Úvod
Azure Service Fabric je platforma distribuovaných systémů usnadňující balení, nasazování a spravování škálovatelných a spolehlivých mikroslužeb a kontejnerů.
Service Fabric je orchestrátor kontejnerů Microsoftu pro nasazování mikroslužeb napříč clusterem počítačů. Service Fabric přináší výhody z poznatků získaných během svých let běžících služeb v Microsoftu v masivním měřítku.
Mikroslužby je možné vyvíjet mnoha způsoby, od použití programovacích modelů Service Fabric přes ASP.NET Core až po nasazení libovolného vlastního kódu. Nebo pokud chcete jenom nasadit a spravovat kontejnery, service Fabric je také skvělou volbou.
Service Fabric ve výchozím nastavení nasadí a aktivuje tyto služby jako procesy. Procesy poskytují nejrychlejší aktivaci a nejvyšší hustotu využití prostředků v clusteru. Service Fabric může také nasazovat služby v imagích kontejnerů. Ve stejné aplikaci můžete také kombinovat služby v procesech a služby v kontejnerech.
Pokud chcete rovnou začít a vyzkoušet kontejnery v Service Fabric, vyzkoušejte rychlý start, kurz nebo ukázku:
Rychlý start: Nasazení aplikace typu kontejner pro Linux do Service Fabric
Rychlý start: Nasazení aplikace typu kontejner pro Windows do Service Fabric
Kontejnerizace existující aplikace .NET
Ukázky kontejnerů Service Fabric
Co jsou kontejnery
Kontejnery řeší problém spolehlivého spouštění aplikací v různých výpočetních prostředích tím, že poskytují neměnné prostředí pro spuštění aplikace. Kontejnery zabalí aplikaci a všechny její závislosti, jako jsou knihovny a konfigurační soubory, do vlastního izolovaného "boxu", který obsahuje vše potřebné ke spuštění softwaru uvnitř kontejneru. Všude, kde kontejner běží, má aplikace uvnitř vždy vše, co potřebuje ke spuštění, jako jsou správné verze závislých knihoven, všechny konfigurační soubory a cokoli jiného, co potřebuje ke spuštění.
Kontejnery běží přímo nad jádrem a mají izolované zobrazení systému souborů a dalších prostředků. Aplikace v kontejneru nemá žádné znalosti o žádných dalších aplikacích ani procesech mimo jeho kontejner. Každá aplikace a její modul runtime, závislosti a systémové knihovny běží v kontejneru s úplným privátním přístupem k vlastnímu izolovanému zobrazení operačního systému kontejneru. Kromě toho, že usnadňuje poskytování všech závislostí vaší aplikace, které potřebuje ke spuštění v různých výpočetních prostředích, zabezpečení a izolace prostředků jsou důležité výhody používání kontejnerů s Service Fabric – což jinak spouští služby v procesu.
V porovnání s virtuálními počítači mají kontejnery následující výhody:
- Malé: Kontejnery používají jeden prostor úložiště a verze vrstev a aktualizace ke zvýšení efektivity.
- Rychlé: Kontejnery nemusí spouštět celý operační systém, takže můžou začínat mnohem rychleji – obvykle v sekundách.
- Přenositelnost: Image kontejnerizované aplikace se dá přenést tak, aby běžela v cloudu, místně, uvnitř virtuálních počítačů nebo přímo na fyzických počítačích.
- Zásady správného řízení prostředků: Kontejner může omezit fyzické prostředky, které může využívat na svém hostiteli.
Podpora služby Service Fabric pro kontejnery
Service Fabric podporuje nasazení kontejnerů Dockeru v Linuxu a kontejnery Windows Serveru ve Windows Serveru 2016 a novějších společně s podporou režimu izolace Hyper-V.
Moduly runtime kontejnerů kompatibilní se serviceFabric:
- Linux: Docker
- Windows:
- Windows Server 2022: Mirantis Container Runtime
- Windows Server 2019/2016: DockerEE
Kontejnery Dockeru v Linuxu
Docker poskytuje rozhraní API pro vytváření a správu kontejnerů nad kontejnery jádra Linuxu. Docker Hub poskytuje centrální úložiště pro ukládání a načítání imagí kontejnerů. Kurz založený na Linuxu najdete v tématu Vytvoření první aplikace kontejneru Service Fabric v Linuxu.
Kontejnery Windows Serveru
Windows Server 2016 a novější poskytují dva různé typy kontejnerů, které se liší úrovní izolace. Kontejnery Windows Serveru a kontejnery Dockeru jsou podobné, protože oba mají obor názvů a izolaci systému souborů a sdílí jádro s hostitelem, na kterém běží. Tato izolace v Linuxu byla tradičně poskytována skupinami cgroup a obory názvů a kontejnery Windows Serveru se chovají podobně.
Kontejnery Windows s podporou Technologie Hyper-V poskytují větší izolaci a zabezpečení, protože žádný kontejner nesdílí jádro operačního systému s žádným jiným kontejnerem ani s hostitelem. S touto vyšší úrovní izolace zabezpečení jsou kontejnery s podporou Technologie Hyper-V zacílené na potenciálně nepřátelské scénáře s více tenanty. Kurz založený na Windows najdete v tématu Vytvoření první aplikace kontejneru Service Fabric ve Windows.
Následující obrázek znázorňuje různé typy úrovní virtualizace a izolace, které jsou k dispozici.
Scénáře použití kontejnerů
Tady jsou typické příklady, kdy je kontejner dobrou volbou:
Lift and shift služby IIS: Existující aplikaci ASP.NET MVC můžete umístit do kontejneru místo toho, abyste ji migrovat na ASP.NET Core. Tyto aplikace ASP.NET MVC závisí na Internetová informační služba (IIS). Tyto aplikace můžete zabalit do imagí kontejneru z předem připravené image služby IIS a nasadit je pomocí Service Fabric. Informace o kontejnerech windows kontejnerů najdete v tématu Image kontejnerů ve Windows Serveru .
Kombinovat kontejnery a mikroslužby Service Fabric: Pro část aplikace použijte existující image kontejneru. Můžete například použít kontejner NGINX pro webový front-end vaší aplikace a stavové služby pro náročnější back-endové výpočty.
Snížení dopadu "hlučných sousedů" služeb: Kontejnery můžete použít pomocí schopnosti zásad správného řízení prostředků omezit prostředky, které služba používá na hostiteli. Pokud služby můžou využívat mnoho prostředků a ovlivňují výkon ostatních (například dlouhotrvající operace podobné dotazům), zvažte vložení těchto služeb do kontejnerů, které mají zásady správného řízení prostředků.
Poznámka:
Cluster Service Fabric je jedním tenantem podle návrhu a hostované aplikace jsou považovány za důvěryhodné. Pokud uvažujete o hostování nedůvěryhodných aplikací, přečtěte si téma Hostování nedůvěryhodných aplikací v clusteru Service Fabric.
Service Fabric poskytuje aplikační model , ve kterém kontejner představuje hostitele aplikace, ve kterém je umístěno více replik služby. Service Fabric také podporuje scénář spustitelného souboru hosta, ve kterém nepoužíváte předdefinované programovací modely Service Fabric, ale místo toho zabalíte existující aplikaci napsanou v libovolném jazyce nebo architektuře v kontejneru. Tento scénář je běžným případem použití kontejnerů.
Služby Service Fabric můžete také spouštět v kontejneru. Podpora spouštění služeb Service Fabric v kontejnerech je v současné době omezená.
Service Fabric poskytuje několik možností kontejneru, které vám pomůžou sestavovat aplikace, které se skládají z kontejnerizovaných mikroslužeb, například:
- Nasazení a aktivace image kontejneru
- Zásady správného řízení prostředků, včetně nastavení hodnot prostředků ve výchozím nastavení v clusterech Azure
- Ověřování úložiště.
- Port kontejneru pro mapování portů hostitele
- Zjišťování kontejnerů a komunikace mezi kontejnery
- Možnost konfigurace a nastavení proměnných prostředí
- Možnost nastavit v kontejneru přihlašovací údaje zabezpečení
- Volba různých síťových režimů pro kontejnery.
Komplexní přehled podpory kontejnerů v Azure, jako je vytvoření clusteru Kubernetes se službou Azure Kubernetes Service, vytvoření privátního registru Dockeru ve službě Azure Container Registry a další informace najdete v tématu Azure for Containers.
Další kroky
V tomto článku jste se dozvěděli o podpoře, kterou Service Fabric poskytuje pro spouštění kontejnerů. Dále si projdeme příklady jednotlivých funkcí, abychom vám ukázali, jak je používat.
Vytvoření první aplikace kontejneru Service Fabric v Linuxu
Vytvoření první aplikace kontejneru Service Fabric ve Windows
Další informace o kontejnerech Windows