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ů:

Container groups diagram

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). 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á žádost o 1 procesor, skupina kontejnerů se 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í 1 procesor, může jeden z kontejnerů spustit úlohu, která vyžaduje, aby běžela více procesorů než druhá.

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ž 1 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 malý počet imagí kontejnerů. Tyto image pak můžou doručovat různé týmy a mají 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.

Další kroky

Zjistěte, jak nasadit skupinu kontejnerů s více kontejnery pomocí šablony Azure Resource Manageru: