Informazioni di riferimento sul linguaggio YAML: Istanze di Azure Container
Articolo
Questo articolo illustra la sintassi e le proprietà per il file YAML supportato da Istanze di Azure Container per configurare un gruppo di contenitori. Usare un file YAML per immettere la configurazione del gruppo al comando az container create nell'interfaccia della riga di comando di Azure.
Un file YAML è un modo pratico per configurare un gruppo di contenitori per le distribuzioni riproducibili. Si tratta di un'alternativa concisa all'uso di un modello di Resource Manager o agli SDK Istanze di Azure Container per creare o aggiornare un gruppo di contenitori.
Nota
Questo riferimento si applica ai file YAML per Istanze di Azure Container versione 2021-10-01dell'API REST .
Schema
Lo schema per il file YAML segue, inclusi i commenti per evidenziare le proprietà chiave. Per una descrizione delle proprietà in questo schema, vedere la sezione Valori delle proprietà.
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
Valori delle proprietà
Nelle tabelle seguenti vengono descritti i valori che è necessario impostare nello schema.
Tipo di identità usato per il gruppo di contenitori. Il tipo 'SystemAssigned, UserAssigned' include sia un'identità creata in modo implicito che un set di identità assegnate dall'utente. Il tipo 'None' rimuove tutte le identità dal gruppo di contenitori. - SystemAssigned, UserAssigned, SystemAssigned, UserAssigned, None
userAssignedIdentities
object
No
Elenco di identità utente associate al gruppo di contenitori. I riferimenti alla chiave del dizionario delle identità utente sono ID risorsa di Azure Resource Manager nel formato :'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
Criteri di riavvio per tutti i contenitori all'interno del gruppo di contenitori. - Always Riavvio sempre- OnFailure Riavvio in caso di errore- Never Non riavviare mai. - Always, OnFailure, Never
Nome della condivisione file di Azure da montare come volume.
readOnly
boolean
No
Flag che indica se il file di Azure condiviso come volume è di sola lettura.
storageAccountName
string
Sì
Nome dell'account di archiviazione che contiene la condivisione file di Azure.
storageAccountKey
string
No
Chiave di accesso dell'account di archiviazione usata per accedere alla condivisione file di Azure.
Oggetto GitRepoVolume
Nome
Digita
Obbligatorio
valore
directory
string
No
Nome della directory di destinazione. Non deve contenere o iniziare con '..'. Se viene specificato '.', la directory del volume è il repository Git. In caso contrario, se specificato, il volume contiene il repository Git nella sottodirectory con il nome specificato.
repository
string
Sì
URL del repository
revision
string
No
Eseguire il commit dell'hash per la revisione specificata.
Oggetto LogAnalytics
Nome
Digita
Obbligatorio
valore
workspaceId
string
Sì
ID dell'area di lavoro per Log Analytics
workspaceKey
string
Sì
Chiave dell'area di lavoro per Log Analytics
workspaceResourceId
string
No
ID risorsa dell'area di lavoro per Log Analytics
logType
enum
No
Tipo di log da utilizzare. - ContainerInsights o ContainerInstanceLogs
metadata
object
No
Metadati per Log Analytics.
Oggetto InitContainerPropertiesDefinition
Nome
Digita
Obbligatorio
valore
image
string
No
Immagine del contenitore init.
Comando
matrice
No
Comando da eseguire all'interno del contenitore init nel formato exec. -corda
Gli SKU GPU K80 e P100 vengono ritirati entro il 31 agosto 2023. Ciò è dovuto al ritiro delle macchine virtuali sottostanti usate: serie NC e serie NCv2 Pur essendo disponibili SKU V100, è consigliabile usare il Servizio Azure Kubernetes. Le risorse GPU non sono completamente supportate e non devono essere usate per i carichi di lavoro di produzione. Usare le risorse seguenti per eseguire la migrazione al Servizio Azure Kubernetes oggi stesso: Come eseguire la migrazione al Servizio Azure Kubernetes.