Skupiny kontejnerů ve službě Azure Container Instances
Prostředek nejvyšší úrovně ve službě 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ě. 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 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 Manageru nebo souboru YAML. Šablona Resource Manageru 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 stručnější povaze formátu YAML se doporučuje soubor YAML, pokud vaše nasazení obsahuje pouze instance kontejneru. Podrobnosti o vlastnostech, které můžete nastavit, najdete v referenční dokumentaci k šabloně Resource Manageru nebo referenční dokumentaci 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 ukládat konfigurace skupin kontejnerů ve správě verzí pro konfiguraci jako kód. Nebo při vývoji nové konfigurace v YAML použijte exportovaný soubor jako výchozí bod.
Přidělení prostředků
Služba 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ž například vytvoříte skupinu kontejnerů se dvěma instancemi kontejneru, každá vyžaduje jeden procesor, pak se skupina kontejnerů přidělí 2 procesory.
Využití prostředků podle instancí kontejnerů
Každá instance kontejneru ve skupině je přidělena prostředkům zadaným v žádosti o prostředky. Maximální počet prostředků používaných instancí kontejneru ve skupině se ale může lišit, pokud nakonfigurujete jeho volitelnou vlastnost omezení prostředků. Limit prostředků instance kontejneru musí být větší nebo roven vlastnosti povinné žádosti o prostředek.
Pokud nezadáte limit prostředků, maximální využití prostředků instance kontejneru je stejné jako jeho žádost o prostředek.
Pokud zadáte limit pro instanci kontejneru, maximální využití instance může být větší než požadavek až do nastaveného limitu. Odpovídajícím způsobem 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, které vyžadují jeden procesor, může jeden z kontejnerů spustit úlohu, která ke spuštění vyžaduje více procesorů než ostatní.
V tomto scénáři můžete pro instanci kontejneru nastavit limit prostředků až 2 procesory. Tato konfigurace umožňuje instanci kontejneru používat až 2 procesory, pokud jsou k dispozici.
Poznámka:
Základní infrastruktura služby používá malé množství prostředků skupiny kontejnerů. Vaše 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 naplánujte malou vyrovnávací paměť prostředků při vyžádání prostředků pro kontejnery ve skupině.
Minimální a maximální přidělení
Přidělte skupině kontejnerů 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ž jedním procesorem a 1 GB paměti.
Maximální počet prostředků ve skupině kontejnerů najdete v dostupnosti prostředků pro službu 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 povolit 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 navzájem spojit přes localhost na libovolném portu, i když tyto porty nejsou externě vystavené na IP adrese skupiny nebo z kontejneru.
Volitelně nasaďte skupiny kontejnerů do virtuální sítě Azure, aby kontejnery mohly bezpečně komunikovat s dalšími prostředky ve virtuální síti.
Úložiště
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 jednotlivých kontejnerech ve skupině.
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. Tyto image můžou mít samostatné požadavky na prostředky a různé týmy je mohou dodávat.
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.
Další kroky
Zjistěte, jak nasadit skupinu kontejnerů s více kontejnery pomocí šablony Azure Resource Manageru: