En este artículo se abordan la sintaxis y las propiedades del archivo YAML compatible con Azure Container Instances para configurar un grupo de contenedores. Use un archivo YAML para especificar la configuración del grupo en el comando az container create en la CLI de Azure.
Un archivo YAML es una manera cómoda de configurar un grupo de contenedores para implementaciones reproducibles. Es una alternativa concisa al uso de una plantilla de Resource Manager o los SDK de Azure Container Instances para crear o actualizar un grupo de contenedores.
Nota
Esta referencia se aplica a los archivos YAML para la versión de la API REST de Azure Container Instances2021-10-01.
Schema
A continuación se muestra el esquema para el archivo YAML, con comentarios para resaltar las principales propiedades. Para obtener una descripción de las propiedades de este esquema, vea la sección Valores de propiedad.
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
Valores de propiedad
Las tablas siguientes describen los valores que debe establecer en el esquema.
2021-10-01 (la versión más reciente), 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
Tipo de identidad utilizado para el grupo de contenedores. El tipo "SystemAssigned, UserAssigned" incluye una identidad creada implícitamente y un conjunto de identidades asignadas por el usuario. El tipo "None" quita las identidades del grupo de contenedores. - SystemAssigned, UserAssigned, SystemAssigned, UserAssigned, None
userAssignedIdentities
object
No
Lista de identidades de usuario asociadas con el grupo de contenedores. Las referencias de clave de diccionario de identidad de usuario son identificadores de recursos de Azure Resource Manager con el formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
Directiva de reinicio para todos los contenedores del grupo de contenedores. - Always Reiniciar siempre- OnFailure Reiniciar con un error - Never No reiniciar nunca. - Always, OnFailure, Never
ipAddress
object
No
Tipo de dirección IP del grupo de contenedores. - Objeto IpAddress
osType
enum
Sí
Tipo de sistema operativo requerido por los contenedores del grupo de contenedores. - Windows o Linux
volumes
array
No
La lista de volúmenes que los contenedores de este grupo de contenedores pueden montar. - Objeto Volume
Nombre del recurso compartido de archivos de Azure que se va a montar como un volumen.
readOnly
boolean
No
Marca que indica si el recurso compartido de archivos de Azure montado como un volumen es de solo lectura.
storageAccountName
string
Sí
Nombre de la cuenta de almacenamiento que contiene el recurso compartido de archivos de Azure.
storageAccountKey
string
No
Clave de acceso de la cuenta de almacenamiento utilizada para acceder al recurso compartido de archivos de Azure.
Objeto GitRepoVolume
Nombre
Type
Obligatorio
Value
directory
string
No
Nombre del directorio de destino. No debe contener ".." ni empezar así. Si se proporciona '.', el directorio de volúmenes es el repositorio de Git. De lo contrario, si se especifica, el volumen contiene el repositorio git en el subdirectorio con el nombre especificado.
repository
string
Sí
Dirección URL del repositorio
revision
string
No
Hash de confirmación para la revisión especificada.
Objeto LogAnalytics
Nombre
Type
Obligatorio
Value
workspaceId
string
Sí
Identificador del área de trabajo de Log Analytics
workspaceKey
string
Sí
Clave del área de trabajo de Log Analytics
workspaceResourceId
string
No
Identificador del recurso del área de trabajo de Log Analytics
logType
enum
No
Tipo de registro que se va a usar. - ContainerInsights o ContainerInstanceLogs
metadata
object
No
Metadatos de Log Analytics.
Objeto InitContainerPropertiesDefinition
Nombre
Type
Obligatorio
Value
imagen
string
No
Imagen del contenedor de inicialización.
command
array
No
Comando que se va a ejecutar en el contenedor de inicialización del formulario de ejecución. - cadena
environmentVariables
array
No
Variables de entorno que se establecerán en el contenedor de inicialización. - Objeto EnvironmentVariable
volumeMounts
array
No
Montajes de volumen disponibles para el contenedor de inicialización. - Objeto VolumeMount
Objeto ContainerPort
Nombre
Type
Obligatorio
Value
protocol
enum
No
Protocolo asociado al puerto. - TCP o UDP
port
integer
Sí
Número de puerto expuesto en el grupo de contenedores.
Las SKU de GPU K80 y P100 se retiran el 31 de agosto de 2023. Esto se debe a la retirada de las máquinas virtuales subyacentes usadas: serie NC y serie NCv2. Aunque las SKU V100 estarán disponibles, se recomienda usar Azure Kubernetes Service en su lugar. Los recursos de GPU no son totalmente compatibles y no deben usarse para cargas de trabajo de producción. Use los siguientes recursos para migrar a AKS hoy mismo: Cómo migrar a AKS.