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 bekvämt 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.

Obs!

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

Skema

Schemat för YAML-filen följer, inklusive kommentarer för att markera nyckelegenskaper. 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
    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

Egenskapsvärden

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

Microsoft. ContainerInstance/containerGroups-objekt

Name Type Obligatoriskt Value
name string Yes 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
plats string No Resursplatsen.
tags object No Resurstaggar.
identity object No Identiteten för containergruppen, om den är konfigurerad. - ContainerGroupIdentity-objekt
Egenskaper object Yes ContainerGroupProperties-objekt

ContainerGroupIdentity-objekt

Name Type Obligatoriskt Value
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 object No Listan över användaridentiteter som är associerade med containergruppen. Nyckelreferenserna för användaridentitetsordlistan är Azure Resource Manager resurs-ID:t i formuläret: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft. ManagedIdentity/userAssignedIdentities/{identityName}'.

ContainerGroupProperties-objekt

Name Type Obligatoriskt Value
behållare array Yes Containrarna i containergruppen. - Behållarobjekt
imageRegistryCredentials array 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
ipAddress object No Containergruppens IP-adresstyp. - IpAddress-objekt
osType enum Yes Den operativsystemtyp som krävs av containrarna i containergruppen. – Windows eller Linux
volumes array No Listan över volymer som containrar i den här containergruppen kan montera. - Volymobjekt
diagnostics object No Diagnostikinformationen för en containergrupp. - ContainerGroupDiagnostics-objekt
subnetIds object No Undernätsinformationen för en containergrupp. - ContainerGroupSubnetIds-objekt
dnsConfig object No DNS-konfigurationsinformationen för en containergrupp. - DnsConfiguration-objekt
sku enum No SKU:n för en containergrupp – Standard eller Dedikerad
encryptionProperties object No Krypteringsegenskaperna för en containergrupp. - EncryptionProperties-objekt
initContainers array No Init-containrarna för en containergrupp. - InitContainerDefinition-objekt

Behållarobjekt

Name Type Obligatoriskt Value
name string Yes Namnet på containerinstansen som tillhandahålls av användaren.
Egenskaper object Yes Egenskaperna för containerinstansen. - ContainerProperties-objekt

ImageRegistryCredential-objekt

Name Type Obligatoriskt Value
server string Yes Docker-avbildningsregisterservern utan protokoll som "http" och "https".
username string No Användarnamnet för det privata registret.
password string No Lösenordet för det privata registret.
identity string No Resurs-ID för den användartilldelade hanterade identiteten som används för att autentisera. Systemtilldelad hanterad identitet stöds inte för ACR-avbildningshämtningar.
identityUrl string No Identitets-URL:en för det privata registret.

IpAddress-objekt

Name Type Obligatoriskt Value
ports array Yes Listan över portar som exponeras i containergruppen. - Portobjekt
typ enum Yes Anger om IP-adressen exponeras för det offentliga internet eller det privata virtuella nätverket. - Offentlig eller privat
Ip string No IP-adressen som exponeras för det offentliga Internet.
dnsNameLabel string No Dns-namnetiketten för IP-adressen.

Volymobjekt

Name Type Obligatoriskt Value
name string Yes Namnet på volymen.
azureFil object No Azure File-volymen. - AzureFileVolume-objekt
emptyDir object No Den tomma katalogvolymen.
secret object No Den hemliga volymen.
gitRepo object No Git-lagringsplatsens volym. - GitRepoVolume-objekt

ContainerGroupDiagnostics-objekt

Name Type Obligatoriskt Value
logAnalytics object No Logganalysinformation för containergrupper. - LogAnalytics-objekt

ContainerGroupSubnetIds-objekt

Name Type Obligatoriskt Value
id string Yes Identifieraren för ett undernät.
name string No Namnet på undernätet.

DnsConfiguration-objekt

Name Type Obligatoriskt Value
namnservrar array Yes DNS-servrarna för containergruppen. -Sträng
searchDomains (sökdomäner) string No DNS-sökdomänerna för värdnamnsökning i containergruppen.
options string No DNS-alternativen för containergruppen.

EncryptionProperties-objekt

Name Type Obligatoriskt Value
vaultBaseUrl string Yes Keyvault-bas-URL:en.
keyName string Yes Krypteringsnyckelns namn.
keyVersion string Yes Krypteringsnyckelversionen.

InitContainerDefinition-objekt

Name Type Obligatoriskt Value
name string Yes Namnet på init-containern.
Egenskaper object Yes Egenskaperna för init-containern. - InitContainerPropertiesDefinition-objekt

ContainerProperties-objekt

Name Type Obligatoriskt Value
bild string Yes Namnet på avbildningen som används för att skapa containerinstansen.
command array No Kommandona som ska köras i containerinstansen i exec-form. -Sträng
ports array No De portar som exponeras på containerinstansen. - ContainerPort-objekt
environmentVariables array No Miljövariablerna som ska anges i containerinstansen. - EnvironmentVariable-objekt
resources object Yes Resurskraven för containerinstansen. - ResourceRequirements-objekt
volumeMounts array No Volymen monteras som är tillgänglig för containerinstansen. - VolumeMount-objekt
livenessProbe object No Liveness-avsökningen. - ContainerProbe-objekt
beredskapSond object No Beredskapsavsökningen. - ContainerProbe-objekt

Portobjekt

Name Type Obligatoriskt Value
protocol enum No Protokollet som är associerat med porten. – TCP eller UDP
port integer Yes Portnumret.

AzureFileVolume-objekt

Name Type Obligatoriskt Value
shareName string Yes 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 string Yes Namnet på lagringskontot som innehåller Azure-filresursen.
storageAccountKey string No Åtkomstnyckeln för lagringskontot som används för åtkomst till Azure-filresursen.

GitRepoVolume-objekt

Name Type Obligatoriskt Value
directory string No Målkatalognamn. Får inte innehålla eller börja med ... Om "." anges är volymkatalogen git-lagringsplatsen. Annars, om det anges, innehåller volymen git-lagringsplatsen i underkatalogen med det angivna namnet.
förråd string Yes URL för lagringsplats
översyn string No Checka in hash för den angivna revisionen.

LogAnalytics-objekt

Name Type Obligatoriskt Value
workspaceId string Yes Arbetsyte-ID:t för log analytics
workspaceKey string Yes Arbetsytenyckeln för log analytics
workspaceResourceId string No Arbetsytans resurs-ID för log analytics
logType enum No Den loggtyp som ska användas. – ContainerInsights eller ContainerInstanceLogs
metadata object No Metadata för log analytics.

InitContainerPropertiesDefinition-objekt

Name Type Obligatoriskt Value
bild string No Avbildningen av init-containern.
command array No Kommandot som ska köras i init-containern i exec-format. -Sträng
environmentVariables array No Miljövariablerna som ska anges i init-containern. - EnvironmentVariable-objekt
volumeMounts array No Volymen monteras som är tillgänglig för init-containern. - VolumeMount-objekt

ContainerPort-objekt

Name Type Obligatoriskt Value
protocol enum No Protokollet som är associerat med porten. – TCP eller UDP
port integer Yes Portnumret som exponeras i containergruppen.

EnvironmentVariable-objekt

Name Type Obligatoriskt Value
name string Yes Namnet på miljövariabeln.
Värde string No Värdet för miljövariabeln.
secureValue string No Värdet för variabeln säker miljö.

ResourceRequirements-objekt

Name Type Obligatoriskt Value
requests object Yes Resursbegäranden för den här containerinstansen. - ResourceRequests-objekt
Gränser object No Resursgränserna för den här containerinstansen. - ResourceLimits-objekt

VolumeMount-objekt

Name Type Obligatoriskt Value
name string Yes Namnet på volymmonteringen.
mountPath string Yes 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

Name Type Obligatoriskt Value
exec object No Körningskommandot för avsökning – ContainerExec-objekt
httpGet (på engelska) object No Http Get-inställningarna för avsökning – ContainerHttpGet-objekt
initialDelaySeconds integer No Den inledande fördröjningen sekunder.
periodSeconds integer No Periodsekunderna.
failureThreshold integer No Tröskelvärdet för fel.
framgångströskel integer No Tröskelvärdet för lyckad framgång.
timeoutSeconds integer No Tidsgränsen sekunder.

ResourceRequests-objekt

Name Type Obligatoriskt Value
memoryInGB number Yes Minnesbegäran i GB för den här containerinstansen.
cpu number Yes CPU-begäran för den här containerinstansen.
gpu object No GPU-begäran för den här containerinstansen. - GpuResource-objekt

ResourceLimits-objekt

Name Type Obligatoriskt Value
memoryInGB number No Minnesgränsen i GB för den här containerinstansen.
cpu number No Cpu-gränsen för den här containerinstansen.
gpu object No GPU-gränsen för den här containerinstansen. - GpuResource-objekt

ContainerExec-objekt

Name Type Obligatoriskt Value
command array No Kommandona som ska köras i containern. -Sträng

ContainerHttpGet-objekt

Name Type Obligatoriskt Value
path string No Sökvägen till avsökningen.
port integer Yes Portnumret som ska avsökas.
scheme enum No Schemat. - http eller https
httpHeaders (på engelska) object No HTTP-huvudena som ingår i avsökningen. - HttpHeaders-objekt

HttpHeaders-objekt

Name Type Obligatoriskt Value
name string No Namnet på rubriken.
Värde string No Värdet för rubriken.

Important

K80 och P100 GPU SKU:er dras tillbaka senast den 31 augusti 2023. Detta beror på att de underliggande virtuella datorer som används: NC-serien och NCv2-serien dras tillbaka Ä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: Migrera till AKS.

GpuResource-objekt

Name Type Obligatoriskt Value
count integer Yes Antalet GPU-resurser.
sku enum Yes SKU 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.