Grupy kontenerów w usłudze Azure Container Instances

Zasób najwyższego poziomu w usłudze Azure Container Instances jest grupą kontenerów. W tym artykule opisano grupy kontenerów i typy scenariuszy, które włączają.

Co to jest grupa kontenerów?

Grupa kontenerów to kolekcja kontenerów, które są zaplanowane na tej samej maszynie hosta. Kontenery w grupie kontenerów współdzielą cykl życia, zasoby, sieć lokalną i woluminy magazynu. Jest on podobny do zasobnika w rozwiązaniu Kubernetes.

Na poniższym diagramie przedstawiono przykład grupy kontenerów, która zawiera wiele kontenerów:

Container groups diagram

Ta przykładowa grupa kontenerów:

  • Jest zaplanowane na jednej maszynie hosta.
  • Ma przypisaną etykietę nazwy DNS.
  • Uwidacznia jeden publiczny adres IP z jednym uwidoczniony portem.
  • Składa się z dwóch kontenerów. Jeden kontener nasłuchuje na porcie 80, a drugi nasłuchuje na porcie 5000.
  • Obejmuje dwa udziały plików platformy Azure jako instalację woluminów, a każdy kontener instaluje jeden z udziałów lokalnie.

Uwaga

Grupy z wieloma kontenerami obsługują obecnie tylko kontenery systemu Linux. W przypadku kontenerów systemu Windows usługa Azure Container Instances obsługuje tylko wdrożenie pojedynczego wystąpienia kontenera. Podczas pracy nad wprowadzeniem wszystkich funkcji do kontenerów systemu Windows można znaleźć bieżące różnice między platformami w przeglądzie usługi.

Wdrożenie

Poniżej przedstawiono dwa typowe sposoby wdrażania grupy z wieloma kontenerami: użyj szablonu usługi Resource Manager lub pliku YAML. Szablon usługi Resource Manager jest zalecany w przypadku konieczności wdrożenia dodatkowych zasobów usługi platformy Azure (na przykład udziału usługi Azure Files) podczas wdrażania wystąpień kontenera. Ze względu na bardziej zwięzły charakter formatu YAML zalecany jest plik YAML, gdy wdrożenie obejmuje tylko wystąpienia kontenerów. Aby uzyskać szczegółowe informacje na temat właściwości, które można ustawić, zobacz dokumentację dotyczącą szablonu usługi Resource Manager lub dokumentację referencyjną YAML.

Aby zachować konfigurację grupy kontenerów, możesz wyeksportować konfigurację do pliku YAML przy użyciu polecenia interfejsu wiersza polecenia platformy Azure az container export. Funkcja Eksportuj umożliwia przechowywanie konfiguracji grupy kontenerów w kontroli wersji dla "konfiguracji jako kodu". Możesz też użyć wyeksportowanego pliku jako punktu wyjścia podczas tworzenia nowej konfiguracji w języku YAML.

Alokacja zasobów

Usługa Azure Container Instances przydziela zasoby, takie jak procesory CPU, pamięć i opcjonalnie procesory GPU (wersja zapoznawcza) do grupy z wieloma kontenerami, dodając żądania zasobów wystąpień w grupie. Biorąc zasoby procesora CPU na przykład, jeśli tworzysz grupę kontenerów z dwoma wystąpieniami kontenerów, każdy żąda 1 procesor CPU, grupa kontenerów zostanie przydzielona 2 procesory CPU.

Użycie zasobów według wystąpień kontenera

Każde wystąpienie kontenera w grupie jest przydzielane zasobom określonym w żądaniu zasobu. Jednak maksymalne zasoby używane przez wystąpienie kontenera w grupie mogą być inne, jeśli skonfigurujesz jego opcjonalną właściwość limitu zasobów. Limit zasobów wystąpienia kontenera musi być większy lub równy obowiązkowej właściwości żądania zasobu.

  • Jeśli nie określisz limitu zasobów, maksymalne użycie zasobów wystąpienia kontenera jest takie samo jak żądanie zasobu.

  • Jeśli określisz limit dla wystąpienia kontenera, maksymalne użycie wystąpienia może być większe niż żądanie, maksymalnie do ustawionego limitu. W związku z tym użycie zasobów przez inne wystąpienia kontenerów w grupie może się zmniejszyć. Maksymalny limit zasobów, który można ustawić dla wystąpienia kontenera, to łączna ilość zasobów przydzielonych do grupy.

Na przykład w grupie z dwoma wystąpieniami kontenera, z których każdy żąda 1 procesora CPU, jeden z kontenerów może uruchamiać obciążenie, które wymaga uruchomienia większej liczby procesorów CPU niż inne.

W tym scenariuszu można ustawić limit zasobów wynoszący maksymalnie 2 procesory CPU dla wystąpienia kontenera. Ta konfiguracja umożliwia wystąpieniu kontenera użycie maksymalnie 2 procesorów CPU, jeśli są dostępne.

Uwaga

Niewielka ilość zasobów grupy kontenerów jest używana przez podstawową infrastrukturę usługi. Kontenery będą mogły uzyskiwać dostęp do większości, ale nie wszystkich zasobów przydzielonych do grupy. Z tego powodu zaplanuj mały bufor zasobów podczas żądania zasobów dla kontenerów w grupie.

Minimalna i maksymalna alokacja

  • Przydziel do grupy kontenerów co najmniej 1 procesor CPU i 1 GB pamięci. Pojedyncze wystąpienia kontenera w grupie można aprowizować przy użyciu mniej niż 1 procesora CPU i 1 GB pamięci.

  • Aby uzyskać maksymalną ilość zasobów w grupie kontenerów, zobacz dostępność zasobów dla usługi Azure Container Instances w regionie wdrażania.

Sieć

Grupy kontenerów mogą współużytkować zewnętrzny adres IP, co najmniej jeden port na tym adresie IP i etykietę DNS z w pełni kwalifikowaną nazwą domeny (FQDN). Aby umożliwić klientom zewnętrznym dotarcie do kontenera w grupie, należy uwidocznić port na adresie IP i z kontenera. Adres IP i nazwa FQDN grupy kontenerów są zwalniane po usunięciu grupy kontenerów.

W grupie kontenerów wystąpienia kontenerów mogą się ze sobą łączyć za pośrednictwem hosta lokalnego na dowolnym porcie, nawet jeśli te porty nie są uwidocznione zewnętrznie na adres IP grupy lub z kontenera.

Opcjonalnie wdróż grupy kontenerów w sieci wirtualnej platformy Azure, aby umożliwić kontenerom bezpieczną komunikację z innymi zasobami w sieci wirtualnej.

Storage

Można określić woluminy zewnętrzne do zainstalowania w grupie kontenerów. Obsługiwane woluminy obejmują:

Te woluminy można mapować na określone ścieżki w ramach poszczególnych kontenerów w grupie.

Typowe scenariusze

Grupy z wieloma kontenerami są przydatne w przypadkach, w których chcesz podzielić jedno zadanie funkcjonalne na niewielką liczbę obrazów kontenerów. Te obrazy mogą być następnie dostarczane przez różne zespoły i mają oddzielne wymagania dotyczące zasobów.

Przykładowe użycie może obejmować:

  • Kontener obsługujący aplikację internetową i kontener ściągający najnowszą zawartość z kontroli źródła.
  • Kontener aplikacji i kontener rejestrowania. Kontener rejestrowania zbiera dzienniki i metryki wyjściowe przez główną aplikację i zapisuje je w magazynie długoterminowym.
  • Kontener aplikacji i kontener monitorowania. Kontener monitorowania okresowo wysyła żądanie do aplikacji, aby upewnić się, że działa i odpowiada prawidłowo, i zgłasza alert, jeśli nie.
  • Kontener frontonu i kontener zaplecza. Fronton może obsługiwać aplikację internetową, a zaplecze uruchamia usługę do pobierania danych.

Następne kroki

Dowiedz się, jak wdrożyć grupę kontenerów z wieloma kontenerami przy użyciu szablonu usługi Azure Resource Manager: