Container groepen in Azure Container InstancesContainer groups in Azure Container Instances

De resource op het hoogste niveau in Azure Container Instances is de container groep.The top-level resource in Azure Container Instances is the container group. In dit artikel wordt beschreven wat de container groepen zijn en welke scenario's er worden ingeschakeld.This article describes what container groups are and the types of scenarios they enable.

Hoe een container groep werktHow a container group works

Een container groep is een verzameling van containers die op dezelfde hostcomputer worden gepland.A container group is a collection of containers that get scheduled on the same host machine. De containers in een container groep delen een levens cyclus, bronnen, lokaal netwerk en opslag volumes.The containers in a container group share a lifecycle, resources, local network, and storage volumes. Het is vergelijkbaar met het concept van een pod in Kubernetes.It's similar in concept to a pod in Kubernetes.

In het volgende diagram ziet u een voor beeld van een container groep die meerdere containers bevat:The following diagram shows an example of a container group that includes multiple containers:

Diagram container groepen

Deze voorbeeld container groep:This example container group:

  • Is gepland op één hostcomputer.Is scheduled on a single host machine.
  • Aan wordt een DNS-naam label toegewezen.Is assigned a DNS name label.
  • Beschrijft één openbaar IP-adres met één blootgestelde poort.Exposes a single public IP address, with one exposed port.
  • Bestaat uit twee containers.Consists of two containers. Eén container luistert op poort 80, terwijl de andere wordt geluisterd op poort 5000.One container listens on port 80, while the other listens on port 5000.
  • Bevat twee Azure-bestands shares als volume koppels en elke container koppelt een van de shares lokaal.Includes two Azure file shares as volume mounts, and each container mounts one of the shares locally.

Notitie

Groepen met meerdere containers ondersteunen momenteel alleen Linux-containers.Multi-container groups currently support only Linux containers. Voor Windows-containers ondersteunt Azure Container Instances alleen implementatie van één exemplaar.For Windows containers, Azure Container Instances only supports deployment of a single instance. Hoewel we aan de slag gaan met het toevoegen van alle functies aan Windows-containers, kunt u de huidige platform verschillen vinden in het overzichtvan de service.While we are working to bring all features to Windows containers, you can find current platform differences in the service Overview.

ImplementatieDeployment

Hier volgen twee algemene manieren om een groep met meerdere containers te implementeren: gebruik een Resource Manager-sjabloon of een yaml-bestand.Here are two common ways to deploy a multi-container group: use a Resource Manager template or a YAML file. Een resource manager-sjabloon wordt aanbevolen wanneer u aanvullende Azure-service resources (bijvoorbeeld een Azure Files share) moet implementeren wanneer u de container instanties implementeert.A Resource Manager template is recommended when you need to deploy additional Azure service resources (for example, an Azure Files share) when you deploy the container instances. Als gevolg van de YAML-indeling, wordt een YAML-bestand aanbevolen wanneer uw implementatie alleen container instanties bevat.Due to the YAML format's more concise nature, a YAML file is recommended when your deployment includes only container instances.

Als u de configuratie van een container groep wilt behouden, kunt u de configuratie exporteren naar een YAML-bestand met behulp van de Azure CLI-opdracht AZ container export.To preserve a container group's configuration, you can export the configuration to a YAML file by using the Azure CLI command az container export. Met exporteren kunt u de configuraties van container groepen opslaan in versie beheer voor ' configuratie als code '.Export allows you to store your container group configurations in version control for "configuration as code." Of gebruik het geëxporteerde bestand als uitgangs punt bij het ontwikkelen van een nieuwe configuratie in YAML.Or, use the exported file as a starting point when developing a new configuration in YAML.

Resource toewijzingResource allocation

Azure Container Instances wijst resources, zoals Cpu's, geheugen en optioneel gpu's (preview), toe aan een container groep door de resource-aanvragen van de instanties in de groep toe te voegen.Azure Container Instances allocates resources such as CPUs, memory, and optionally GPUs (preview) to a container group by adding the resource requests of the instances in the group. Het maken van CPU-resources als voor beeld als u een container groep maakt met twee exemplaren, die elk één CPU aanvragen, wordt twee Cpu's toegewezen aan de container groep.Taking CPU resources as an example, if you create a container group with two instances, each requesting 1 CPU, then the container group is allocated 2 CPUs.

De Maxi maal beschik bare resources voor een container groep zijn afhankelijk van de Azure-regio die wordt gebruikt voor de implementatie.The maximum resources available for a container group depend on the Azure region used for the deployment.

Container resource aanvragen en-limietenContainer resource requests and limits

  • Standaard delen container instanties in een groep de aangevraagde resources van de groep.By default, container instances in a group share the requested resources of the group. In een groep met twee exemplaren die elk één CPU aanvragen, heeft de groep als geheel toegang tot twee Cpu's.In a group with two instances each requesting 1 CPU, the group as whole has access to 2 CPUs. Elk exemplaar kan tot de twee Cpu's gebruiken en de exemplaren kunnen concurreren voor CPU-bronnen wanneer ze worden uitgevoerd.Each instance can use up to the 2 CPUs and the instances may compete for CPU resource while they are running.

  • Als u het resource gebruik wilt beperken door een instantie in een groep, stelt u eventueel een resource limiet in voor het exemplaar.To limit resource usage by an instance in a group, optionally set a resource limit for the instance. In een groep met twee instanties die 1 CPU aanvragen, is het mogelijk dat een van de containers meer Cpu's nodig heeft dan de andere.In a group with two instances requesting 1 CPU, one of your containers might require more CPUs to run than the other.

    In dit scenario kunt u een resource limiet van 0,5 CPU instellen voor één exemplaar en een limiet van 2 Cpu's voor de tweede.In this scenario, you could set a resource limit of 0.5 CPU for one instance, and a limit of 2 CPUs for the second. Met deze configuratie wordt het resource gebruik van de eerste container beperkt tot 0,5 CPU, waardoor de tweede container Maxi maal twee Cpu's kan gebruiken, indien beschikbaar.This configuration limits the first container's resource usage to 0.5 CPU, allowing the second container to use up to the full 2 CPUs if available.

Zie de eigenschap ResourceRequirements in de container groepen rest API voor meer informatie.For more information, see the ResourceRequirements property in the container groups REST API.

Minimale en maximale toewijzingMinimum and maximum allocation

  • Wijs Mini maal 1 CPU en 1 GB aan geheugen toe aan een container groep.Allocate a minimum of 1 CPU and 1 GB of memory to a container group. Afzonderlijke container instanties binnen een groep kunnen worden ingericht met minder dan 1 CPU en 1 GB geheugen.Individual container instances within a group can be provisioned with less than 1 CPU and 1 GB of memory.

  • Voor het maximum aantal resources in een container groep raadpleegt u de beschik baarheid van resources voor Azure container instances in de implementatie regio.For the maximum resources in a container group, see the resource availability for Azure Container Instances in the deployment region.

NetwerkenNetworking

Container groepen delen een IP-adres en een poort naam ruimte op dat IP-adres.Container groups share an IP address and a port namespace on that IP address. Om externe clients in staat te stellen een container binnen de groep te bereiken, moet u de poort op het IP-adres en uit de container zichtbaar maken.To enable external clients to reach a container within the group, you must expose the port on the IP address and from the container. Omdat containers binnen de groep een poort naam ruimte delen, wordt poort toewijzing niet ondersteund.Because containers within the group share a port namespace, port mapping isn't supported. Containers in een groep kunnen elkaar via localhost bereiken op de poorten die ze hebben blootgesteld, zelfs als deze poorten niet extern worden weer gegeven op het IP-adres van de groep.Containers within a group can reach each other via localhost on the ports that they have exposed, even if those ports aren't exposed externally on the group's IP address.

Implementeer eventueel container groepen in een virtueel Azure-netwerk (preview) zodat containers veilig kunnen communiceren met andere resources in het virtuele netwerk.Optionally deploy container groups into an Azure virtual network (preview) to allow containers to communicate securely with other resources in the virtual network.

StorageStorage

U kunt externe volumes opgeven om te koppelen binnen een container groep.You can specify external volumes to mount within a container group. U kunt deze volumes toewijzen aan specifieke paden binnen de afzonderlijke containers in een groep.You can map those volumes into specific paths within the individual containers in a group.

Algemene scenario'sCommon scenarios

Groepen met meerdere containers zijn handig in gevallen waarin u één functionele taak wilt verdelen in een klein aantal container installatie kopieën.Multi-container groups are useful in cases where you want to divide a single functional task into a small number of container images. Deze installatie kopieën kunnen vervolgens worden geleverd door verschillende teams en hebben afzonderlijke resource vereisten.These images can then be delivered by different teams and have separate resource requirements.

Het gebruik van het voor beeld kan het volgende omvatten:Example usage could include:

  • Een container met een webtoepassing en een container die de meest recente inhoud van broncode beheer ophaalt.A container serving a web application and a container pulling the latest content from source control.
  • Een toepassings container en een logboek registratie-container.An application container and a logging container. De logboek registratie container verzamelt de logboeken en metrische gegevens die worden uitgevoerd door de hoofd toepassing en schrijft deze naar lange termijn opslag.The logging container collects the logs and metrics output by the main application and writes them to long-term storage.
  • Een toepassings container en een bewakings container.An application container and a monitoring container. De controle container maakt regel matig een aanvraag voor de toepassing om te controleren of deze actief is en correct reageert, en genereert een waarschuwing als dat niet het geval is.The monitoring container periodically makes a request to the application to ensure that it's running and responding correctly, and raises an alert if it's not.
  • Een front-end-container en een back-end-container.A front-end container and a back-end container. De front-end kan een webtoepassing zijn, waarbij de back-end een service uitvoert om gegevens op te halen.The front end might serve a web application, with the back end running a service to retrieve data.

Volgende stappenNext steps

Meer informatie over het implementeren van een container groep met meerdere containers met een Azure Resource Manager-sjabloon:Learn how to deploy a multi-container container group with an Azure Resource Manager template: