YAML-Referenz: Azure Container Instances

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

Name Typ Erforderlich Wert
Name string Yes Der Name für den Init-Container.
Eigenschaften object Yes Die Eigenschaften für den Init-Container. - InitContainerPropertiesDefinition-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

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.