Este artigo aborda a sintaxe e as propriedades do arquivo YAML com suporte Instâncias de Contêiner do Azure para configurar um grupo de contêineres. Use um arquivo YAML para inserir a configuração do grupo no comando az container create no CLI do Azure.
Um arquivo YAML é uma maneira conveniente de configurar um grupo de contêineres para implantações reproduzíveis. É uma alternativa concisa usar um modelo de Resource Manager ou os SDKs Instâncias de Contêiner do Azure para criar ou atualizar um grupo de contêineres.
Observação
Essa referência se aplica a arquivos YAML para Instâncias de Contêiner do Azure versão 2021-10-01da API REST.
Schema
O esquema do arquivo YAML segue, incluindo comentários para realçar as propriedades de chave. Para obter uma descrição das propriedades neste esquema, consulte a seção Valores de propriedade .
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 propriedade
As tabelas a seguir descrevem os valores que você precisa definir no esquema.
Microsoft. Objeto ContainerInstance/containerGroups
| Name |
Tipo |
Obrigatório |
Valor |
| nome |
cadeia |
Yes |
O nome do grupo de contêineres. |
| apiVersion |
enumeração |
Yes |
2021-10-01 (mais recente), 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 |
| local |
cadeia |
No |
O local do recurso. |
| tags |
objeto |
No |
As marcas de recurso. |
| identidade |
objeto |
No |
A identidade do grupo de contêineres, se configurada.
-
Objeto ContainerGroupIdentity |
| Propriedades |
objeto |
Yes |
Objeto ContainerGroupProperties |
Objeto ContainerGroupIdentity
| Name |
Tipo |
Obrigatório |
Valor |
| tipo |
enumeração |
No |
O tipo de identidade usado para o grupo de contêineres. O tipo 'SystemAssigned, UserAssigned' inclui uma identidade criada implicitamente e um conjunto de identidades atribuídas pelo usuário. O tipo 'None' remove as identidades do grupo de contêineres. - SystemAssigned, UserAssigned, SystemAssigned, UserAssigned, None |
| userAssignedIdentities |
objeto |
No |
A lista de identidades de usuário associadas ao grupo de contêineres. As referências de chave do dicionário de identidade do usuário são Azure Resource Manager IDs de recurso no formulário: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft. ManagedIdentity/userAssignedIdentities/{identityName}'. |
Objeto ContainerGroupProperties
| Name |
Tipo |
Obrigatório |
Valor |
| contêineres |
matriz |
Yes |
Os contêineres dentro do grupo de contêineres.
-
Objeto container |
| imageRegistryCredentials |
matriz |
No |
As credenciais do registro de imagem pelas quais o grupo de contêineres é criado.
-
Objeto ImageRegistryCredential |
| restartPolicy |
enumeração |
No |
Reinicie a política para todos os contêineres dentro do grupo de contêineres.
-
Always Sempre reinicie- OnFailure Reinicie com falha- Never Nunca reinicie. - Always, OnFailure, Never |
| ipAddress |
objeto |
No |
O tipo de endereço IP do grupo de contêineres.
-
Objeto IpAddress |
| osType |
enumeração |
Yes |
O tipo de sistema operacional exigido pelos contêineres no grupo de contêineres. - Windows ou Linux |
| volumes |
matriz |
No |
A lista de volumes que os contêineres neste grupo de contêineres podem montar.
-
Objeto volume |
| diagnostics |
objeto |
No |
As informações de diagnóstico de um grupo de contêineres.
-
Objeto ContainerGroupDiagnostics |
| IDs de sub-rede |
objeto |
No |
As informações de sub-rede de um grupo de contêineres.
-
Objeto ContainerGroupSubnetIds |
| dnsConfig |
objeto |
No |
As informações de configuração de DNS para um grupo de contêineres.
-
Objeto DnsConfiguration |
| sku |
enumeração |
No |
A SKU de um grupo de contêineres – Standard ou Dedicado |
| propriedades de criptografia |
objeto |
No |
As propriedades de criptografia de um grupo de contêineres.
-
Objeto EncryptionProperties |
| Contêineres de inicialização |
matriz |
No |
Os contêineres de inicialização de um grupo de contêineres.
-
Objeto InitContainerDefinition |
Objeto Container
| Name |
Tipo |
Obrigatório |
Valor |
| nome |
cadeia |
Yes |
O nome fornecido pelo usuário da instância de contêiner. |
| Propriedades |
objeto |
Yes |
As propriedades da instância de contêiner.
-
Objeto ContainerProperties |
Objeto ImageRegistryCredential
| Name |
Tipo |
Obrigatório |
Valor |
| servidor |
cadeia |
Yes |
O servidor de registro de imagem do Docker sem um protocolo como "http" e "https". |
| nome de usuário |
cadeia |
No |
O nome de usuário do registro privado. |
| senha |
cadeia |
No |
A senha do registro privado. |
| identidade |
cadeia |
No |
A ID do recurso da identidade gerenciada atribuída pelo usuário usada para autenticação. Não há suporte para a identidade gerenciada atribuída pelo sistema para pulls de imagem do ACR. |
| identityUrl |
cadeia |
No |
A URL de identidade do registro privado. |
Objeto IpAddress
| Name |
Tipo |
Obrigatório |
Valor |
| ports |
matriz |
Yes |
A lista de portas expostas no grupo de contêineres.
-
Objeto port |
| tipo |
enumeração |
Yes |
Especifica se o IP é exposto à Internet pública ou à rede virtual privada. - Público ou Privado |
| IP |
cadeia |
No |
O IP exposto à Internet pública. |
| dnsNameLabel |
cadeia |
No |
O rótulo de nome Dns para o IP. |
Objeto volume
| Name |
Tipo |
Obrigatório |
Valor |
| nome |
cadeia |
Yes |
O nome do volume. |
| azureFile |
objeto |
No |
O volume de Arquivo do Azure.
-
Objeto AzureFileVolume |
| emptyDir |
objeto |
No |
O volume de diretório vazio. |
| segredo |
objeto |
No |
O volume secreto. |
| gitRepo |
objeto |
No |
O volume de repositório git.
-
Objeto GitRepoVolume |
Objeto ContainerGroupDiagnostics
| Name |
Tipo |
Obrigatório |
Valor |
| logAnalytics |
objeto |
No |
Informações do log analytics do grupo de contêineres.
-
Objeto LogAnalytics |
Objeto ContainerGroupSubnetIds
| Name |
Tipo |
Obrigatório |
Valor |
| id |
cadeia |
Yes |
O identificador de uma sub-rede. |
| nome |
cadeia |
No |
O nome da sub-rede. |
Objeto DnsConfiguration
| Name |
Tipo |
Obrigatório |
Valor |
| nameServers |
matriz |
Yes |
Os servidores DNS para o grupo de contêineres. -String |
| searchDomains |
cadeia |
No |
Os domínios de pesquisa DNS para pesquisa de nome de host no grupo de contêineres. |
| Opções |
cadeia |
No |
As opções de DNS para o grupo de contêineres. |
Objeto EncryptionProperties
| Name |
Tipo |
Obrigatório |
Valor |
| vaultBaseUrl |
cadeia |
Yes |
A URL base do keyvault. |
| nome_chave |
cadeia |
Yes |
O nome da chave de criptografia. |
| keyVersion |
cadeia |
Yes |
A versão da chave de criptografia. |
Objeto InitContainerDefinition
Objeto ContainerProperties
| Name |
Tipo |
Obrigatório |
Valor |
| imagem |
cadeia |
Yes |
O nome da imagem usada para criar a instância de contêiner. |
| comando |
matriz |
No |
Os comandos a serem executados na instância de contêiner no formulário executivo. - cadeia de caracteres |
| ports |
matriz |
No |
As portas expostas na instância de contêiner.
-
Objeto ContainerPort |
| environmentVariables |
matriz |
No |
As variáveis de ambiente a serem definidas na instância do contêiner.
-
Objeto EnvironmentVariable |
| resources |
objeto |
Yes |
Os requisitos de recurso da instância de contêiner.
-
Objeto ResourceRequirements |
| volumeMounts |
matriz |
No |
As montagens de volume disponíveis para a instância de contêiner.
-
Objeto VolumeMount |
| livenessProbe |
objeto |
No |
A investigação de vida.
-
Objeto ContainerProbe |
| prontidãoSonda |
objeto |
No |
A investigação de preparação.
-
Objeto ContainerProbe |
Objeto port
| Name |
Tipo |
Obrigatório |
Valor |
| protocolo |
enumeração |
No |
O protocolo associado à porta. – TCP ou UDP |
| porta |
inteiro |
Yes |
O número da porta. |
Objeto AzureFileVolume
| Name |
Tipo |
Obrigatório |
Valor |
| shareName |
cadeia |
Yes |
O nome do compartilhamento de Arquivos do Azure a ser montado como um volume. |
| somente leitura |
boolean |
No |
O sinalizador que indica se o Arquivo do Azure compartilhado montado como um volume é somente leitura. |
| storageAccountName |
cadeia |
Yes |
O nome da conta de armazenamento que contém o compartilhamento de arquivos do Azure. |
| Chave de conta de armazenamento |
cadeia |
No |
A chave de acesso da conta de armazenamento usada para acessar o compartilhamento de Arquivos do Azure. |
Objeto GitRepoVolume
| Name |
Tipo |
Obrigatório |
Valor |
| diretório |
cadeia |
No |
Nome do diretório de destino. Não deve conter ou começar com '..'. Se '.' for fornecido, o diretório de volume será o repositório git. Caso contrário, se especificado, o volume contém o repositório git no subdiretório com o nome fornecido. |
| repositório |
cadeia |
Yes |
URL do repositório |
| revisão |
cadeia |
No |
Confirme o hash para a revisão especificada. |
Objeto LogAnalytics
| Name |
Tipo |
Obrigatório |
Valor |
| ID do espaço de trabalho |
cadeia |
Yes |
A ID do workspace para análise de logs |
| workspaceKey |
cadeia |
Yes |
A chave do workspace para análise de logs |
| IdentificadorDeRecursoDoEspaçoDeTrabalho |
cadeia |
No |
A ID do recurso do workspace para análise de logs |
| Tipo de log |
enumeração |
No |
O tipo de log a ser usado. - ContainerInsights ou ContainerInstanceLogs |
| metadados |
objeto |
No |
Metadados para análise de logs. |
Objeto InitContainerPropertiesDefinition
| Name |
Tipo |
Obrigatório |
Valor |
| imagem |
cadeia |
No |
A imagem do contêiner de inicialização. |
| comando |
matriz |
No |
O comando a ser executado dentro do contêiner de inicialização no formulário executivo. -String |
| environmentVariables |
matriz |
No |
As variáveis de ambiente a serem definidas no contêiner de inicialização.
-
Objeto EnvironmentVariable |
| volumeMounts |
matriz |
No |
As montagens de volume disponíveis para o contêiner de inicialização.
-
Objeto VolumeMount |
Objeto ContainerPort
| Name |
Tipo |
Obrigatório |
Valor |
| protocolo |
enumeração |
No |
O protocolo associado à porta. – TCP ou UDP |
| porta |
inteiro |
Yes |
O número da porta exposto no grupo de contêineres. |
Objeto EnvironmentVariable
| Name |
Tipo |
Obrigatório |
Valor |
| nome |
cadeia |
Yes |
O nome da variável de ambiente. |
| valor |
cadeia |
No |
O valor da variável de ambiente. |
| valor seguro |
cadeia |
No |
O valor da variável de ambiente seguro. |
Objeto ResourceRequirements
| Name |
Tipo |
Obrigatório |
Valor |
| requests |
objeto |
Yes |
As solicitações de recurso dessa instância de contêiner.
-
Objeto ResourceRequests |
| limites |
objeto |
No |
Os limites de recurso dessa instância de contêiner.
-
Objeto ResourceLimits |
Objeto VolumeMount
| Name |
Tipo |
Obrigatório |
Valor |
| nome |
cadeia |
Yes |
O nome da montagem do volume. |
| caminho de montagem |
cadeia |
Yes |
O caminho dentro do contêiner em que o volume deve ser montado. Não deve conter dois-pontos (:). |
| somente leitura |
boolean |
No |
O sinalizador que indica se a montagem do volume é somente leitura. |
Objeto ContainerProbe
| Name |
Tipo |
Obrigatório |
Valor |
| exec |
objeto |
No |
O comando de execução a ser sondado – objeto ContainerExec |
| httpGet |
objeto |
No |
As configurações de Http Get para investigação – objeto ContainerHttpGet |
| initialDelaySeconds |
inteiro |
No |
Os segundos de atraso iniciais. |
| periodSegundos |
inteiro |
No |
Os segundos do período. |
| failureThreshold |
inteiro |
No |
O limite de falha. |
| successThreshold |
inteiro |
No |
O limite de sucesso. |
| timeoutSeconds |
inteiro |
No |
Os segundos de tempo limite. |
Objeto ResourceRequests
| Name |
Tipo |
Obrigatório |
Valor |
| memoryInGB |
number |
Yes |
A solicitação de memória em GB dessa instância de contêiner. |
| cpu |
number |
Yes |
A solicitação de CPU dessa instância de contêiner. |
| gpu |
objeto |
No |
A solicitação de GPU dessa instância de contêiner.
-
Objeto GpuResource |
Objeto ResourceLimits
| Name |
Tipo |
Obrigatório |
Valor |
| memoryInGB |
number |
No |
O limite de memória em GB dessa instância de contêiner. |
| cpu |
number |
No |
O limite da CPU dessa instância de contêiner. |
| gpu |
objeto |
No |
O limite de GPU dessa instância de contêiner.
-
Objeto GpuResource |
Objeto ContainerExec
| Name |
Tipo |
Obrigatório |
Valor |
| comando |
matriz |
No |
Os comandos a serem executados dentro do contêiner. - cadeia de caracteres |
Objeto ContainerHttpGet
| Name |
Tipo |
Obrigatório |
Valor |
| caminho |
cadeia |
No |
O caminho para a investigação. |
| porta |
inteiro |
Yes |
O número da porta a ser sondado. |
| scheme |
enumeração |
No |
O esquema. - http ou https |
| httpCabeçalhos |
objeto |
No |
Os cabeçalhos HTTP incluídos na investigação.
-
Objeto HttpHeaders |
| Name |
Tipo |
Obrigatório |
Valor |
| nome |
cadeia |
No |
Nome do cabeçalho. |
| valor |
cadeia |
No |
Valor do cabeçalho. |
Importante
As SKUs de GPU K80 e P100 estão sendo desativadas até 31 de agosto de 2023. Isso ocorre devido à desativação das VMs subjacentes usadas: Série NC e Série NCv2 Embora os SKUs V100 estejam disponíveis, ele será receomizado para usar Serviço de Kubernetes do Azure em vez disso. Os recursos de GPU não têm suporte total e não devem ser usados para cargas de trabalho de produção. Use os seguintes recursos para migrar para o AKS hoje: Como migrar para o AKS.
Objeto GpuResource
| Name |
Tipo |
Obrigatório |
Valor |
| count |
inteiro |
Yes |
A contagem do recurso de GPU. |
| sku |
enumeração |
Yes |
A SKU do recurso de GPU. - V100 |
Próximas Etapas
Confira o tutorial Implantar um grupo de vários contêineres usando um arquivo YAML.
Veja exemplos de como usar um arquivo YAML para implantar grupos de contêineres em uma rede virtual ou que montam um volume externo.