YAML-referens: Azure Container Instances

Den här artikeln beskriver syntaxen och egenskaperna för YAML-filen som stöds av Azure Container Instances för att konfigurera en containergrupp. Använd en YAML-fil för att ange gruppkonfigurationen till kommandot az container create i Azure CLI.

En YAML-fil är ett praktiskt sätt att konfigurera en containergrupp för reproducerbara distributioner. Det är ett kortfattat alternativ till att använda en Resource Manager-mall eller Azure Container Instances SDK:er för att skapa eller uppdatera en containergrupp.

Anteckning

Den här referensen gäller YAML-filer för Azure Container Instances REST API-version 2021-10-01.

Schema

Schemat för YAML-filen följer, inklusive kommentarer för att markera viktiga egenskaper. En beskrivning av egenskaperna i det här schemat finns i avsnittet Egenskapsvärden .

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

Egenskapsvärden

I följande tabeller beskrivs de värden som du behöver ange i schemat.

Microsoft.ContainerInstance/containerGroups-objekt

Namn Typ Obligatorisk Värde
name sträng Ja Namnet på containergruppen.
apiVersion Enum Yes 2021-10-01 (senaste), 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
location sträng No Resursplatsen.
tags objekt No Resurstaggar.
identity objekt No Identiteten för containergruppen, om den har konfigurerats. - ContainerGroupIdentity-objekt
properties objekt Yes ContainerGroupProperties-objekt

ContainerGroupIdentity-objekt

Namn Typ Obligatorisk Värde
typ Enum No Den typ av identitet som används för containergruppen. Typen "SystemAssigned, UserAssigned" innehåller både en implicit skapad identitet och en uppsättning användartilldelade identiteter. Typen "Ingen" tar bort alla identiteter från containergruppen. – SystemAssigned, UserAssigned, SystemAssigned, UserAssigned, None
userAssignedIdentities objekt No Listan över användaridentiteter som är associerade med containergruppen. Nyckelreferenser för användaridentitetsordlistan är Azure Resource Manager resurs-ID:t i formatet: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.

ContainerGroupProperties-objekt

Namn Typ Obligatorisk Värde
containrar matris Yes Containrarna i containergruppen. - Behållarobjekt
imageRegistryCredentials matris No Autentiseringsuppgifterna för avbildningsregistret som containergruppen skapas från. - ImageRegistryCredential-objekt
restartPolicy Enum No Starta om principen för alla containrar i containergruppen. - Always Starta alltid om – OnFailure Starta om vid fel – Never Starta aldrig om. - Alltid, OnFailure, Aldrig
Ip objekt No Containergruppens IP-adresstyp. - IpAddress-objekt
osType Enum Yes Den operativsystemtyp som krävs av containrarna i containergruppen. – Windows eller Linux
volumes matris No Listan över volymer som kan monteras av containrar i den här containergruppen. - Volymobjekt
diagnostik objekt No Diagnostikinformation för en containergrupp. - ContainerGroupDiagnostics-objekt
subnetIds objekt No Undernätsinformationen för en containergrupp. - ContainerGroupSubnetIds-objekt
dnsConfig objekt No DNS-konfigurationsinformationen för en containergrupp. - DnsConfiguration-objekt
sku Enum No SKU:n för en containergrupp – Standard eller Dedikerad
encryptionProperties objekt No Krypteringsegenskaperna för en containergrupp. - EncryptionProperties-objekt
initContainers matris No Init-containrarna för en containergrupp. - InitContainerDefinition-objekt

Behållarobjekt

Namn Typ Obligatorisk Värde
name sträng Ja Namnet på containerinstansen som tillhandahålls av användaren.
properties objekt Yes Egenskaperna för containerinstansen. - ContainerProperties-objekt

ImageRegistryCredential-objekt

Namn Typ Obligatorisk Värde
server sträng Ja Docker-avbildningsregisterservern utan protokoll som "http" och "https".
användarnamn sträng No Användarnamnet för det privata registret.
password sträng No Lösenordet för det privata registret.
identity sträng No Resurs-ID för den användar- eller systemtilldelade hanterade identitet som används för autentisering.
identityUrl sträng No Identitets-URL:en för det privata registret.

IpAddress-objekt

Namn Typ Obligatorisk Värde
ports matris Yes Listan över portar som exponeras i containergruppen. - Portobjekt
typ Enum Yes Anger om IP-adressen exponeras för det offentliga internet eller privata virtuella nätverket. – Offentlig eller privat
Ip sträng No IP-adressen som exponeras för det offentliga Internet.
dnsNameLabel sträng No DNS-namnetiketten för IP-adressen.

Volymobjekt

Namn Typ Obligatorisk Värde
name sträng Ja Namnet på volymen.
azureFile objekt No Azure File-volymen. - AzureFileVolume-objekt
emptyDir objekt No Den tomma katalogvolymen.
hemlighet objekt No Den hemliga volymen.
gitRepo objekt No Git-lagringsplatsens volym. - GitRepoVolume-objekt

ContainerGroupDiagnostics-objekt

Namn Typ Obligatorisk Värde
logAnalytics objekt No Log Analytics-information för containergrupper. - LogAnalytics-objekt

ContainerGroupSubnetIds-objekt

Namn Typ Obligatorisk Värde
id sträng Ja Identifieraren för ett undernät.
name sträng No Namnet på undernätet.

DnsConfiguration-objekt

Namn Typ Obligatorisk Värde
Namnservrar matris Yes DNS-servrarna för containergruppen. -Sträng
searchDomains sträng No DNS-sökdomänerna för värdnamnsökning i containergruppen.
alternativ sträng No DNS-alternativen för containergruppen.

EncryptionProperties-objekt

Namn Typ Obligatorisk Värde
vaultBaseUrl sträng Ja Keyvault-bas-URL:en.
Nyckelnamn sträng Ja Krypteringsnyckelns namn.
keyVersion sträng Ja Krypteringsnyckelversionen.

InitContainerDefinition-objekt

Namn Typ Obligatorisk Värde
name sträng Ja Namnet på init-containern.
properties objekt Yes Egenskaperna för init-containern. - InitContainerPropertiesDefinition-objekt

ContainerProperties-objekt

Namn Typ Obligatorisk Värde
image sträng Ja Namnet på avbildningen som används för att skapa containerinstansen.
command matris No De kommandon som ska köras i containerinstansen i exec-format. -Sträng
ports matris No De exponerade portarna på containerinstansen. - ContainerPort-objekt
environmentVariables matris No Miljövariablerna som ska anges i containerinstansen. - EnvironmentVariable-objekt
resources objekt Yes Resurskraven för containerinstansen. - ResourceRequirements-objekt
volumeMounts matris No Volymen monteras som är tillgänglig för containerinstansen. - VolumeMount-objekt
livenessProbe objekt No Liveness-avsökningen. - ContainerProbe-objekt
readinessProbe objekt No Beredskapsavsökningen. - ContainerProbe-objekt

Portobjekt

Namn Typ Obligatorisk Värde
Protokollet Enum No Protokollet som är associerat med porten. – TCP eller UDP
port heltal Yes Portnumret.

AzureFileVolume-objekt

Namn Typ Obligatorisk Värde
Resursnamn sträng Ja Namnet på den Azure-filresurs som ska monteras som en volym.
Readonly boolean No Flaggan som anger om Den delade Azure-filen som är monterad som en volym är skrivskyddad.
storageAccountName sträng Ja Namnet på lagringskontot som innehåller Azure-filresursen.
storageAccountKey sträng No Åtkomstnyckeln för lagringskontot som används för att komma åt Azure-filresursen.

GitRepoVolume-objekt

Namn Typ Obligatorisk Värde
katalog sträng No Målkatalognamn. Får inte innehålla eller börja med ... Om "." anges är volymkatalogen git-lagringsplatsen. Om detta anges innehåller volymen git-lagringsplatsen i underkatalogen med det angivna namnet.
repository sträng Ja Url för lagringsplats
revision sträng No Checka in hash för den angivna revisionen.

LogAnalytics-objekt

Namn Typ Obligatorisk Värde
workspaceId sträng Ja Arbetsyte-ID:t för log analytics
workspaceKey sträng Ja Arbetsytenyckeln för log analytics
workspaceResourceId sträng No Arbetsytans resurs-ID för Log Analytics
logType Enum No Den loggtyp som ska användas. – ContainerInsights eller ContainerInstanceLogs
metadata objekt No Metadata för Log Analytics.

InitContainerPropertiesDefinition-objekt

Namn Typ Obligatorisk Värde
image sträng No Avbildningen av init-containern.
command matris No Kommandot som ska köras i init-containern i exec-format. -Sträng
environmentVariables matris No Miljövariablerna som ska anges i init-containern. - EnvironmentVariable-objekt
volumeMounts matris No Volymen monteras som är tillgänglig för init-containern. - VolumeMount-objekt

ContainerPort-objekt

Namn Typ Obligatorisk Värde
Protokollet Enum No Protokollet som är associerat med porten. – TCP eller UDP
port heltal Yes Portnumret som exponeras i containergruppen.

EnvironmentVariable-objekt

Namn Typ Obligatorisk Värde
name sträng Ja Namnet på miljövariabeln.
värde sträng No Värdet för miljövariabeln.
secureValue sträng No Värdet för variabeln för säker miljö.

ResourceRequirements-objekt

Namn Typ Obligatorisk Värde
Begäranden objekt Yes Resursbegäranden för den här containerinstansen. - ResourceRequests-objekt
Gränser objekt No Resursgränserna för den här containerinstansen. - ResourceLimits-objekt

VolumeMount-objekt

Namn Typ Obligatorisk Värde
name sträng Ja Namnet på volymmonteringen.
mountPath sträng Ja Sökvägen i containern där volymen ska monteras. Får inte innehålla kolon (:).
Readonly boolean No Flaggan som anger om volymmonteringen är skrivskyddad.

ContainerProbe-objekt

Namn Typ Obligatorisk Värde
Exec objekt No Körningskommandot för avsökning – ContainerExec-objekt
httpGet objekt No Http Get-inställningarna för avsökning – ContainerHttpGet-objekt
initialDelaySeconds heltal No Den inledande fördröjningen sekunder.
periodSeconds heltal No Periodsekunderna.
failureThreshold heltal No Tröskelvärdet för fel.
successThreshold heltal No Tröskelvärdet för lyckad framgång.
timeoutSeconds heltal No Tidsgränsen sekunder.

ResourceRequests-objekt

Namn Typ Obligatorisk Värde
memoryInGB antal Yes Minnesbegäran i GB för den här containerinstansen.
Cpu antal Yes CPU-begäran för den här containerinstansen.
Gpu objekt No GPU-begäran för den här containerinstansen. - GpuResource-objekt

ResourceLimits-objekt

Namn Typ Obligatorisk Värde
memoryInGB antal No Minnesgränsen i GB för den här containerinstansen.
Cpu antal No Cpu-gränsen för den här containerinstansen.
Gpu objekt No GPU-gränsen för den här containerinstansen. - GpuResource-objekt

ContainerExec-objekt

Namn Typ Obligatorisk Värde
command matris No De kommandon som ska köras i containern. -Sträng

ContainerHttpGet-objekt

Namn Typ Obligatorisk Värde
path sträng No Sökvägen till avsökningen.
port heltal Yes Portnumret som ska avsökas.
System Enum No Schemat. - http eller https
httpHeaders objekt No HTTP-huvudena som ingår i avsökningen. - HttpHeaders-objekt

HttpHeaders-objekt

Namn Typ Obligatorisk Värde
name sträng No Namnet på rubriken.
värde sträng No Värdet för rubriken.

Viktigt

K80- och P100 GPU-SKU:er drar sig tillbaka senast den 31 augusti 2023. Detta beror på tillbakadragandet av de underliggande virtuella datorer som används: NC-serien och NCv2-serien Även om V100-SKU:er kommer att vara tillgängliga, är det återanvänt att använda Azure Kubernetes Service i stället. GPU-resurser stöds inte fullt ut och bör inte användas för produktionsarbetsbelastningar. Använd följande resurser för att migrera till AKS idag: Så här migrerar du till AKS.

GpuResource-objekt

Namn Typ Obligatorisk Värde
count heltal Yes Antalet GPU-resurser.
sku Enum Yes SKU:n för GPU-resursen. - V100

Nästa steg

Se självstudien Distribuera en grupp med flera containrar med hjälp av en YAML-fil.

Se exempel på hur du använder en YAML-fil för att distribuera containergrupper i ett virtuellt nätverk eller som monterar en extern volym.