Containergroepen in Azure Container InstancesContainer groups in Azure Container Instances

De resource op het hoogste niveau in Azure Container Instances is de containergroep.The top-level resource in Azure Container Instances is the container group. Dit artikel wordt beschreven wat containergroepen zijn en de typen van scenario's die ze inschakelen.This article describes what container groups are and the types of scenarios they enable.

De werking van een containergroepHow a container group works

Een containergroep is een verzameling van containers die u gepland op dezelfde hostcomputer.A container group is a collection of containers that get scheduled on the same host machine. De containers in een containergroep delen een levenscyclus, resources, lokale netwerk en opslagvolumes.The containers in a container group share a lifecycle, resources, local network, and storage volumes. Qua concept dat is een pod in Kubernetes.It's similar in concept to a pod in Kubernetes.

Het volgende diagram toont een voorbeeld van een containergroep met meerdere containers:The following diagram shows an example of a container group that includes multiple containers:

Diagram van container-groepen

In dit voorbeeld van de container-groep:This example container group:

  • Is gepland op één enkele hostcomputer.Is scheduled on a single host machine.
  • Een DNS-naamlabel toegewezen.Is assigned a DNS name label.
  • Wordt aangegeven dat een enkel openbaar IP-adres, met één beschikbaar gestelde poort.Exposes a single public IP address, with one exposed port.
  • Bestaat uit twee containers.Consists of two containers. Een container luistert op poort 80, terwijl de andere luistert op poort 5000.One container listens on port 80, while the other listens on port 5000.
  • Bevat twee Azure-bestandsshares als volume koppelingen 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 de implementatie van één exemplaar.For Windows containers, Azure Container Instances only supports deployment of a single instance. Terwijl we werken om alle functies op Windows-containers, vindt u de huidige platform verschillen in de service overzicht.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 implementeren: gebruik een [Resource Manager-sjabloon] resource-manager template of een YAML-bestand.Here are two common ways to deploy a multi-container group: use a Resource Manager template or a YAML file. Resource Manager-sjabloon wordt aanbevolen wanneer u moet extra Azure-serviceresources implementeren (bijvoorbeeld een Azure Files delen) wanneer u de containerinstanties 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. Vanwege de YAML-indeling meer beknopte aard, worden een YAML-bestand wordt aanbevolen wanneer uw implementatie alleen containerinstanties bevat.Due to the YAML format's more concise nature, a YAML file is recommended when your deployment includes only container instances.

Als u wilt behouden de configuratie van de containergroep van een, kunt u de configuratie exporteren naar een YAML-bestand met behulp van de Azure CLI-opdracht az container exporteren.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. Export kunt u voor het opslaan van de configuratie van uw container in versiebeheer voor 'configuratie als code'.Export allows you to store your container group configurations in version control for "configuration as code." Of het geëxporteerde bestand als uitgangspunt gebruiken 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.

Toewijzing van resourcesResource allocation

Azure Container Instances toegewezen resources, zoals CPU, geheugen, en eventueel [GPU's] gpus (preview) en een containergroep door toe te voegen de [resourceaanvragen] resource-requests van de exemplaren in de groep.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. CPU-resources nemen een voorbeeld: als u een containergroep met twee instanties, elke aanvragende 1 maken CPU en vervolgens de containergroep wordt toegewezen 2 CPU's.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 maximale beschikbare resources voor een containergroep afhankelijk zijn van de [Azure-regio] region-availability gebruikt voor de implementatie.The maximum resources available for a container group depend on the Azure region used for the deployment.

Container resourceaanvragen en -limietenContainer resource requests and limits

  • Standaard, containerexemplaren in een groep delen 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 met elke aanvragende 1 CPU, de groep als geheel heeft toegang tot 2 CPU's.In a group with two instances each requesting 1 CPU, the group as whole has access to 2 CPUs. Elk exemplaar u kunt de 2 CPU's kunt gebruiken en de exemplaren kunnen concurreren om CPU-bronnen, terwijl 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 wilt beperken Resourcegebruik door een instantie in een groep, eventueel instellen een [resourcelimiet] resource-limits voor het exemplaar.To limit resource usage by an instance in a group, optionally set a resource limit for the instance. Aanvragen in een groep met twee exemplaren van 1 CPU, een van uw containers mogelijk meer CPU's vereist zijn om uit te voeren 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 kan stelt u een resourcelimiet van 0,5 CPU 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. Deze configuratie beperkt gebruik van de eerste container op 0,5 CPU, zodat de tweede container die u kunt de volledige 2 CPU's 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 voor meer informatie de [ResourceRequirements] resource-requirements eigenschap in de container groepen REST-API.For more information, see the ResourceRequirements property in the container groups REST API.

Minimale en maximale toewijzingMinimum and maximum allocation

  • Toewijzen van een minimale van 1 CPU- en 1 GB geheugen aan een containergroep.Allocate a minimum of 1 CPU and 1 GB of memory to a container group. Afzonderlijke containerinstanties 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 de maximale resources in een containergroep, Zie de [resourcebeschikbaarheid] [aci--beschikbaarheid in regio] voor Azure Container Instances in de implementatieregio.For the maximum resources in a container group, see the [resource availability][aci-region-availability] for Azure Container Instances in the deployment region.

NetwerkenNetworking

Containergroepen delen een IP-adres en een poort-naamruimte op dat IP-adres.Container groups share an IP address and a port namespace on that IP address. Als u externe clients tot een container in de groep, moet u de poort van het IP-adres en de container beschikbaar 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. Aangezien containers in de groep een poort-naamruimte delen, wordt niet poorttoewijzing ondersteund.Because containers within the group share a port namespace, port mapping isn't supported. Containers in een groep kunnen bereiken elkaar via ' localhost ' op de poorten die ze beschikbaar zijn gesteld, zelfs als deze poorten extern worden niet op het IP-adres van de groep weergegeven.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.

(Optioneel) implementeren containergroepen in een [virtueel Azure-netwerk] virtual-network (preview) om toe te staan van containers om veilig te 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 te koppelen binnen een containergroep opgeven.You can specify external volumes to mount within a container group. U kunt deze volumes in specifieke paden binnen de afzonderlijke containers in een groep toewijzen.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 waar u wilt een enkele functionele taak onderverdelen in een klein aantal containerinstallatiekopieë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 installatiekopieën vervolgens kunnen worden geleverd door verschillende teams en afzonderlijke resourcevereisten hebben.These images can then be delivered by different teams and have separate resource requirements.

Voorbeeld kan zijn:Example usage could include:

  • Een container voor een webtoepassing en een container voor het binnenhalen van de meest recente inhoud vanuit broncodebeheer.A container serving a web application and a container pulling the latest content from source control.
  • Een App-container en een container voor logboekregistratie.An application container and a logging container. De container logboekregistratie de hoofdtoepassing de uitvoer van de logboeken en metrische gegevens verzamelt en schrijft deze naar langetermijnopslag.The logging container collects the logs and metrics output by the main application and writes them to long-term storage.
  • Een App-container en een controle-container.An application container and a monitoring container. De container monitoring zendt een verzoek periodiek naar de toepassing om ervoor te zorgen dat deze actief is en goed reageert, en een waarschuwing genereert als deze niet.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, dienen met de back-end van een service om gegevens 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 multi-containertoepassingen-containergroep met een Azure Resource Manager-sjabloon:Learn how to deploy a multi-container container group with an Azure Resource Manager template: