En este artículo se describen la sintaxis y las propiedades del archivo YAML admitido por Azure Container Instances para configurar un grupo de contenedores. Use un archivo YAML para introducir la configuración del grupo en el comando az container create en el 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 Azure Container Instances versión 2021-10-01de la API REST.
Schema
El esquema del archivo YAML sigue, incluidos los comentarios para resaltar las propiedades clave. 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
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
Valores de propiedades
En las tablas siguientes se describen los valores que debe establecer en el esquema.
Microsoft. ContainerInstance/containerGroups (objeto)
| Nombre |
Tipo |
Required |
Value |
| nombre |
string |
Sí |
Nombre del grupo de contenedores. |
| apiVersion |
enum |
Sí |
2021-10-01 (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 |
| location |
string |
No |
Ubicación del recurso. |
| tags |
object |
No |
Etiquetas de recursos. |
| identity |
object |
No |
Identidad del grupo de contenedores, si está configurada.
-
ContainerGroupIdentity (objeto) |
| properties |
object |
Sí |
ContainerGroupProperties (objeto) |
ContainerGroupIdentity (objeto)
| Nombre |
Tipo |
Required |
Value |
| type |
enum |
No |
Tipo de identidad que se usa 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 al grupo de contenedores. Las referencias de clave de diccionario de identidad de usuario son Azure Resource Manager identificadores de recursos con el formato : '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft. ManagedIdentity/userAssignedIdentities/{identityName}'. |
ContainerGroupProperties (objeto)
| Nombre |
Tipo |
Required |
Value |
| contenedores |
array |
Sí |
Contenedores dentro del grupo de contenedores.
-
Container (objeto) |
| imageRegistryCredentials |
array |
No |
Credenciales del Registro de imágenes a partir de las cuales se crea el grupo de contenedores.
-
ImageRegistryCredential (objeto) |
| restartPolicy |
enum |
No |
Reinicie la directiva para todos los contenedores del grupo de contenedores.
-
Always Reiniciar siempre- OnFailure Reiniciar en caso de error- Never No reiniciar nunca. - Siempre, OnFailure, Nunca |
| ipAddress |
object |
No |
Tipo de dirección IP del grupo de contenedores.
-
IpAddress (objeto) |
| 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.
-
Volume (objeto) |
| diagnostics |
object |
No |
Información de diagnóstico de un grupo de contenedores.
-
ContainerGroupDiagnostics (objeto) |
| subnetIds |
object |
No |
Información de subred de un grupo de contenedores.
-
ContainerGroupSubnetIds (objeto) |
| dnsConfig |
object |
No |
Información de configuración de DNS para un grupo de contenedores.
-
DnsConfiguration (objeto) |
| sku |
enum |
No |
SKU de un grupo de contenedores: estándar o dedicado |
| encryptionProperties |
object |
No |
Propiedades de cifrado de un grupo de contenedores.
-
EncryptionProperties (objeto) |
| initContainers |
array |
No |
Contenedores de inicialización de un grupo de contenedores.
-
InitContainerDefinition (objeto) |
Container (objeto)
| Nombre |
Tipo |
Required |
Value |
| nombre |
string |
Sí |
Nombre proporcionado por el usuario de la instancia de contenedor. |
| properties |
object |
Sí |
Propiedades de la instancia de contenedor.
-
ContainerProperties (objeto) |
ImageRegistryCredential (objeto)
| Nombre |
Tipo |
Required |
Value |
| server |
string |
Sí |
El servidor del Registro de imágenes de Docker sin un protocolo como "http" y "https". |
| username |
string |
No |
Nombre de usuario del registro privado. |
| password |
string |
No |
Contraseña del registro privado. |
| identity |
string |
No |
Identificador de recurso de la identidad administrada asignada por el usuario que se usa para autenticarse. La identidad administrada asignada por el sistema no se admite para las extracción de imágenes de ACR. |
| identityUrl |
string |
No |
Dirección URL de identidad del registro privado. |
IpAddress (objeto)
| Nombre |
Tipo |
Required |
Value |
| ports |
array |
Sí |
Lista de puertos expuestos en el grupo de contenedores.
-
Port (objeto) |
| type |
enum |
Sí |
Especifica si la dirección IP se expone a la red virtual pública de Internet o privada. - Público o Privado |
| IP |
string |
No |
Dirección IP expuesta a la red pública de Internet. |
| dnsNameLabel |
string |
No |
Etiqueta de nombre DNS para la dirección IP. |
Volume (objeto)
| Nombre |
Tipo |
Required |
Value |
| nombre |
string |
Sí |
Nombre del volumen. |
| azureFile |
object |
No |
El volumen de Azure File.
-
AzureFileVolume (objeto) |
| emptyDir |
object |
No |
Volumen de directorio vacío. |
| secret |
object |
No |
Volumen secreto. |
| gitRepo |
object |
No |
El volumen del repositorio de Git.
-
GitRepoVolume (objeto) |
ContainerGroupDiagnostics (objeto)
| Nombre |
Tipo |
Required |
Value |
| logAnalytics |
object |
No |
Información de log analytics del grupo de contenedores.
-
LogAnalytics (objeto) |
ContainerGroupSubnetIds (objeto)
| Nombre |
Tipo |
Required |
Value |
| id |
string |
Sí |
Identificador de una subred. |
| nombre |
string |
No |
Nombre de la subred. |
DnsConfiguration (objeto)
| Nombre |
Tipo |
Required |
Value |
| nameServers |
array |
Sí |
Los servidores DNS para el grupo de contenedores. - string |
| searchDomains |
string |
No |
Dominios de búsqueda DNS para la búsqueda de nombres de host en el grupo de contenedores. |
| options |
string |
No |
Opciones de DNS para el grupo de contenedores. |
EncryptionProperties (objeto)
| Nombre |
Tipo |
Required |
Value |
| vaultBaseUrl |
string |
Sí |
Dirección URL base de keyvault. |
| keyName |
string |
Sí |
Nombre de clave de cifrado. |
| keyVersion |
string |
Sí |
Versión de la clave de cifrado. |
InitContainerDefinition (objeto)
ContainerProperties (objeto)
| Nombre |
Tipo |
Required |
Value |
| imagen |
string |
Sí |
Nombre de la imagen utilizada para crear la instancia del contenedor. |
| command |
array |
No |
Los comandos que se van a ejecutar dentro de la instancia de contenedor en formato exec. - string |
| ports |
array |
No |
Puertos expuestos en la instancia de contenedor.
-
ContainerPort (objeto) |
| environmentVariables |
array |
No |
Variables de entorno que se van a establecer en la instancia de contenedor.
-
EnvironmentVariable (objeto) |
| resources |
object |
Sí |
Requisitos de recursos de la instancia de contenedor.
-
ResourceRequirements (objeto) |
| volumeMounts |
array |
No |
El volumen monta los montajes disponibles para la instancia de contenedor.
-
VolumeMount (objeto) |
| livenessProbe |
object |
No |
Sondeo de ejecución.
-
ContainerProbe (objeto) |
| readinessProbe |
object |
No |
Sondeo de preparación.
-
ContainerProbe (objeto) |
Port (objeto)
| Nombre |
Tipo |
Required |
Value |
| protocol |
enum |
No |
Protocolo asociado al puerto. - TCP o UDP |
| port |
integer |
Sí |
Número de puerto. |
AzureFileVolume (objeto)
| Nombre |
Tipo |
Required |
Value |
| shareName |
string |
Sí |
Nombre del recurso compartido de archivos de Azure que se va a montar como un volumen. |
| Solo lectura |
boolean |
No |
Marca que indica si el recurso compartido de Azure File montado como 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 |
La clave de acceso de la cuenta de almacenamiento que se usa para acceder al recurso compartido de archivos de Azure. |
GitRepoVolume (objeto)
| Nombre |
Tipo |
Required |
Value |
| directory |
string |
No |
Nombre del directorio de destino. No debe contener ni comenzar con '..'. 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. |
| repositorio |
string |
Sí |
Dirección URL del repositorio |
| revisión |
string |
No |
Hash de confirmación para la revisión especificada. |
LogAnalytics (objeto)
| Nombre |
Tipo |
Required |
Value |
| workspaceId |
string |
Sí |
El identificador del área de trabajo para Log Analytics |
| workspaceKey |
string |
Sí |
La clave del área de trabajo para Log Analytics |
| IdentificadorDeRecursoDelEspacioDeTrabajo |
string |
No |
El identificador de recurso del área de trabajo para Log Analytics |
| Tipo de registro |
enum |
No |
Tipo de registro que se va a usar. - ContainerInsights o ContainerInstanceLogs |
| metadata |
object |
No |
Metadatos de Log Analytics. |
Objeto InitContainerPropertiesDefinition
| Nombre |
Tipo |
Required |
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 en formato exec. - string |
| environmentVariables |
array |
No |
Variables de entorno que se van a establecer en el contenedor de inicialización.
-
EnvironmentVariable (objeto) |
| volumeMounts |
array |
No |
El volumen monta los montajes disponibles para el contenedor de inicialización.
-
VolumeMount (objeto) |
ContainerPort (objeto)
| Nombre |
Tipo |
Required |
Value |
| protocol |
enum |
No |
Protocolo asociado al puerto. - TCP o UDP |
| port |
integer |
Sí |
Número de puerto expuesto en el grupo de contenedores. |
EnvironmentVariable (objeto)
| Nombre |
Tipo |
Required |
Value |
| nombre |
string |
Sí |
Nombre de la variable de entorno. |
| valor |
string |
No |
Valor de la variable de entorno. |
| secureValue |
string |
No |
Valor de la variable de entorno segura. |
ResourceRequirements (objeto)
VolumeMount (objeto)
| Nombre |
Tipo |
Required |
Value |
| nombre |
string |
Sí |
Nombre del montaje del volumen. |
| mountPath |
string |
Sí |
Ruta de acceso dentro del contenedor donde se debe montar el volumen. No debe contener dos puntos (:). |
| Solo lectura |
boolean |
No |
Marca que indica si el montaje del volumen es de solo lectura. |
ContainerProbe (objeto)
| Nombre |
Tipo |
Required |
Value |
| exec |
object |
No |
Comando de ejecución que se va a sondear: objeto ContainerExec |
| httpGet (en inglés) |
object |
No |
La configuración de Http Get para sondear: objeto ContainerHttpGet |
| initialDelaySeconds |
integer |
No |
Segundos de retraso inicial. |
| periodSeconds |
integer |
No |
Segundos de período. |
| failureThreshold |
integer |
No |
Umbral de error. |
| successThreshold |
integer |
No |
Umbral de éxito. |
| timeoutSeconds |
integer |
No |
Los segundos de tiempo de espera. |
ResourceRequests (objeto)
| Nombre |
Tipo |
Required |
Value |
| memoryInGB |
number |
Sí |
Solicitud de memoria en GB de esta instancia de contenedor. |
| CPU |
number |
Sí |
Solicitud de CPU de esta instancia de contenedor. |
| gpu |
object |
No |
Solicitud de GPU de esta instancia de contenedor.
-
Objeto GpuResource |
ResourceLimits (objeto)
| Nombre |
Tipo |
Required |
Value |
| memoryInGB |
number |
No |
Límite de memoria en GB de esta instancia de contenedor. |
| CPU |
number |
No |
Límite de CPU de esta instancia de contenedor. |
| gpu |
object |
No |
Límite de GPU de esta instancia de contenedor.
-
Objeto GpuResource |
ContainerExec (objeto)
| Nombre |
Tipo |
Required |
Value |
| command |
array |
No |
Comandos que se van a ejecutar en el contenedor. - string |
ContainerHttpGet (objeto)
| Nombre |
Tipo |
Required |
Value |
| path |
string |
No |
Ruta de acceso al sondeo. |
| port |
integer |
Sí |
Número de puerto que se va a sondear. |
| scheme |
enum |
No |
El esquema. - http o https |
| httpHeaders |
object |
No |
Encabezados HTTP incluidos en el sondeo.
-
HttpHeaders (objeto) |
| Nombre |
Tipo |
Required |
Value |
| nombre |
string |
No |
Nombre del encabezado. |
| valor |
string |
No |
Valor del encabezado. |
Importante
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 volverá a modificar para usar Azure Kubernetes Service en su lugar. Los recursos de GPU no son totalmente compatibles y no se deben usar para cargas de trabajo de producción. Use los siguientes recursos para migrar a AKS hoy: Migración a AKS.
Objeto GpuResource
| Nombre |
Tipo |
Required |
Value |
| count |
integer |
Sí |
Recuento del recurso de GPU. |
| sku |
enum |
Sí |
SKU del recurso de GPU. - V100 |
Pasos siguientes
Consulte el tutorial Implementación de un grupo de varios contenedores mediante un archivo YAML.
Vea ejemplos de uso de un archivo YAML para implementar grupos de contenedores en una red virtual o que monten un volumen externo.