Dieser Artikel behandelt die Syntax und Eigenschaften für die von Azure Container Instances zum Konfigurieren einer Containergruppe unterstützte YAML-Datei. Verwenden Sie eine YAML-Datei, um die Gruppenkonfiguration in den Befehl az container create in der Azure CLI einzugeben.
Eine YAML-Datei ist eine bequeme Möglichkeit, um eine Containergruppe für reproduzierbare Bereitstellungen zu konfigurieren. Dies ist eine präzise Alternative zur Verwendung einer Resource Manager-Vorlage oder des Azure Container Instances SDKs zum Erstellen oder Aktualisieren einer Containergruppe.
Hinweis
Diese Referenz gilt für YAML-Dateien für Azure Container Instances-REST-API-Version 2021-10-01.
Schema
Im Folgenden finden Sie das Schema für die YAML-Datei, einschließlich Kommentaren zur Hervorhebung von wichtigen 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
dnsNameLabelReusePolicy: 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
Eigenschaftswerte
In den folgenden Tabellen sind die Werte beschrieben, die Sie im Schema festlegen müssen.
Der für die Containergruppe verwendete Identitätstyp. Der Typ „SystemAssigned, UserAssigned“ umfasst sowohl eine implizit erstellte Identität als auch einen Satz von Benutzern zugewiesener Identitäten. Der Typ "None" entfernt alle Identitäten aus der Containergruppe. – SystemAssigned, UserAssigned, SystemAssigned, UserAssigned, None
userAssignedIdentities
Objekt (object)
Nein
Die Liste der der Containergruppe zugeordneten Benutzeridentitäten. Die Schlüsselverweise des Benutzerwörterbuchs sind Azure Resource Manager-Ressourcen-IDs im Formular: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}".
Die Anmeldeinformationen für die Imageregistrierung, mit denen die Containergruppe erstellt wird. - ImageRegistryCredential-Objekt
restartPolicy
enum
Nein
Neustartrichtlinie für alle Container innerhalb der Containergruppe. - Always Immer neu starten- OnFailure Neustart bei Fehler- Never Nie neu starten. – Always, OnFailure, Never
Das dem Port zugeordnete Protokoll. – TCP oder UDP
port
integer
Ja
Die Portnummer.
AzureFileVolume-Objekt
Name
Type
Erforderlich
Wert
shareName
Zeichenfolge
Ja
Der Name der als Volume bereitzustellenden Azure File-Freigabe.
readOnly
boolean
Nein
Das Flag, das anzeigt, ob die als Volume bereitgestellte Azure File-Freigabe schreibgeschützt ist.
storageAccountName
Zeichenfolge
Ja
Der Name des Speicherkontos, das die Azure File-Freigabe enthält.
storageAccountKey
Zeichenfolge
Nein
Der Zugriffsschlüssel des Speicherkontos, der für den Zugriff auf die Azure File-Freigabe verwendet wird.
GitRepoVolume-Objekt
Name
Type
Erforderlich
Wert
directory
Zeichenfolge
Nein
Zielverzeichnisname. Darf „..“ weder enthalten noch damit beginnen. Wenn "." angegeben wird, ist das Volumeverzeichnis das Git-Repository. Andernfalls enthält das Volume das Git-Repository im Unterverzeichnis mit dem angegebenen Namen.
repository
Zeichenfolge
Ja
Repository-URL
revision
Zeichenfolge
Nein
Commit-Hash für die angegebene Revision.
LogAnalytics-Objekt
Name
Type
Erforderlich
Wert
workspaceId
Zeichenfolge
Ja
Die Arbeitsbereichs-ID für Log Analytics
workspaceKey
Zeichenfolge
Ja
Der Arbeitsbereichsschlüssel für Log Analytics.
workspaceResourceId
Zeichenfolge
No
Die Arbeitsbereichsressourcen-ID für Log Analytics
logType
enum
Nein
Der zu verwendende Protokolltyp. – ContainerInsights oder ContainerInstanceLogs
metadata
Objekt (object)
Nein
Metadaten für Log Analytics.
InitContainerPropertiesDefinition-Objekt
Name
Type
Erforderlich
Wert
image
Zeichenfolge
No
Das Image des Init-Containers.
command
array
Nein
Der Befehl, der im Init-Container im Ausführungsformat ausgeführt werden soll. – string
K80- und P100-GPU-SKUs werden am 31. August 2023 eingestellt. Dies ist auf die Einstellung der zugrunde liegenden verwendeten VMs zurückzuführen: NC-Serie und NCv2-Serie. Obwohl V100-SKUs verfügbar sein werden, müssen Sie stattdessen Azure Kubernetes Service verwenden. GPU-Ressourcen werden nicht vollständig unterstützt und sollten nicht für Produktionsworkloads verwendet werden. Verwenden Sie die folgenden Ressourcen, um noch heute zu AKS zu migrieren: Migrieren zu AKS.