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 do clusteru počítačů. Service Fabric těží z poznatků získaných během let provozování služeb v Microsoftu ve velké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. Pokud chcete jenom nasazovat a spravovat kontejnery, je také skvělou volbou Service Fabric.
Ve výchozím nastavení Service Fabric nasazuje a aktivuje tyto služby jako procesy. Procesy poskytují nejrychlejší aktivaci a nejvyšší 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 přejít přímo do služby Service Fabric a vyzkoušet kontejnery, vyzkoušejte rychlý start, kurz nebo ukázku:
Rychlý start: Nasazení aplikace kontejneru linuxu do Service Fabric
Rychlý start: Nasazení kontejnerové aplikace windows do Service Fabric
Kontejnerizace existující aplikace v .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í izolované "krabice", která obsahuje vše potřebné ke spuštění softwaru uvnitř kontejneru. Bez ohledu na to, kde kontejner běží, má aplikace v něm vždy vše, co potřebuje ke spuštění, například správné verze závislých knihoven, všechny konfigurační soubory a cokoli dalšího, co je potřeba spustit.
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 nebo procesech mimo svůj 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, jsou zabezpečení a izolace prostředků důležitými výhodami používání kontejnerů se Service Fabric – které 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ě, verze vrstvy a aktualizace, aby se zvýšila efektivita.
- Rychlé: Kontejnery nemusí spouštět celý operační systém, takže se můžou spouštět mnohem rychleji – obvykle během několika sekund.
- Přenositelnost: Image kontejnerizované aplikace je možné 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 kontejnerů Windows Serveru v Windows Server 2016 a novějších a také podporu režimu izolace Hyper-V.
Moduly runtime kontejneru kompatibilní s technologií 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í kontejnerové aplikace Service Fabric v Linuxu.
Kontejnery Windows Serveru
Windows Server 2016 a novější poskytují dva různé typy kontejnerů, které se liší podle úrovně izolace. Kontejnery Windows Serveru a kontejnery Dockeru jsou podobné, protože oba mají izolaci oboru názvů a systému souborů a zároveň sdílejí jádro s hostitelem, na kterém běží. V Linuxu tuto izolaci tradičně zajišťují skupiny 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 cílem potenciálně nepřátelských scénářů s více tenanty. Kurz založený na Windows najdete v tématu Vytvoření první kontejnerové aplikace Service Fabric ve Windows.
Následující obrázek znázorňuje různé typy dostupných úrovní virtualizace a izolace.
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 migrace do ASP.NET Core. Tyto aplikace ASP.NET MVC závisí na Internetové informační službě (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 najdete v tématu Image kontejnerů ve Windows Serveru .
Kombinace kontejnerů a mikroslužeb Service Fabric: Použijte existující image kontejneru pro část vaší aplikace. 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.
Omezení dopadu služeb "hlučných sousedů": Pomocí možnosti zásad správného řízení prostředků v kontejnerech můžete omezit prostředky, které služba používá na hostiteli. Pokud služby můžou využívat mnoho prostředků a ovlivnit výkon jiných (například dlouhotrvající operace podobné dotazům), zvažte jejich umístění do kontejnerů, které mají zásady správného řízení prostředků.
Poznámka
Cluster Service Fabric je z návrhu jeden tenant a hostované aplikace se považují za důvěryhodné. Pokud zvažujete 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 model aplikace , 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 integrované programovací modely Service Fabric, ale místo toho v kontejneru zabalíte existující aplikaci napsanou pomocí libovolného jazyka nebo architektury. Tento scénář je běžným případem použití pro kontejnery.
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 funkcí 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ě výchozího nastavení hodnot prostředků v clusterech Azure.
- Ověřování úložiště.
- Port kontejneru pro mapování portů hostitele
- Zjišťování a komunikace mezi kontejnery
- Možnost konfigurace a nastavení proměnných prostředí
- Možnost nastavit přihlašovací údaje zabezpečení pro kontejner.
- Výběr různých síťových režimů pro kontejnery.
Komplexní přehled podpory kontejnerů v Azure, jako je vytvoření clusteru Kubernetes s Azure Kubernetes Service, vytvoření privátního registru Dockeru v Azure Container Registry a další, 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 spuštěné kontejnery. Dále si projdeme příklady jednotlivých funkcí, abychom vám ukázali, jak je používat.
Vytvoření první aplikace Service Fabric typu kontejner v Linuxu
Vytvoření první aplikace Service Fabric typu kontejner v systému Windows
Další informace o kontejnerech Windows