Dela via


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.

Kommentar

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

Schema

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
    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 Obligatoriskt Värde
name sträng Ja Namnet på containergruppen.
apiVersion uppräkning Ja 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 sträng Nej Resursplatsen.
taggar objekt Nej Resurstaggar.
identitet objekt Nej Identiteten för containergruppen, om den är konfigurerad. - ContainerGroupIdentity-objekt
egenskaper objekt Ja ContainerGroupProperties-objekt

ContainerGroupIdentity-objekt

Namn Typ Obligatoriskt Värde
type uppräkning Nej 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 Nej Listan över användaridentiteter som är associerade med containergruppen. Nyckelreferenserna för användaridentitetsordlistan är Azure Resource Manager-resurs-ID:er i formuläret: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.

ContainerGroupProperties-objekt

Namn Typ Obligatoriskt Värde
containrar matris Ja Containrarna i containergruppen. - Behållarobjekt
imageRegistryCredentials matris Nej Autentiseringsuppgifterna för avbildningsregistret som containergruppen skapas från. - ImageRegistryCredential-objekt
restartPolicy uppräkning Nej 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 objekt Nej Containergruppens IP-adresstyp. - IpAddress-objekt
osType uppräkning Ja Den operativsystemtyp som krävs av containrarna i containergruppen. – Windows eller Linux
volumes matris Nej Listan över volymer som containrar i den här containergruppen kan montera. - Volymobjekt
diagnostik objekt Nej Diagnostikinformationen för en containergrupp. - ContainerGroupDiagnostics-objekt
subnetIds objekt Nej Undernätsinformationen för en containergrupp. - ContainerGroupSubnetIds-objekt
dnsConfig objekt Nej DNS-konfigurationsinformationen för en containergrupp. - DnsConfiguration-objekt
sku uppräkning Nej SKU:n för en containergrupp – Standard eller Dedikerad
encryptionProperties objekt Nej Krypteringsegenskaperna för en containergrupp. - EncryptionProperties-objekt
initContainers matris Nej Init-containrarna för en containergrupp. - InitContainerDefinition-objekt

Behållarobjekt

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

ImageRegistryCredential-objekt

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

IpAddress-objekt

Namn Typ Obligatoriskt Värde
portar matris Ja Listan över portar som exponeras i containergruppen. - Portobjekt
type uppräkning Ja Anger om IP-adressen exponeras för det offentliga internet eller det privata virtuella nätverket. - Offentlig eller privat
Ip sträng Nej IP-adressen som exponeras för det offentliga Internet.
dnsNameLabel sträng Nej Dns-namnetiketten för IP-adressen.

Volymobjekt

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

ContainerGroupDiagnostics-objekt

Namn Typ Obligatoriskt Värde
logAnalytics objekt Nej Logganalysinformation för containergrupper. - LogAnalytics-objekt

ContainerGroupSubnetIds-objekt

Namn Typ Obligatoriskt Värde
id string Ja Identifieraren för ett undernät.
name string Nej Namnet på undernätet.

DnsConfiguration-objekt

Namn Typ Obligatoriskt Värde
nameServers matris Ja DNS-servrarna för containergruppen. -sträng
searchDomains sträng Nej DNS-sökdomänerna för värdnamnsökning i containergruppen.
alternativ sträng Nej DNS-alternativen för containergruppen.

EncryptionProperties-objekt

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

InitContainerDefinition-objekt

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

ContainerProperties-objekt

Namn Typ Obligatoriskt Värde
bild sträng Ja Namnet på avbildningen som används för att skapa containerinstansen.
kommando matris Nej Kommandona som ska köras i containerinstansen i exec-form. -sträng
portar matris Nej De portar som exponeras på containerinstansen. - ContainerPort-objekt
environmentVariables matris Nej Miljövariablerna som ska anges i containerinstansen. - EnvironmentVariable-objekt
resurser objekt Ja Resurskraven för containerinstansen. - ResourceRequirements-objekt
volumeMounts matris Nej Volymen monteras som är tillgänglig för containerinstansen. - VolumeMount-objekt
livenessProbe objekt Nej Liveness-avsökningen. - ContainerProbe-objekt
readinessProbe objekt Nej Beredskapsavsökningen. - ContainerProbe-objekt

Portobjekt

Namn Typ Obligatoriskt Värde
protokoll uppräkning Nej Protokollet som är associerat med porten. – TCP eller UDP
port integer Ja Portnumret.

AzureFileVolume-objekt

Namn Typ Obligatoriskt Värde
shareName sträng Ja Namnet på den Azure-filresurs som ska monteras som en volym.
readOnly boolean Nej 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 Nej Åtkomstnyckeln för lagringskontot som används för åtkomst till Azure-filresursen.

GitRepoVolume-objekt

Namn Typ Obligatoriskt Värde
katalog sträng Nej 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.
repository sträng Ja URL för lagringsplats
revision sträng Nej Checka in hash för den angivna revisionen.

LogAnalytics-objekt

Namn Typ Obligatoriskt 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 Nej Arbetsytans resurs-ID för log analytics
logType uppräkning Nej Den loggtyp som ska användas. – ContainerInsights eller ContainerInstanceLogs
metadata objekt Nej Metadata för log analytics.

InitContainerPropertiesDefinition-objekt

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

ContainerPort-objekt

Namn Typ Obligatoriskt Värde
protokoll uppräkning Nej Protokollet som är associerat med porten. – TCP eller UDP
port integer Ja Portnumret som exponeras i containergruppen.

EnvironmentVariable-objekt

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

ResourceRequirements-objekt

Namn Typ Obligatoriskt Värde
begäranden objekt Ja Resursbegäranden för den här containerinstansen. - ResourceRequests-objekt
Gränser objekt Nej Resursgränserna för den här containerinstansen. - ResourceLimits-objekt

VolumeMount-objekt

Namn Typ Obligatoriskt 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 Nej Flaggan som anger om volymmonteringen är skrivskyddad.

ContainerProbe-objekt

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

ResourceRequests-objekt

Namn Typ Obligatoriskt Värde
memoryInGB Nummer Ja Minnesbegäran i GB för den här containerinstansen.
processor Nummer Ja CPU-begäran för den här containerinstansen.
gpu objekt Nej GPU-begäran för den här containerinstansen. - GpuResource-objekt

ResourceLimits-objekt

Namn Typ Obligatoriskt Värde
memoryInGB Nummer Nej Minnesgränsen i GB för den här containerinstansen.
processor Nummer Nej Cpu-gränsen för den här containerinstansen.
gpu objekt Nej GPU-gränsen för den här containerinstansen. - GpuResource-objekt

ContainerExec-objekt

Namn Typ Obligatoriskt Värde
kommando matris Nej Kommandona som ska köras i containern. -sträng

ContainerHttpGet-objekt

Namn Typ Obligatoriskt Värde
path sträng Nej Sökvägen till avsökningen.
port integer Ja Portnumret som ska avsökas.
schema uppräkning Nej Schemat. - http eller https
httpHeaders objekt Nej HTTP-huvudena som ingår i avsökningen. - HttpHeaders-objekt

HttpHeaders-objekt

Namn Typ Obligatoriskt Värde
name string Nej Namnet på rubriken.
värde sträng Nej Värdet för rubriken.

Viktigt!

K80 och P100 GPU SKU:er dras tillbaka senast den 31 augusti 2023. Detta beror på att de underliggande virtuella datorerna har dragits tillbaka: 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: Migrera till AKS.

GpuResource-objekt

Namn Typ Obligatoriskt Värde
antal integer Ja Antalet GPU-resurser.
sku uppräkning Ja 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.