Prozkoumání služby Azure Container Instances
Služba Azure Container Instances (ACI) je skvělým řešením pro jakýkoli scénář, který může fungovat v izolovaných kontejnerech, včetně jednoduchých aplikací, automatizace úkolů a úloh sestavení. Tady jsou některé z výhod:
- rychlého spuštění: ACI může spouštět kontejnery v Azure během několika sekund, aniž by bylo nutné vytvářet a spravovat virtuální počítač.
- Přístup ke kontejneru: ACI umožňuje vystavit skupiny kontejnerů přímo na internet s IP adresou a plně kvalifikovaným názvem domény (FQDN).
- Zabezpečení na úrovni hypervisoru: Izolujte aplikaci úplně stejně, jako by byla na virtuálním počítači.
- Zákaznická data: Služba ACI ukládá minimální zákaznická data potřebná k zajištění toho, aby vaše skupiny kontejnerů běžely podle očekávání.
- Vlastní velikosti: ACI poskytuje optimální využití tím, že umožňuje přesné specifikace jader procesoru a paměti.
- Trvalé úložiště: Připojení sdílených složek Azure Files přímo ke kontejneru za účelem načtení a uchování stavu
- Linux a Windows: Plánujte kontejnery Windows i Linuxu pomocí stejného rozhraní API.
Pro scénáře, kde potřebujete úplnou orchestraci kontejnerů, včetně zjišťování služeb napříč více kontejnery, automatického škálování a koordinovaných upgradů aplikací, doporučujeme službu Azure Kubernetes Service (AKS).
Skupiny kontejnerů
Prostředek nejvyšší úrovně ve službě Azure Container Instances je skupina kontejnerů. Skupina kontejnerů je kolekce kontejnerů, které se plánují na stejném hostitelském počítači. Kontejnery ve skupině kontejnerů sdílejí životní cyklus, prostředky, místní síť a svazky úložiště. V konceptu je podobný podu v Kubernetes.
Následující diagram znázorňuje příklad skupiny kontejnerů, která obsahuje více kontejnerů:
Tato ukázková skupina kontejnerů:
- Je naplánováno na jednom hostitelském počítači.
- Přiřadí se popisek názvu DNS.
- Zveřejňuje jednu veřejnou IP adresu s jedním vystaveným portem.
- Skládá se ze dvou kontejnerů. Jeden kontejner naslouchá na portu 80, zatímco druhý naslouchá na portu 5000.
- Zahrnuje dvě sdílené složky Azure jako připojení svazků a každý kontejner připojí jednu ze sdílených složek místně.
Poznámka:
Skupiny s více kontejnery aktuálně podporují pouze kontejnery Linuxu. Pro kontejnery Windows podporuje Služba Azure Container Instances pouze nasazení jedné instance.
Nasazení
Existují dva běžné způsoby nasazení skupiny s více kontejnery: použití šablony Resource Manageru nebo souboru YAML. Pokud při nasazování instancí kontejneru potřebujete nasadit více prostředků služby Azure, doporučuje se šablona Resource Manageru. Vzhledem k stručnější povaze formátu YAML se doporučuje soubor YAML, pokud vaše nasazení obsahuje pouze instance kontejneru.
Přidělení prostředků
Služba Azure Container Instances přiděluje prostředky, jako jsou procesory, paměť a volitelně gpu (Preview) skupině kontejnerů přidáním požadavků na prostředky instancí ve skupině. Pokud vytvoříte skupinu kontejnerů se dvěma instancemi, každá žádající jeden procesor, skupině kontejnerů jsou přiděleny dva procesory.
Sítě
Skupiny kontejnerů sdílejí IP adresu a obor názvů portů na této IP adrese. Pokud chcete externím klientům povolit přístup ke kontejneru v rámci skupiny, musíte port zveřejnit na IP adrese a z kontejneru. Protože kontejnery v rámci skupiny sdílejí obor názvů portů, mapování portů se nepodporuje. Kontejnery ve skupině se můžou spojit přes localhost na portech, které zveřejňují, i když tyto porty nejsou externě vystavené na IP adrese skupiny.
Storage
Můžete zadat externí svazky, které se mají připojit v rámci skupiny kontejnerů. Tyto svazky můžete mapovat na konkrétní cesty v jednotlivých kontejnerech ve skupině. Mezi podporované svazky patří:
- Sdílená složka Azure
- Tajný
- Prázdný adresář
- Klonované úložiště Git
Obvyklé scénáře
Skupiny s více kontejnery jsou užitečné v případech, kdy chcete rozdělit jeden funkční úkol na několik imagí kontejneru. Obrázek může doručovat různé týmy a mít samostatné požadavky na prostředky.
Mezi příklady použití může patřit:
- Kontejner obsluhující webovou aplikaci a kontejner, který načítá nejnovější obsah ze správy zdrojového kódu.
- Kontejner aplikace a kontejner protokolování. Kontejner protokolování shromažďuje protokoly a výstup metriky hlavní aplikací a zapisuje je do dlouhodobého úložiště.
- Kontejner aplikace a kontejner monitorování. Kontejner monitorování pravidelně odesílá do aplikace požadavek, aby zajistil, že je spuštěný a správně reaguje, a pokud ne, vyvolá upozornění.
- Front-endový kontejner a back-endový kontejner. Front-end může obsluhovat webovou aplikaci s back-endem, na kterém běží služba pro načtení dat.