YAML-verwijzing: Azure Container Instances

In dit artikel worden de syntaxis en eigenschappen voor het YAML-bestand beschreven dat wordt ondersteund door Azure Container Instances om een containergroep te configureren. Gebruik een YAML-bestand om de groepsconfiguratie in te voeren voor de opdracht az container create in de Azure CLI.

Een YAML-bestand is een handige manier om een containergroep te configureren voor reproduceerbare implementaties. Het is een beknopt alternatief voor het gebruik van een Resource Manager-sjabloon of de Azure Container Instances SDK's om een containergroep te maken of bij te werken.

Notitie

Deze verwijzing is van toepassing op YAML-bestanden voor Azure Container Instances REST API-versie2021-10-01.

Schema

Het schema voor het YAML-bestand volgt, inclusief opmerkingen om belangrijke eigenschappen te markeren. Zie de sectie Eigenschapswaarden voor een beschrijving van de eigenschappen in dit schema.

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

Vastgoedwaarden

In de volgende tabellen worden de waarden beschreven die u in het schema moet instellen.

Microsoft. ContainerInstance/containerGroups-object

Naam Typ Required Waarde
naam string Yes De naam van de containergroep.
apiVersion enum Yes 2021-10-01 (nieuwste), 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
plaats string No De resourcelocatie.
tags object No De resourcetags.
identity object No De identiteit van de containergroep, indien geconfigureerd. - ContainerGroupIdentity-object
Eigenschappen object Yes ContainerGroupProperties-object

ContainerGroupIdentity-object

Naam Typ Required Waarde
type enum No Het type identiteit dat wordt gebruikt voor de containergroep. Het type SystemAssigned, UserAssigned bevat zowel een impliciet gemaakte identiteit als een set door de gebruiker toegewezen identiteiten. Met het type None worden alle identiteiten uit de containergroep verwijderd. - SystemAssigned, UserAssigned, SystemAssigned, UserAssigned, None
userAssignedIdentities object No De lijst met gebruikersidentiteiten die zijn gekoppeld aan de containergroep. De sleutelverwijzingen voor de gebruikersidentiteitswoordenlijst zijn Azure Resource Manager resource-id's in de vorm: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft. ManagedIdentity/userAssignedIdentities/{identityName}'.

ContainerGroupProperties-object

Naam Typ Required Waarde
Containers array Yes De containers binnen de containergroep. - Containerobject
imageRegistryCredentials array No De registerreferenties van de installatiekopieën waarop de containergroep is gemaakt. - ImageRegistryCredential-object
herstartbeleid enum No Start het beleid opnieuw op voor alle containers in de containergroep. - Always Altijd opnieuw opstarten- OnFailure Opnieuw opstarten bij fout- Never Nooit opnieuw opstarten. - Altijd, OnFailure, Nooit
ipAddress object No Het IP-adrestype van de containergroep. - IpAddress-object
osType enum Yes Het type besturingssysteem dat is vereist voor de containers in de containergroep. - Windows of Linux
volumes array No De lijst met volumes die containers in deze containergroep kunnen koppelen. - Volumeobject
diagnostics object No De diagnostische gegevens voor een containergroep. - ContainerGroupDiagnostics-object
subnet-id's object No De subnetgegevens voor een containergroep. - ContainerGroupSubnetIds-object
dnsConfig object No De DNS-configuratiegegevens voor een containergroep. - DnsConfiguration-object
sku enum No De SKU voor een containergroep - Standard of Dedicated
encryptieEigenschappen object No De versleutelingseigenschappen voor een containergroep. - EncryptionProperties-object
initContainers array No De init-containers voor een containergroep. - InitContainerDefinition-object

Containerobject

Naam Typ Required Waarde
naam string Yes De door de gebruiker opgegeven naam van het containerexemplaren.
Eigenschappen object Yes De eigenschappen van de containerinstantie. - ContainerProperties-object

ImageRegistryCredential-object

Naam Typ Required Waarde
server string Yes De Docker-installatiekopieënregisterserver zonder protocol zoals http en https.
username string No De gebruikersnaam voor het privéregister.
password string No Het wachtwoord voor het privéregister.
identity string No De resource-id van de door de gebruiker toegewezen beheerde identiteit die wordt gebruikt voor verificatie. Door het systeem toegewezen beheerde identiteit wordt niet ondersteund voor pulls van ACR-installatiekopieën.
identiteitUrl string No De identiteits-URL voor het privéregister.

IpAddress-object

Naam Typ Required Waarde
ports array Yes De lijst met poorten die beschikbaar zijn voor de containergroep. - Poortobject
type enum Yes Hiermee geeft u op of het IP-adres beschikbaar is voor het openbare internet of het particuliere virtuele netwerk. - Openbaar of Privé
Ip string No Het IP-adres dat beschikbaar is voor het openbare internet.
dnsNaamLabel string No Het DNS-naamlabel voor het IP-adres.

Volumeobject

Naam Typ Required Waarde
naam string Yes De naam van het volume.
azureFile object No Het Azure File-volume. - AzureFileVolume-object
emptyDir object No Het lege mapvolume.
secret object No Het geheime volume.
gitHerhaling object No Het git-opslagplaatsvolume. - GitRepoVolume-object

ContainerGroupDiagnostics-object

Naam Typ Required Waarde
Loganalyse object No Log Analytics-gegevens voor containergroepen. - LogAnalytics-object

ContainerGroupSubnetIds-object

Naam Typ Required Waarde
id string Yes De id voor een subnet.
naam string No De naam van het subnet.

DnsConfiguration-object

Naam Typ Required Waarde
naamservers array Yes De DNS-servers voor de containergroep. -Tekenreeks
zoekenDomeinen string No De DNS-zoekdomeinen voor het opzoeken van hostnamen in de containergroep.
options string No De DNS-opties voor de containergroep.

EncryptionProperties-object

Naam Typ Required Waarde
kluisBaseUrl string Yes De basis-URL van keyvault.
sleutelnaam string Yes De naam van de versleutelingssleutel.
keyVersion string Yes De versie van de versleutelingssleutel.

InitContainerDefinition-object

Naam Typ Required Waarde
naam string Yes De naam voor de init-container.
Eigenschappen object Yes De eigenschappen voor de init-container. - InitContainerPropertiesDefinition-object

ContainerProperties-object

Naam Typ Required Waarde
image string Yes De naam van de installatiekopieën die worden gebruikt om de containerinstantie te maken.
command array No De opdrachten die moeten worden uitgevoerd in het containerexemplaren in exec-formulier. -Tekenreeks
ports array No De weergegeven poorten op het containerexemplaren. - ContainerPort-object
environmentVariables array No De omgevingsvariabelen die moeten worden ingesteld in de containerinstantie. - EnvironmentVariable-object
resources object Yes De resourcevereisten van het containerexemplaren. - ResourceRequirements-object
volumeMounts array No Het volume wordt gekoppeld aan de containerinstantie. - VolumeMount-object
levendigheidSonde object No De levendheidstest. - ContainerProbe-object
gereedheidSonde object No De gereedheidstest. - ContainerProbe-object

Poortobject

Naam Typ Required Waarde
protocol enum No Het protocol dat is gekoppeld aan de poort. - TCP of UDP
port integer Yes Het poortnummer.

AzureFileVolume-object

Naam Typ Required Waarde
shareName string Yes De naam van de Azure-bestandsshare die als volume moet worden gekoppeld.
Alleen lezen boolean No De vlag die aangeeft of het Gedeelde Azure-bestand als een volume alleen-lezen is.
storageAccountName string Yes De naam van het opslagaccount dat de Azure-bestandsshare bevat.
opslagAccountKey string No De toegangssleutel voor het opslagaccount die wordt gebruikt voor toegang tot de Azure-bestandsshare.

GitRepoVolume-object

Naam Typ Required Waarde
map string No Naam van doelmap. Mag niet bevatten of beginnen met ... Als '.' wordt opgegeven, is de volumemap de Git-opslagplaats. Anders, indien opgegeven, bevat het volume de Git-opslagplaats in de submap met de opgegeven naam.
bewaarplaats string Yes URL van opslagplaats
revisie string No Hash doorvoeren voor de opgegeven revisie.

LogAnalytics-object

Naam Typ Required Waarde
workspaceId string Yes De werkruimte-id voor Log Analytics
werkruimtesleutel string Yes De werkruimtesleutel voor Log Analytics
workspaceResourceId string No De resource-id van de werkruimte voor Log Analytics
logType enum No Het logboektype dat moet worden gebruikt. - ContainerInsights of ContainerInstanceLogs
metadata object No Metagegevens voor log analytics.

InitContainerPropertiesDefinition-object

Naam Typ Required Waarde
image string No De installatiekopieën van de init-container.
command array No De opdracht die moet worden uitgevoerd in de init-container in exec-formulier. -Tekenreeks
environmentVariables array No De omgevingsvariabelen die moeten worden ingesteld in de init-container. - EnvironmentVariable-object
volumeMounts array No Het volume wordt gekoppeld aan de init-container. - VolumeMount-object

ContainerPort-object

Naam Typ Required Waarde
protocol enum No Het protocol dat is gekoppeld aan de poort. - TCP of UDP
port integer Yes Het poortnummer dat wordt weergegeven in de containergroep.

EnvironmentVariable-object

Naam Typ Required Waarde
naam string Yes De naam van de omgevingsvariabele.
value string No De waarde van de omgevingsvariabele.
veilige waarde string No De waarde van de beveiligde omgevingsvariabele.

ResourceRequirements-object

Naam Typ Required Waarde
requests object Yes De resourceaanvragen van dit containerexemplaren. - ResourceRequests-object
limits object No De resourcelimieten van deze containerinstantie. - ResourceLimits-object

VolumeMount-object

Naam Typ Required Waarde
naam string Yes De naam van de volumekoppeling.
mountPath string Yes Het pad in de container waar het volume moet worden gekoppeld. Mag geen dubbele punt (:)) bevatten.
Alleen lezen boolean No De vlag die aangeeft of de volumekoppeling alleen-lezen is.

ContainerProbe-object

Naam Typ Required Waarde
exec object No De opdracht voor uitvoering om te testen - ContainerExec-object
httpOphalen object No De Http Get-instellingen om te testen - ContainerHttpGet-object
initialDelaySeconds integer No De eerste vertragings seconden.
periodSeconds integer No De seconden van de periode.
failureThreshold integer No De drempelwaarde voor fouten.
succesDrempel integer No De slagingsdrempel.
timeoutSeconds integer No De time-out seconden.

ResourceRequests-object

Naam Typ Required Waarde
memoryInGB number Yes De geheugenaanvraag in GB van deze containerinstantie.
cpu number Yes De CPU-aanvraag van deze containerinstantie.
gpu object No De GPU-aanvraag van deze containerinstantie. - GpuResource-object

ResourceLimits-object

Naam Typ Required Waarde
memoryInGB number No De geheugenlimiet in GB van deze containerinstantie.
cpu number No De CPU-limiet van deze containerinstantie.
gpu object No De GPU-limiet van deze containerinstantie. - GpuResource-object

ContainerExec-object

Naam Typ Required Waarde
command array No De opdrachten die in de container moeten worden uitgevoerd. -Tekenreeks

ContainerHttpGet-object

Naam Typ Required Waarde
path string No Het pad om te testen.
port integer Yes Het poortnummer dat moet worden uitgevoerd.
scheme enum No Het schema. - http of https
httpHeaders object No De HTTP-headers die zijn opgenomen in de test. - HttpHeaders-object

HttpHeaders-object

Naam Typ Required Waarde
naam string No Naam van de header.
value string No Waarde van de koptekst.

Important

K80- en P100 GPU-SKU's worden op 31 augustus 2023 buiten gebruik gesteld. Dit wordt veroorzaakt door de buitengebruikstelling van de onderliggende VM's die worden gebruikt: NC-serie en NCv2-serie Hoewel V100-SKU's beschikbaar zijn, wordt het aanbevolen om in plaats daarvan Azure Kubernetes Service te gebruiken. GPU-resources worden niet volledig ondersteund en mogen niet worden gebruikt voor productieworkloads. Gebruik de volgende resources om vandaag naar AKS te migreren: Migreren naar AKS.

GpuResource-object

Naam Typ Required Waarde
count integer Yes Het aantal GPU-resources.
sku enum Yes De SKU van de GPU-resource. - V100

Volgende stappen 

Zie de zelfstudie Een groep met meerdere containers implementeren met behulp van een YAML-bestand.

Zie voorbeelden van het gebruik van een YAML-bestand voor het implementeren van containergroepen in een virtueel netwerk of het koppelen van een extern volume.