Skupiny kontejnerů ve službě Azure Container Instances
Prostředek nejvyšší úrovně v Azure Container Instances je skupina kontejnerů. Tento článek popisuje, jaké skupiny kontejnerů jsou a jaké typy scénářů umožňují.
Co 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ě. Koncept se podobá 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ánovaná na jednom hostitelském počítači.
- Má přiřazený popisek názvu DNS.
- Zpřístupň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 v současné době podporují pouze kontejnery Linuxu. U kontejnerů Windows Azure Container Instances podporuje pouze nasazení jedné instance kontejneru. Zatímco pracujeme na přenesení všech funkcí do kontejnerů Windows, aktuální rozdíly mezi platformami najdete v přehledu služby.
Nasazení
Tady jsou dva běžné způsoby nasazení skupiny s více kontejnery: použití šablony Resource Manager nebo souboru YAML. Šablona Resource Manager se doporučuje, když při nasazování instancí kontejneru potřebujete nasadit další prostředky služby Azure (například sdílenou složku Azure Files). Vzhledem k výstižnější povaze formátu YAML se soubor YAML doporučuje, pokud vaše nasazení zahrnuje pouze instance kontejneru. Podrobnosti o vlastnostech, které můžete nastavit, najdete v referenčních informacích k šabloně Resource Manager nebo v referenční dokumentaci k YAML.
Pokud chcete zachovat konfiguraci skupiny kontejnerů, můžete konfiguraci exportovat do souboru YAML pomocí příkazu Azure CLI az container export. Export umožňuje uložit konfigurace skupin kontejnerů ve správě verzí pro "konfiguraci jako kód". Nebo použijte exportovaný soubor jako výchozí bod při vývoji nové konfigurace v YAML.
Přidělení prostředků
Azure Container Instances přiděluje prostředky, jako jsou procesory, paměť a volitelně gpu (Preview), skupině s více kontejnery přidáním žádostí o prostředky instancí ve skupině. Když jako příklad vezmeme prostředky procesoru, pokud vytvoříte skupinu kontejnerů se dvěma instancemi kontejneru, z nichž každá vyžaduje 1 procesor, pak se skupině kontejnerů přidělí 2 procesory.
Využití prostředků instancemi kontejneru
Každé instanci kontejneru ve skupině se přidělí prostředky zadané v žádosti o prostředky. Maximální využití prostředků instancí kontejneru ve skupině se však může lišit, pokud nakonfigurujete její volitelnou vlastnost limitu prostředků . Limit prostředků instance kontejneru musí být větší nebo roven povinné vlastnosti žádosti o prostředek .
Pokud nezadáte limit prostředků, maximální využití prostředků instance kontejneru bude stejné jako její žádost o prostředky.
Pokud zadáte limit pro instanci kontejneru, může být maximální využití instance vyšší než požadavek až do vámi nastaveného limitu. V souladu s tím může dojít ke snížení využití prostředků jinými instancemi kontejneru ve skupině. Maximální limit prostředků, který můžete nastavit pro instanci kontejneru, je celkový počet prostředků přidělených skupině.
Například ve skupině se dvěma instancemi kontejneru, z nichž každá vyžaduje 1 procesor, může jeden z vašich kontejnerů spustit úlohu, která ke spuštění vyžaduje více procesorů než druhý.
V tomto scénáři můžete nastavit limit prostředků až na 2 procesory pro instanci kontejneru. Tato konfigurace umožňuje instanci kontejneru používat až 2 procesory, pokud jsou k dispozici.
Poznámka
Základní infrastruktura služby využívá malé množství prostředků skupiny kontejnerů. Kontejnery budou mít přístup k většině, ale ne ke všem prostředkům přidělených skupině. Z tohoto důvodu při vyžádání prostředků pro kontejnery ve skupině naplánujte malou vyrovnávací paměť prostředků.
Minimální a maximální přidělení
Skupině kontejnerů přidělte minimálně 1 procesor a 1 GB paměti. Jednotlivé instance kontejneru v rámci skupiny je možné zřídit s méně než 1 procesorem a 1 GB paměti.
Maximální počet prostředků ve skupině kontejnerů najdete v tématu Dostupnost prostředků pro Azure Container Instances v oblasti nasazení.
Sítě
Skupiny kontejnerů můžou sdílet externí IP adresu, jeden nebo více portů na této IP adrese a popisek DNS s plně kvalifikovaným názvem domény (FQDN). Pokud chcete externím klientům umožnit přístup ke kontejneru v rámci skupiny, musíte port zveřejnit na IP adrese a z kontejneru. IP adresa a plně kvalifikovaný název domény skupiny kontejnerů se uvolní při odstranění skupiny kontejnerů.
V rámci skupiny kontejnerů se instance kontejnerů můžou vzájemně spojit přes localhost na libovolném portu, a to i v případě, že tyto porty nejsou zpřístupněny externě na IP adrese skupiny nebo z kontejneru.
Volitelně můžete nasadit skupiny kontejnerů do virtuální sítě Azure , aby kontejnery mohly bezpečně komunikovat s dalšími prostředky ve virtuální síti.
Storage
Můžete zadat externí svazky, které se mají připojit v rámci skupiny kontejnerů. Mezi podporované svazky patří:
Tyto svazky můžete mapovat na konkrétní cesty v rámci jednotlivých kontejnerů ve skupině.
Obvyklé scénáře
Vícekontejnerové skupiny jsou užitečné v případech, kdy chcete rozdělit jeden funkční úkol do malého počtu imagí kontejneru. Tyto image pak můžou doručovat různé týmy a mají samostatné požadavky na prostředky.
Příkladem použití může být:
- Kontejner obsluhující webovou aplikaci a kontejner, který natahuje 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 metrik hlavní aplikace a zapisuje je do dlouhodobého úložiště.
- Kontejner aplikace a kontejner monitorování. Kontejner monitorování pravidelně odesílá žádost aplikaci, aby se ujistila, že běží a správně reaguje, a v opačném případě vyvolá upozornění.
- Front-endový kontejner a back-endový kontejner. Front-end může obsluhovat webovou aplikaci, přičemž back-end spouští službu pro načítání dat.
Další kroky
Zjistěte, jak nasadit skupinu kontejnerů s více kontejnery pomocí šablony Azure Resource Manager: