Este artigo aborda a sintaxe e as propriedades do arquivo YAML usado com as 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 da CLI do Azure.
Um arquivo YAML é uma forma conveniente de configurar um grupo de contêineres para implantações reproduzíveis. É uma alternativa concisa ao uso de modelos do Resource Manager ou de SDKs das Instâncias de Contêiner do Azure para criar ou atualizar um grupo de contêineres.
Observação
Esta referência se aplica a arquivos YAML para a API REST das Instâncias de Contêiner do Azure, versão 2021-10-01.
Esquema
Veja abaixo o esquema do arquivo YAML, incluindo comentários para realçar as principais propriedades. A descrição das propriedades do esquema está disponível na 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 necessários para definir no esquema.
Objeto Microsoft.ContainerInstance/containerGroups
| Nome |
Digitar |
Obrigatório |
Valor |
| name |
string |
Sim |
O nome do grupo de contêineres. |
| apiVersion |
enum |
Sim |
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 |
string |
No |
O local do recurso. |
| marcas |
objeto |
Não |
As marcas do recurso. |
| identidade |
objeto |
Não |
A identidade do grupo de contêineres, se configurada. - Objeto ContainerGroupIdentity |
| properties |
objeto |
Sim |
Objeto ContainerGroupProperties |
Objeto ContainerGroupIdentity
| Nome |
Digitar |
Obrigatório |
Valor |
| type |
enum |
Não |
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 'Nenhum' remove todas as identidades do grupo de contêineres. - SystemAssigned, UserAssigned, SystemAssigned, UserAssigned, None |
| userAssignedIdentities |
objeto |
Não |
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 IDs de recurso do Azure Resource Manager no formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. |
Objeto ContainerGroupProperties
| Nome |
Digitar |
Obrigatório |
Valor |
| containers |
array |
Sim |
Os contêineres dentro do grupo de contêineres. - Objeto Container |
| imageRegistryCredentials |
array |
Não |
As credenciais do registro de imagem pelas quais o grupo de contêineres é criado. - Objeto ImageRegistryCredential |
| restartPolicy |
enum |
Não |
A política de reinicialização para todos os contêineres no grupo. - Always Sempre reiniciar– OnFailure Reiniciar em caso de falha – Never Nunca reiniciar. - Always, OnFailure, Never |
| ipAddress |
objeto |
Não |
O tipo de endereço IP do grupo de contêineres. - Objeto IpAddress |
| osType |
enum |
Sim |
O tipo de sistema operacional exigido pelos contêineres do grupo. - Windows ou Linux |
| volumes |
array |
Não |
A lista de volumes que os contêineres neste grupo de contêineres podem montar. - Objeto Volume |
| diagnóstico |
objeto |
Não |
As informações de diagnóstico de um grupo de contêineres. - Objeto ContainerGroupDiagnostics |
| subnetIds |
objeto |
Não |
As informações de sub-rede de um grupo de contêineres. - Objeto ContainerGroupSubnetIds |
| dnsConfig |
objeto |
Não |
As informações de configuração de DNS de um grupo de contêineres. - Objeto DnsConfiguration |
| sku |
enum |
Não |
A SKU de um grupo de contêineres, Standard ou Dedicado |
| encryptionProperties |
objeto |
Não |
As propriedades de criptografia de um grupo de contêineres. - Objeto EncryptionProperties |
| initContainers |
array |
Não |
Os contêineres de inicialização de um grupo de contêineres. - Objeto InitContainerDefinition |
Objeto Container
| Nome |
Digitar |
Obrigatório |
Valor |
| name |
string |
Sim |
O nome da instância de contêiner fornecido pelo usuário. |
| properties |
objeto |
Sim |
As propriedades da instância de contêiner. - Objeto ContainerProperties |
Objeto ImageRegistryCredential
| Nome |
Digitar |
Obrigatório |
Valor |
| Servidor |
string |
Sim |
O servidor do registro de imagem do Docker sem um protocolo como "http" ou "https". |
| Nome de Usuário |
string |
Não |
O nome de usuário do registro privado. |
| password |
string |
No |
A senha do registro privado. |
| identidade |
Cadeia de caracteres |
Não |
A ID de recurso da identidade gerenciada atribuída pelo usuário ou pelo sistema usada para autenticar. |
| identityUrl |
Cadeia de caracteres |
Não |
A URL de identidade para o registro privado. |
Objeto IpAddress
| Nome |
Digitar |
Obrigatório |
Valor |
| ports |
array |
Sim |
A lista de portas expostas no grupo de contêineres. - Objeto Port |
| type |
enum |
Sim |
Especifica se o IP é exposto à Internet pública ou à rede virtual privada. - Público ou privado |
| ip |
Cadeia de caracteres |
No |
O IP exposto à Internet pública. |
| dnsNameLabel |
Cadeia de caracteres |
No |
A etiqueta de nome DNS do IP. |
Objeto Volume
| Nome |
Digitar |
Obrigatório |
Valor |
| name |
string |
Sim |
O nome do volume. |
| azureFile |
objeto |
Não |
O volume do arquivo do Azure. - Objeto AzureFileVolume |
| emptyDir |
objeto |
Não |
O volume de diretório vazio. |
| segredo |
objeto |
Não |
O volume secreto. |
| gitRepo |
objeto |
Não |
O volume do repositório git. - Objeto GitRepoVolume |
Objeto ContainerGroupDiagnostics
| Nome |
Digitar |
Obrigatório |
Valor |
| logAnalytics |
objeto |
Não |
Informações da análise de logs do grupo de contêineres. - Objeto LogAnalytics |
Objeto ContainerGroupSubnetIds
| Nome |
Digitar |
Obrigatório |
Valor |
| id |
cadeia de caracteres |
Sim |
O identificador de uma sub-rede. |
| name |
cadeia de caracteres |
Não |
O nome da sub-rede. |
Objeto DnsConfiguration
| Nome |
Digitar |
Obrigatório |
Valor |
| nameServers |
array |
Sim |
Os servidores DNS do grupo de contêineres. - cadeia de caracteres |
| searchDomains |
Cadeia de caracteres |
No |
Os domínios de pesquisa de DNS para a pesquisa de nome do host no grupo de contêineres. |
| opções |
Cadeia de caracteres |
No |
As opções de DNS do grupo de contêineres. |
Objeto EncryptionProperties
| Nome |
Digitar |
Obrigatório |
Valor |
| vaultBaseUrl |
string |
Sim |
A URL base do cofre de chaves. |
| keyName |
string |
Sim |
O nome da chave de criptografia. |
| keyVersion |
string |
Sim |
A versão da chave de criptografia. |
Objeto InitContainerDefinition
Objeto ContainerProperties
| Nome |
Digitar |
Obrigatório |
Valor |
| image |
string |
Sim |
O nome da imagem usada para criar a instância de contêiner. |
| . |
array |
Não |
Os comandos a serem executados na instância de contêiner no formato de execução. - cadeia de caracteres |
| ports |
array |
Não |
As portas expostas na instância de contêiner. - Objeto ContainerPort |
| environmentVariables |
array |
Não |
As variáveis de ambiente a serem definidas na instância de contêiner. - Objeto EnvironmentVariable |
| recursos |
objeto |
Sim |
Os requisitos de recurso da instância de contêiner. - Objeto ResourceRequirements |
| volumeMounts |
array |
Não |
As montagens de volume disponíveis para a instância de contêiner. - Objeto VolumeMount |
| livenessProbe |
objeto |
Não |
A investigação de atividade. - Objeto ContainerProbe |
| readinessProbe |
objeto |
Não |
A investigação de preparação. - Objeto ContainerProbe |
Objeto Port
| Nome |
Digitar |
Obrigatório |
Valor |
| protocolo |
enum |
Não |
O protocolo associado à porta. - TCP ou UDP |
| porta |
inteiro |
Sim |
O número da porta. |
Objeto AzureFileVolume
| Nome |
Digitar |
Obrigatório |
Valor |
| shareName |
string |
Sim |
O nome do compartilhamento de arquivo do Azure a ser montado como volume. |
| readOnly |
booleano |
Não |
O sinalizador que indica se o arquivo do Azure que foi compartilhado montado como volume é somente leitura. |
| storageAccountName |
string |
Sim |
O nome da conta de armazenamento que contém o compartilhamento de arquivo do Azure. |
| storageAccountKey |
Cadeia de caracteres |
No |
A chave de acesso da conta de armazenamento usada para acessar o compartilhamento de arquivo do Azure. |
Objeto GitRepoVolume
| Nome |
Digitar |
Obrigatório |
Valor |
| directory |
Cadeia de caracteres |
No |
Nome do diretório de destino. Não deve conter ".." nem começar com isso. Se '.' for fornecido, o diretório do volume será o repositório git. Caso contrário, se especificado, o volume conterá o repositório git no subdiretório com o nome fornecido. |
| repository |
string |
Sim |
URL do repositório |
| revisão |
Cadeia de caracteres |
No |
Hash de commit da revisão especificada. |
Objeto LogAnalytics
| Nome |
Digitar |
Obrigatório |
Valor |
| workspaceId |
string |
Sim |
A ID do workspace da análise de logs |
| workspaceKey |
string |
Sim |
A chave do workspace da análise de logs |
| workspaceResourceId |
string |
Não |
A ID do recurso do workspace da análise de logs |
| logType |
enum |
Não |
O tipo de log a ser usado. - ContainerInsights ou ContainerInstanceLogs |
| metadata |
objeto |
Não |
Metadados da análise de logs. |
Objeto InitContainerPropertiesDefinition
| Nome |
Digitar |
Obrigatório |
Valor |
| image |
string |
No |
A imagem do contêiner de inicialização. |
| . |
array |
Não |
O comando a ser executado no contêiner de inicialização no formato executável. - cadeia de caracteres |
| environmentVariables |
array |
Não |
As variáveis de ambiente a serem definidas no contêiner de inicialização. - Objeto EnvironmentVariable |
| volumeMounts |
array |
Não |
As montagens de volume disponíveis ao contêiner de inicialização. - Objeto VolumeMount |
Objeto ContainerPort
| Nome |
Digitar |
Obrigatório |
Valor |
| protocolo |
enum |
Não |
O protocolo associado à porta. - TCP ou UDP |
| porta |
inteiro |
Sim |
O número da porta exposta no grupo de contêineres. |
Objeto EnvironmentVariable
| Nome |
Digitar |
Obrigatório |
Valor |
| name |
string |
Sim |
O nome da variável de ambiente. |
| value |
string |
No |
O valor da variável de ambiente. |
| secureValue |
Cadeia de caracteres |
No |
O valor da variável de ambiente segura. |
Objeto ResourceRequirements
| Nome |
Digitar |
Obrigatório |
Valor |
| solicitações |
objeto |
Sim |
As solicitações de recurso desta instância de contêiner. - Objeto ResourceRequests |
| limites |
objeto |
Não |
Os limites de recurso desta instância de contêiner. - Objeto ResourceLimits |
Objeto VolumeMount
| Nome |
Digitar |
Obrigatório |
Valor |
| name |
string |
Sim |
O nome da montagem de volume. |
| mountPath |
string |
Sim |
O caminho no contêiner em que o volume deve ser montado. Não pode conter dois-pontos (:). |
| readOnly |
booleano |
Não |
O sinalizador que indica se a montagem de volume é somente leitura. |
Objeto ContainerProbe
| Nome |
Digitar |
Obrigatório |
Valor |
| exec |
objeto |
Não |
O comando de execução para a investigação – objeto ContainerExec |
| httpGet |
objeto |
Não |
As configurações de GET de HTTP para a investigação – objeto ContainerHttpGet |
| initialDelaySeconds |
inteiro |
Não |
Os segundos de atraso inicial. |
| periodSeconds |
inteiro |
Não |
Os segundos do período. |
| failureThreshold |
inteiro |
Não |
O limite de falhas. |
| successThreshold |
inteiro |
Não |
O limite de sucessos. |
| timeoutSeconds |
inteiro |
Não |
Os segundos do tempo limite. |
Objeto ResourceRequests
| Nome |
Digitar |
Obrigatório |
Valor |
| memoryInGB |
número |
Sim |
A solicitação de memória da instância de contêiner em GB. |
| cpu |
número |
Sim |
A solicitação de CPU da instância de contêiner. |
| gpu |
objeto |
Não |
A solicitação de GPU desta instância de contêiner. - Objeto GpuResource |
Objeto ResourceLimits
| Nome |
Digitar |
Obrigatório |
Valor |
| memoryInGB |
número |
Não |
O limite de memória da instância de contêiner em GB. |
| cpu |
número |
Não |
O limite de CPU da instância de contêiner. |
| gpu |
objeto |
Não |
O limite de GPU da instância de contêiner. - Objeto GpuResource |
Objeto ContainerExec
| Nome |
Digitar |
Obrigatório |
Valor |
| . |
array |
Não |
Os comandos a serem executados no contêiner. - cadeia de caracteres |
Objeto ContainerHttpGet
| Nome |
Digitar |
Obrigatório |
Valor |
| caminho |
string |
No |
O caminho para a investigação. |
| porta |
inteiro |
Sim |
O número da porta a ser investigada. |
| scheme |
enum |
Não |
O esquema. - http ou https |
| httpHeaders |
objeto |
Não |
Os cabeçalhos HTTP incluídos na investigação. - Objeto HttpHeaders |
| Nome |
Digitar |
Obrigatório |
Valor |
| name |
cadeia de caracteres |
Não |
Nome do cabeçalho |
| value |
string |
Não |
Valor do cabeçalho. |
Importante
As SKUs de GPU K80 e P100 serão desativadas até 31 de agosto de 2023. Isto deve-se à retirada das VMs subjacentes utilizadas: Série NC e Série NCv2 Embora as SKUs V100 estejam disponíveis, recomenda-se usar o Serviço de Kubernetes do Azure. Os recursos da GPU não são totalmente suportados e não devem ser usados para cargas de trabalho de produção. Use os seguintes recursos para migrar para o AKS hoje mesmo: Como migrar para o AKS.
Objeto GpuResource
| Nome |
Digitar |
Obrigatório |
Valor |
| count |
inteiro |
Sim |
A contagem do recurso de GPU. |
| sku |
enum |
Sim |
O SKU do recurso de GPU. - V100 |
Próximas etapas
Confira o tutorial Implantar um grupo com 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.