Containergruppen in Azure Container InstancesContainer groups in Azure Container Instances

Die oberste Ressource in Azure Container Instances ist die Containergruppe.The top-level resource in Azure Container Instances is the container group. In diesem Artikel wird beschrieben, was Containergruppen sind und welche Arten von Szenarien damit möglich sind.This article describes what container groups are and the types of scenarios they enable.

Was ist eine Containergruppe?What is a container group?

Eine Containergruppe ist eine Sammlung mit Containern, die auf demselben Hostcomputer geplant werden.A container group is a collection of containers that get scheduled on the same host machine. Für die Container einer Containergruppe werden der Lebenszyklus, die Ressourcen, das lokale Netzwerk und die Speichervolumes gemeinsam genutzt.The containers in a container group share a lifecycle, resources, local network, and storage volumes. Dies ähnelt dem Pod-Konzept in Kubernetes.It's similar in concept to a pod in Kubernetes.

Das folgende Diagramm zeigt ein Beispiel für eine Containergruppe, die mehrere Container enthält:The following diagram shows an example of a container group that includes multiple containers:

Diagramm zu Containergruppen

Für diese Beispielcontainergruppe gilt Folgendes:This example container group:

  • Sie wird auf einem einzelnen Hostcomputer geplant.Is scheduled on a single host machine.
  • Ihr ist eine DNS-Namensbezeichnung zugewiesen.Is assigned a DNS name label.
  • Sie macht eine einzelne öffentliche IP-Adresse mit einem Port verfügbar.Exposes a single public IP address, with one exposed port.
  • Sie besteht aus zwei Containern.Consists of two containers. Ein Container lauscht über Port 80 und der andere über Port 5000.One container listens on port 80, while the other listens on port 5000.
  • Sie enthält zwei Azure-Dateifreigaben als Volumebereitstellungen, und jeder Container stellt eine der Freigaben lokal bereit.Includes two Azure file shares as volume mounts, and each container mounts one of the shares locally.

Hinweis

Gruppen mit mehreren Containern unterstützen aktuell nur Linux-Container.Multi-container groups currently support only Linux containers. Für Windows-Container unterstützt Azure Container Instances nur die Bereitstellung einer einzelnen Containerinstanz.For Windows containers, Azure Container Instances only supports deployment of a single container instance. Bis alle Features auch für Windows-Container verfügbar sind, finden Sie die aktuellen Plattformunterschiede in der Dienstübersicht.While we are working to bring all features to Windows containers, you can find current platform differences in the service Overview.

BereitstellungDeployment

Zwei gebräuchliche Möglichkeiten zum Bereitstellen einer Gruppe mit mehreren Containern sind eine Resource Manager-Vorlage oder eine YAML-Datei.Here are two common ways to deploy a multi-container group: use a Resource Manager template or a YAML file. Verwenden Sie eine Resource Manager-Vorlage, wenn Sie bei der Bereitstellung von Containerinstanzen zusätzliche Azure-Dienstressourcen (z.B. eine Azure Files-Freigabe) bereitstellen müssen.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. Das YAML-Format ist präziser, daher wird eine YAML-Datei empfohlen, wenn Ihre Bereitstellung nur Containerinstanzen enthält.Due to the YAML format's more concise nature, a YAML file is recommended when your deployment includes only container instances. Details zu den Eigenschaften, die Sie festlegen können, finden Sie in der Referenzdokumentation zu Resource Manager-Vorlagen oder YAML.For details on properties you can set, see the Resource Manager template reference or YAML reference documentation.

Mit dem Azure CLI-Befehl az container export können Sie die Konfiguration einer Containergruppe in eine YAML-Datei exportieren, um diese beizubehalten.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. Durch den Export können Sie die Konfiguration einer Containergruppe in der Versionskontrolle für „Konfiguration als Code“ speichern.Export allows you to store your container group configurations in version control for "configuration as code." Oder Sie können die exportierte Datei als Ausgangspunkt bei der Entwicklung einer neuen Konfiguration in YAML verwenden.Or, use the exported file as a starting point when developing a new configuration in YAML.

RessourcenzuteilungResource allocation

Azure Container Instances weist einer Gruppe mit mehreren Containern Ressourcen wie CPUs, Arbeitsspeicher und optional GPUs (Vorschau) zu, indem die Ressourcenanforderungen der Instanzen in der Gruppe hinzugefügt werden.Azure Container Instances allocates resources such as CPUs, memory, and optionally GPUs (preview) to a multi-container group by adding the resource requests of the instances in the group. Wenn Sie zum Beispiel bei CPU-Ressourcen eine Containergruppe mit zwei Containerinstanzen erstellen, von denen jede eine CPU erfordert, werden der Containergruppe zwei CPUs zugeordnet.Taking CPU resources as an example, if you create a container group with two container instances, each requesting 1 CPU, then the container group is allocated 2 CPUs.

Ressourcenverwendung durch ContainerinstanzenResource usage by container instances

Jeder Containerinstanz in einer Gruppe sind die Ressourcen zugeordnet, die in der jeweiligen Ressourcenanforderung angegeben sind.Each container instance in a group is allocated the resources specified in its resource request. Die maximalen Ressourcen, die von einer Containerinstanz in einer Gruppe verwendet werden, können sich jedoch unterscheiden, wenn Sie die optionale Eigenschaft Ressourcenlimit konfigurieren.However, the maximum resources used by a container instance in a group could be different if you configure its optional resource limit property. Das Ressourcenlimit einer Containerinstanz muss größer als oder gleich der obligatorischen Eigenschaft Ressourcenanforderung sein.The resource limit of a container instance must be greater than or equal to the mandatory resource request property.

  • Wenn Sie kein Ressourcenlimit angeben, ist die maximale Ressourcenverwendung der Containerinstanz identisch mit der Ressourcenanforderung.If you don't specify a resource limit, the container instance's maximum resource usage is the same as its resource request.

  • Wenn Sie ein Limit für eine Containerinstanz angeben, kann die maximale Auslastung der Instanz bis zu dem von Ihnen festgelegten Limit größer sein als die Anforderung.If you specify a limit for a container instance, the instance's maximum usage could be greater than the request, up to the limit you set. Dementsprechend kann die Ressourcenverwendung durch andere Containerinstanzen in der Gruppe abnehmen.Correspondingly, resource usage by other container instances in the group could decrease. Als maximales Ressourcenlimit für eine Containerinstanz können Sie die Gesamtmenge der Ressourcen festlegen, die der Gruppe zugeordnet sind.The maximum resource limit you can set for a container instance is the total resources allocated to the group.

In einer Gruppe mit zwei Containerinstanzen, die jeweils eine CPU anfordern, kann beispielsweise eine Workload für einen Ihrer Container ausgeführt werden, die mehr CPUs für die Ausführung erfordert, als der andere Container aufweist.For example, in a group with two container instances each requesting 1 CPU, one of your containers might run a workload that requires more CPUs to run than the other.

In diesem Szenario könnten Sie einen Ressourcengrenzwert von bis zu 2 CPUs für die Containerinstanz festlegen.In this scenario, you could set a resource limit of up to 2 CPUs for the container instance. Diese Konfiguration erlaubt es der Containerinstanz, bis zu zwei CPUs zu nutzen, sofern diese verfügbar sind.This configuration allows the container instance to use up to 2 CPUs if available.

Hinweis

Ein kleiner Teil der Ressourcen einer Containergruppe wird von der zugrunde liegenden Infrastruktur des Diensts verwendet.A small amount of a container group's resources is used by the service's underlying infrastructure. Ihre Container können auf die meisten, aber nicht alle Ressourcen zugreifen, die der Gruppe zugeordnet sind.Your containers will be able to access most but not all of the resources allocated to the group. Planen Sie aus diesem Grund einen kleinen Ressourcenpuffer ein, wenn Sie Ressourcen für Container in der Gruppe anfordern.For this reason, plan a small resource buffer when requesting resources for containers in the group.

Minimale und maximale ZuordnungMinimum and maximum allocation

  • Ordnen Sie einer Containergruppe mindestens 1 CPU und 1 GB Arbeitsspeicher zu.Allocate a minimum of 1 CPU and 1 GB of memory to a container group. Einzelne Containerinstanzen in einer Gruppe können mit weniger als 1 CPU und 1 GB Arbeitsspeicher bereitgestellt werden.Individual container instances within a group can be provisioned with less than 1 CPU and 1 GB of memory.

  • Informationen zur maximalen Zuordnung von Ressourcen in einer Containergruppe finden Sie unter Ressourcenverfügbarkeit für Azure Container Instances in der Bereitstellungsregion.For the maximum resources in a container group, see the resource availability for Azure Container Instances in the deployment region.

NetzwerkNetworking

Containergruppen können eine externe IP-Adresse, mindestens einen Port für diese IP-Adresse sowie eine DNS-Bezeichnung mit einem vollqualifizierter Domänennamen teilen.Container groups can share an external-facing IP address, one or more ports on that IP address, and a DNS label with a fully qualified domain name (FQDN). Sie müssen den Port unter der IP-Adresse und für den Container verfügbar machen, um es externen Clients zu ermöglichen, einen Container in der Gruppe zu erreichen.To enable external clients to reach a container within the group, you must expose the port on the IP address and from the container. Die IP-Adresse und der vollqualifizierte Domänenname einer Containergruppe werden freigegeben, wenn die Containergruppe gelöscht wird.A container group's IP address and FQDN are released when the container group is deleted.

Innerhalb einer Containergruppe können sich Containerinstanzen über localhost auf jedem Port gegenseitig erreichen, auch wenn diese Ports nicht extern über die IP-Adresse der Gruppe oder aus dem Container verfügbar gemacht werden.Within a container group, container instances can reach each other via localhost on any port, even if those ports aren't exposed externally on the group's IP address or from the container.

Durch die optionale Bereitstellung von Containergruppen in einem virtuellen Azure-Netzwerk können Container sicher mit anderen Ressourcen im virtuellen Netzwerk kommunizieren.Optionally deploy container groups into an Azure virtual network to allow containers to communicate securely with other resources in the virtual network.

StorageStorage

Sie können externe Volumes für die Bereitstellung in einer Containergruppe angeben.You can specify external volumes to mount within a container group. Folgende Volumes werden unterstützt:Supported volumes include:

Sie können diese Volumes bestimmten Pfaden in den einzelnen Containern einer Gruppe zuordnen.You can map those volumes into specific paths within the individual containers in a group.

Häufige SzenariosCommon scenarios

Gruppen mit mehreren Containern sind nützlich, wenn Sie eine einzelne funktionale Aufgabe auf eine kleine Anzahl von Containerimages aufteilen wollen.Multi-container groups are useful in cases where you want to divide a single functional task into a small number of container images. Diese Images können dann von verschiedenen Teams bereitgestellt werden und separate Ressourcenanforderungen aufweisen.These images can then be delivered by different teams and have separate resource requirements.

Beispiel für Verwendung:Example usage could include:

  • Ein Container, über den eine Webanwendung bereitgestellt wird, und ein Container, der den aktuellen Inhalt aus der Quellcodeverwaltung abruft.A container serving a web application and a container pulling the latest content from source control.
  • Ein Anwendungscontainer und ein Protokollierungscontainer.An application container and a logging container. Mit dem Protokollierungscontainer werden die Protokolle und Metriken gesammelt, die von der Hauptanwendung ausgegeben werden, und in den Langzeitspeicher geschrieben.The logging container collects the logs and metrics output by the main application and writes them to long-term storage.
  • Ein Anwendungscontainer und ein Überwachungscontainer.An application container and a monitoring container. Der Überwachungscontainer sendet regelmäßig eine Anforderung an die Anwendung, um sicherzustellen, dass sie ausgeführt wird und richtig reagiert. Andernfalls wird eine Warnung ausgelöst.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.
  • Ein Front-End-Container und ein Back-End-Container.A front-end container and a back-end container. Das Front-End kann als Webanwendung dienen und das Back-End einen Dienst zum Abrufen von Daten ausführen.The front end might serve a web application, with the back end running a service to retrieve data.

Nächste SchritteNext steps

Informieren Sie sich über das Bereitstellen einer Gruppe mit mehreren Containern per Azure Resource Manager-Vorlage.Learn how to deploy a multi-container container group with an Azure Resource Manager template: