In diesem Artikel werden die Syntax und Eigenschaften der YAML-Datei behandelt, die von Azure Container Instances unterstützt wird, um eine Containergruppe zu konfigurieren. Verwenden Sie eine YAML-Datei, um die Gruppenkonfiguration in den Befehl "az container create" im Azure CLI einzugeben.
Eine YAML-Datei ist eine bequeme Möglichkeit, eine Containergruppe für reproduzierbare Bereitstellungen zu konfigurieren. Es ist eine präzise Alternative zur Verwendung einer Resource Manager Vorlage oder der Azure Container Instances SDKs zum Erstellen oder Aktualisieren einer Containergruppe.
Note
Dieser Verweis gilt für YAML-Dateien für Azure Container Instances REST-API-Version2021-10-01.
Schema
Das Schema für die YAML-Datei folgt, einschließlich Kommentaren zum Hervorheben wichtiger Eigenschaften. Eine Beschreibung der Eigenschaften in diesem Schema finden Sie im Abschnitt "Eigenschaftswerte ".
name: string # Name of the container group
apiVersion: '2021-10-01'
location: string
tags: {}
identity:
type: string
userAssignedIdentities: {}
properties: # Properties of container group
containers: # Array of container instances in the group
- name: string # Name of an instance
properties: # Properties of an instance
image: string # Container image used to create the instance
command:
- string
ports: # External-facing ports exposed on the instance, must also be set in group ipAddress property
- protocol: string
port: integer
environmentVariables:
- name: string
value: string
secureValue: string
resources: # Resource requirements of the instance
requests:
memoryInGB: number
cpu: number
gpu:
count: integer
sku: string
limits:
memoryInGB: number
cpu: number
gpu:
count: integer
sku: string
volumeMounts: # Array of volume mounts for the instance
- name: string
mountPath: string
readOnly: boolean
livenessProbe:
exec:
command:
- string
httpGet:
httpHeaders:
- name: string
value: string
path: string
port: integer
scheme: string
initialDelaySeconds: integer
periodSeconds: integer
failureThreshold: integer
successThreshold: integer
timeoutSeconds: integer
readinessProbe:
exec:
command:
- string
httpGet:
httpHeaders:
- name: string
value: string
path: string
port: integer
scheme: string
initialDelaySeconds: integer
periodSeconds: integer
failureThreshold: integer
successThreshold: integer
timeoutSeconds: integer
imageRegistryCredentials: # Credentials to pull a private image
- server: string
username: string
password: string
identity: string
identityUrl: string
restartPolicy: string
ipAddress: # IP address configuration of container group
ports:
- protocol: string
port: integer
type: string
ip: string
dnsNameLabel: string
autoGeneratedDomainNameLabelScope: string
osType: string
volumes: # Array of volumes available to the instances
- name: string
azureFile:
shareName: string
readOnly: boolean
storageAccountName: string
storageAccountKey: string
emptyDir: {}
secret: {}
gitRepo:
directory: string
repository: string
revision: string
diagnostics:
logAnalytics:
workspaceId: string
workspaceKey: string
workspaceResourceId: string
logType: string
metadata: {}
subnetIds: # Subnet to deploy the container group into
- id: string
name: string
dnsConfig: # DNS configuration for container group
nameServers:
- string
searchDomains: string
options: string
sku: string # SKU for the container group
encryptionProperties:
vaultBaseUrl: string
keyName: string
keyVersion: string
initContainers: # Array of init containers in the group
- name: string
properties:
image: string
command:
- string
environmentVariables:
- name: string
value: string
secureValue: string
volumeMounts:
- name: string
mountPath: string
readOnly: boolean
Immobilienwerte
In den folgenden Tabellen werden die Werte beschrieben, die Sie im Schema festlegen müssen.
Microsoft. ContainerInstance/containerGroups-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| Name |
string |
Yes |
Der Name der Containergruppe. |
| apiVersion (Englisch) |
enum |
Yes |
2021-10-01 (neueste), 2021-09-01, 2021-07-01, 2021-03-01, 2020-11-01, 2019-12-01, 2018-10-01, 2018-09-01, 2018-07-01, 2018-06-01, 2018-04-01 |
| Ort |
string |
No |
Der Ressourcenspeicherort. |
| tags |
object |
No |
Die Ressourcentags. |
| identity |
object |
No |
Die Identität der Containergruppe, falls konfiguriert.
-
ContainerGroupIdentity-Objekt |
| Eigenschaften |
object |
Yes |
ContainerGroupProperties-Objekt |
ContainerGroupIdentity-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| type |
enum |
No |
Der Identitätstyp, der für die Containergruppe verwendet wird. Der Typ "SystemAssigned, UserAssigned" enthält sowohl eine implizit erstellte Identität als auch eine Gruppe von vom Benutzer zugewiesenen Identitäten. Der Typ "None" entfernt alle Identitäten aus der Containergruppe. - SystemAssigned, UserAssigned, SystemAssigned, UserAssigned, None |
| userAssignedIdentities |
object |
No |
Die Liste der Benutzeridentitäten, die der Containergruppe zugeordnet sind. Die Benutzeridentitätswörterbuchschlüsselverweise sind Azure Resource Manager Ressourcen-IDs im Formular: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft. ManagedIdentity/userAssignedIdentities/{identityName}'. |
ContainerGroupProperties-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| Container |
array |
Yes |
Die Container innerhalb der Containergruppe.
-
Container-Objekt |
| imageRegistryAnmeldeinformationen |
array |
No |
Die Imageregistrierungsanmeldeinformationen, aus denen die Containergruppe erstellt wird.
-
ImageRegistryCredential-Objekt |
| restartPolicy |
enum |
No |
Starten Sie die Richtlinie für alle Container innerhalb der Containergruppe neu.
-
Always Always restart- Restart on failure- OnFailureNever Never restart. - Always, OnFailure, Never |
| ipAddress |
object |
No |
Der IP-Adresstyp der Containergruppe.
-
IpAddress-Objekt |
| osTyp |
enum |
Yes |
Der Betriebssystemtyp, der von den Containern in der Containergruppe benötigt wird. - Windows oder Linux |
| volumes |
array |
No |
Die Liste der Volumes, die Container in dieser Containergruppe bereitstellen können.
-
Volume-Objekt |
| diagnostics |
object |
No |
Die Diagnoseinformationen für eine Containergruppe.
-
ContainerGroupDiagnostics-Objekt |
| Subnetz-ID |
object |
No |
Die Subnetzinformationen für eine Containergruppe.
-
ContainerGroupSubnetIds-Objekt |
| dnsConfig |
object |
No |
Die DNS-Konfigurationsinformationen für eine Containergruppe.
-
DnsConfiguration-Objekt |
| sku |
enum |
No |
Die SKU für eine Containergruppe – Standard oder Dedizierte |
| encryptionEigenschaften |
object |
No |
Die Verschlüsselungseigenschaften für eine Containergruppe.
-
EncryptionProperties-Objekt |
| init-Container |
array |
No |
Die Init-Container für eine Containergruppe.
-
InitContainerDefinition-Objekt |
Container-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| Name |
string |
Yes |
Der vom Benutzer bereitgestellte Name der Containerinstanz. |
| Eigenschaften |
object |
Yes |
Die Eigenschaften der Containerinstanz.
-
ContainerProperties-Objekt |
ImageRegistryCredential-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| server |
string |
Yes |
Der Docker-Imageregistrierungsserver ohne Protokoll wie "http" und "https". |
| username |
string |
No |
Der Benutzername für die private Registrierung. |
| password |
string |
No |
Das Kennwort für die private Registrierung. |
| identity |
string |
No |
Die Ressourcen-ID der vom Benutzer zugewiesenen verwalteten Identität, die für die Authentifizierung verwendet wird. Vom System zugewiesene verwaltete Identität wird für ACR-Image-Pulls nicht unterstützt. |
| identityUrl (englisch) |
string |
No |
Die Identitäts-URL für die private Registrierung. |
IpAddress-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| ports |
array |
Yes |
Die Liste der Ports, die in der Containergruppe verfügbar gemacht werden.
-
Port-Objekt |
| type |
enum |
Yes |
Gibt an, ob die IP für das öffentliche Internet oder das private virtuelle Netzwerk verfügbar gemacht wird. - Öffentlich oder privat |
| ip |
string |
No |
Die IP,die für das öffentliche Internet verfügbar gemacht wird. |
| dnsNameLabel |
string |
No |
Die Dns-Namensbezeichnung für die IP. |
Volume-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| Name |
string |
Yes |
Der Name des Volumes. |
| azureDatei |
object |
No |
Das Azure File Volume.
-
AzureFileVolume-Objekt |
| emptyDir |
object |
No |
Das leere Verzeichnisvolume. |
| secret |
object |
No |
Das geheime Volume. |
| gitRepo |
object |
No |
Das Git-Repositoryvolume.
-
GitRepoVolume-Objekt |
ContainerGroupDiagnostics-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| logAnalytics |
object |
No |
Informationen zur Analyse von Containergruppenprotokollen.
-
LogAnalytics-Objekt |
ContainerGroupSubnetIds-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| id |
string |
Yes |
Der Bezeichner für ein Subnetz. |
| Name |
string |
No |
Der Name des Subnetzes. |
DnsConfiguration-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| NameServer |
array |
Yes |
Die DNS-Server für die Containergruppe. -Schnur |
| searchDomains |
string |
No |
Die DNS-Suchdomänen für die Hostnamensuche in der Containergruppe. |
| options |
string |
No |
Die DNS-Optionen für die Containergruppe. |
EncryptionProperties-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| vaultBaseUrl |
string |
Yes |
Die keyvault-Basis-URL. |
| Schlüsselname |
string |
Yes |
Der Name des Verschlüsselungsschlüssels. |
| Schlüsselversion |
string |
Yes |
Die Verschlüsselungsschlüsselversion. |
InitContainerDefinition-Objekt
ContainerProperties-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| Bild |
string |
Yes |
Der Name des Images, das zum Erstellen der Containerinstanz verwendet wird. |
| command |
array |
No |
Die Befehle, die innerhalb der Containerinstanz im Exec-Formular ausgeführt werden sollen. -Schnur |
| ports |
array |
No |
Die verfügbar gemachten Ports in der Containerinstanz.
-
ContainerPort-Objekt |
| environmentVariables |
array |
No |
Die Umgebungsvariablen, die in der Containerinstanz festgelegt werden sollen.
-
EnvironmentVariable-Objekt |
| resources |
object |
Yes |
Die Ressourcenanforderungen der Containerinstanz.
-
ResourceRequirements-Objekt |
| volumeMounts |
array |
No |
Das Volume stellt für die Containerinstanz zur Verfügung.
-
VolumeMount-Objekt |
| livenessProbe |
object |
No |
Die Livenesssonde.
-
ContainerProbe-Objekt |
| readinessProbe |
object |
No |
Die Bereitschaftssonde.
-
ContainerProbe-Objekt |
Port-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| protocol |
enum |
No |
Das dem Port zugeordnete Protokoll. - TCP oder UDP |
| port |
integer |
Yes |
Die Portnummer. |
AzureFileVolume-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| shareName |
string |
Yes |
Der Name der Azure-Dateifreigabe, die als Volume bereitgestellt werden soll. |
| readOnly |
boolean |
No |
Das Kennzeichen, das angibt, ob die freigegebene Azure-Datei als Volume schreibgeschützt ist. |
| storageAccountName |
string |
Yes |
Der Name des Speicherkontos, das die Azure-Dateifreigabe enthält. |
| storageAccountKey |
string |
No |
Der Zugriffsschlüssel für das Speicherkonto, der für den Zugriff auf die Azure-Dateifreigabe verwendet wird. |
GitRepoVolume-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| directory |
string |
No |
Zielverzeichnisname. Darf nicht enthalten oder mit '.' beginnen. Wenn "." angegeben wird, ist das Volumeverzeichnis das Git-Repository. Andernfalls enthält das Volume das Git-Repository im Unterverzeichnis mit dem angegebenen Namen. |
| Aufbewahrungsort |
string |
Yes |
URL des Repositorys |
| Überarbeitung |
string |
No |
Commit-Hash für die angegebene Revision. |
LogAnalytics-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| workspaceId |
string |
Yes |
Die Arbeitsbereichs-ID für die Protokollanalyse |
| workspaceKey (Englisch) |
string |
Yes |
Der Arbeitsbereichsschlüssel für die Protokollanalyse |
| Arbeitsbereichsressourcen-ID |
string |
No |
Die Arbeitsbereichsressourcen-ID für die Protokollanalyse |
| logTyp |
enum |
No |
Der zu verwendende Protokolltyp. - ContainerInsights oder ContainerInstanceLogs |
| metadata |
object |
No |
Metadaten für die Protokollanalyse. |
InitContainerPropertiesDefinition-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| Bild |
string |
No |
Das Image des Init-Containers. |
| command |
array |
No |
Der Befehl, der im Init-Container im Exec-Formular ausgeführt werden soll. -Schnur |
| environmentVariables |
array |
No |
Die Umgebungsvariablen, die im Init-Container festgelegt werden sollen.
-
EnvironmentVariable-Objekt |
| volumeMounts |
array |
No |
Die volume mounts available to the init container.
-
VolumeMount-Objekt |
ContainerPort-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| protocol |
enum |
No |
Das dem Port zugeordnete Protokoll. - TCP oder UDP |
| port |
integer |
Yes |
Die Portnummer, die innerhalb der Containergruppe verfügbar gemacht wird. |
EnvironmentVariable-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| Name |
string |
Yes |
Der Name der Umgebungsvariable. |
| value |
string |
No |
Der Wert der Umgebungsvariable. |
| secureValue |
string |
No |
Der Wert der Variablen für die sichere Umgebung. |
ResourceRequirements-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| requests |
object |
Yes |
Die Ressourcenanforderungen dieser Containerinstanz.
-
ResourceRequests-Objekt |
| Grenzwerte |
object |
No |
Die Ressourcenbeschränkungen dieser Containerinstanz.
-
ResourceLimits-Objekt |
VolumeMount-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| Name |
string |
Yes |
Der Name der Volume-Bereitstellung. |
| mountPfad |
string |
Yes |
Der Pfad innerhalb des Containers, in dem das Volume bereitgestellt werden soll. Darf keinen Doppelpunkt (:) enthalten. |
| readOnly |
boolean |
No |
Das Flag, das angibt, ob die Volume-Bereitstellung schreibgeschützt ist. |
ContainerProbe-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| exec |
object |
No |
Der Ausführungsbefehl zum Untersuchen des ContainersExec-Objekts |
| httpHolen |
object |
No |
Die Http Get-Einstellungen zum Überprüfen – ContainerHttpGet-Objekt |
| initialDelaySeconds |
integer |
No |
Die anfänglichen Verzögerungs sekunden. |
| periodSekunden |
integer |
No |
Der Zeitraum Sekunden. |
| failureThreshold |
integer |
No |
Der Fehlerschwellenwert. |
| successThreshold |
integer |
No |
Der Erfolgsschwellenwert. |
| timeoutSeconds |
integer |
No |
Das Timeout sekunden. |
ResourceRequests-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| memoryInGB |
number |
Yes |
Die Speicheranforderung in GB dieser Containerinstanz. |
| Zentrale Verarbeitungseinheit (CPU) |
number |
Yes |
Die CPU-Anforderung dieser Containerinstanz. |
| gpu |
object |
No |
Die GPU-Anforderung dieser Containerinstanz.
-
GpuResource-Objekt |
ResourceLimits-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| memoryInGB |
number |
No |
Die Speichergrenze in GB dieser Containerinstanz. |
| Zentrale Verarbeitungseinheit (CPU) |
number |
No |
Der CPU-Grenzwert dieser Containerinstanz. |
| gpu |
object |
No |
Die GPU-Grenze dieser Containerinstanz.
-
GpuResource-Objekt |
ContainerExec-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| command |
array |
No |
Die Befehle, die innerhalb des Containers ausgeführt werden sollen. - Zeichenfolge |
ContainerHttpGet-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| path |
string |
No |
Der Pfad zum Sonde. |
| port |
integer |
Yes |
Die Portnummer, die auf probe werden soll. |
| scheme |
enum |
No |
Das Schema. - http oder https |
| httpHeader |
object |
No |
Die http-Header, die im Probepunkt enthalten sind.
-
HttpHeaders-Objekt |
| Name |
Typ |
Erforderlich |
Wert |
| Name |
string |
No |
Name des Headers. |
| value |
string |
No |
Wert der Kopfzeile. |
Important
K80- und P100-GPU-SKUs werden am 31. August 2023 eingestellt. Dies liegt daran, dass die zugrunde liegenden VMs verwendet werden: NC Series und NCv2 Series Obwohl V100 SKUs verfügbar sein werden, ist es receommended, stattdessen Azure Kubernetes Service zu verwenden. GPU-Ressourcen werden nicht vollständig unterstützt und sollten nicht für Produktionsworkloads verwendet werden. Verwenden Sie die folgenden Ressourcen, um heute zu AKS zu migrieren: Migrieren zu AKS.
GpuResource-Objekt
| Name |
Typ |
Erforderlich |
Wert |
| count |
integer |
Yes |
Die Anzahl der GPU-Ressource. |
| sku |
enum |
Yes |
Die SKU der GPU-Ressource. - V100 |
Nächste Schritte
Weitere Informationen finden Sie im Lernprogramm Bereitstellen einer Gruppe mit mehreren Containern mithilfe einer YAML-Datei.
Beispiele für die Verwendung einer YAML-Datei zum Bereitstellen von Containergruppen in einem virtuellen Netzwerk oder zum Bereitstellen eines externen Volumes.