Este artigo aborda a sintaxe e as propriedades do arquivo YAML suportado pelas 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 na CLI do Azure.
Um arquivo YAML é uma maneira conveniente de configurar um grupo de contêineres para implantações reproduzíveis. É uma alternativa concisa ao uso de um modelo do Gerenciador de Recursos ou dos SDKs de Instâncias de Contêiner do Azure para criar ou atualizar um grupo de contêineres.
Nota
Esta referência aplica-se a ficheiros YAML para a versão 2021-10-01da API REST das Instâncias de Contentor do Azure.
Esquema
O esquema para o arquivo YAML segue, incluindo comentários para destacar as principais propriedades. 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.
Objeto Microsoft.ContainerInstance/containerGroups
| Nome |
Type |
Necessário |
Valor |
| nome |
string |
Sim |
O nome do grupo de contêineres. |
| apiVersion |
enumeração |
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 |
| localização |
string |
Não |
A localização do recurso. |
| etiquetas |
objeto |
Não |
As tags de recurso. |
| de identidade |
objeto |
Não |
A identidade do grupo de contêineres, se configurado. - Objeto ContainerGroupIdentity |
| propriedades |
objeto |
Sim |
Objeto ContainerGroupProperties |
Objeto ContainerGroupIdentity
| Nome |
Type |
Necessário |
Valor |
| tipo |
enumeração |
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, Nenhum |
| 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 recursos do Azure Resource Manager no formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. |
Objeto ContainerGroupProperties
| Nome |
Type |
Necessário |
Valor |
| containers |
matriz |
Sim |
Os contêineres dentro do grupo de contêineres. - Objeto de contêiner |
| imageRegistryCredentials |
matriz |
Não |
As credenciais do registro de imagem a partir das quais o grupo de contêineres é criado. - Objeto ImageRegistryCredential |
| restartPolicy |
enumeração |
Não |
Política de reinicialização para todos os contêineres dentro do grupo de contêineres. - Always Sempre reiniciar- OnFailure Reiniciar em caso de falha- Never Nunca reiniciar. - Sempre, OnFailure, Nunca |
| Endereço IP |
objeto |
Não |
O tipo de endereço IP do grupo de contêineres. - Objeto IpAddress |
| osType |
enumeração |
Sim |
O tipo de sistema operacional exigido pelos contêineres no grupo de contêineres. - Windows ou Linux |
| volumes |
matriz |
Não |
A lista de volumes que os contêineres nesse grupo de contêineres podem montar. - Objeto de volume |
| diagnósticos |
objeto |
Não |
As informações de diagnóstico para um grupo de contêineres. - Objeto ContainerGroupDiagnostics |
| subnetIds |
objeto |
Não |
As informações de sub-rede para um grupo de contêineres. - Objeto ContainerGroupSubnetIds |
| dnsConfig |
objeto |
Não |
As informações de configuração de DNS para um grupo de contêineres. - Objeto DnsConfiguration |
| sku |
enumeração |
Não |
O SKU para um grupo de contêineres - Standard ou Dedicated |
| encryptionPropriedades |
objeto |
Não |
As propriedades de criptografia para um grupo de contêineres. - EncryptionProperties objeto |
| initContainers |
matriz |
Não |
Os contêineres init para um grupo de contêineres. - Objeto InitContainerDefinition |
Objeto de contêiner
| Nome |
Type |
Necessário |
Valor |
| nome |
string |
Sim |
O nome fornecido pelo usuário da instância do contêiner. |
| propriedades |
objeto |
Sim |
As propriedades da instância do contêiner. - Objeto ContainerProperties |
Objeto ImageRegistryCredential
| Nome |
Type |
Necessário |
Valor |
| servidor |
string |
Sim |
O servidor de registro de imagem do Docker sem um protocolo como "http" e "https". |
| nome de utilizador |
string |
Não |
O nome de usuário para o registro privado. |
| password |
string |
Não |
A senha para o registro privado. |
| de identidade |
string |
Não |
O ID do recurso do usuário ou da identidade gerenciada atribuída ao sistema usada para autenticar. |
| identityUrl |
string |
Não |
A URL de identidade para o registro privado. |
Objeto IpAddress
| Nome |
Type |
Necessário |
Valor |
| ports |
matriz |
Sim |
A lista de portas expostas no grupo de contêineres. - Objeto de porta |
| tipo |
enumeração |
Sim |
Especifica se o IP está exposto à Internet pública ou à rede virtual privada. - Público ou Privado |
| IP |
string |
Não |
O IP exposto à internet pública. |
| dnsNameLabel |
string |
Não |
O rótulo de nome Dns para o IP. |
Objeto de volume
| Nome |
Type |
Necessário |
Valor |
| nome |
string |
Sim |
O nome do volume. |
| azureFile |
objeto |
Não |
O volume do Arquivo do Azure. - Objeto AzureFileVolume |
| emptyDir |
objeto |
Não |
O volume do diretório vazio. |
| segredo |
objeto |
Não |
O volume secreto. |
| gitRepo |
objeto |
Não |
O volume git repo. - Objeto GitRepoVolume |
Objeto ContainerGroupDiagnostics
| Nome |
Type |
Necessário |
Valor |
| logAnalytics |
objeto |
Não |
Informações de análise de log de grupo de contêineres. - Objeto LogAnalytics |
Objeto ContainerGroupSubnetIds
| Nome |
Type |
Necessário |
Valor |
| id |
string |
Sim |
O identificador de uma sub-rede. |
| nome |
string |
Não |
O nome da sub-rede. |
Objeto DnsConfiguration
| Nome |
Type |
Necessário |
Valor |
| nomeServidores |
matriz |
Sim |
Os servidores DNS para o grupo de contêineres. - corda |
| pesquisaDomínios |
string |
Não |
Os domínios de pesquisa DNS para pesquisa de nome de host no grupo de contêineres. |
| options |
string |
Não |
As opções de DNS para o grupo de contêineres. |
EncryptionProperties objeto
| Nome |
Type |
Necessário |
Valor |
| vaultBaseUrl |
string |
Sim |
A url base do keyvault. |
| keyName |
string |
Sim |
O nome da chave de criptografia. |
| keyVersion [en] |
string |
Sim |
A versão da chave de encriptação. |
Objeto InitContainerDefinition
Objeto ContainerProperties
| Nome |
Type |
Necessário |
Valor |
| image |
string |
Sim |
O nome da imagem usada para criar a instância do contêiner. |
| comando |
matriz |
Não |
Os comandos a serem executados dentro da instância do contêiner no formato exec. - corda |
| ports |
matriz |
Não |
As portas expostas na instância do contêiner. - Objeto ContainerPort |
| environmentVariables |
matriz |
Não |
As variáveis de ambiente a serem definidas na instância do contêiner. - Objeto EnvironmentVariable |
| recursos |
objeto |
Sim |
Os requisitos de recursos da instância do contêiner. - Objeto ResourceRequirements |
| volumeMontagens |
matriz |
Não |
O volume é montado disponível para a instância do contêiner. - Objeto VolumeMount |
| livenessSonda |
objeto |
Não |
A sonda de vivacidade. - Objeto ContainerProbe |
| prontidãoSonda |
objeto |
Não |
A sonda de prontidão. - Objeto ContainerProbe |
Objeto de porta
| Nome |
Type |
Necessário |
Valor |
| protocolo |
enumeração |
Não |
O protocolo associado à porta. - TCP ou UDP |
| porta |
integer |
Sim |
O número da porta. |
Objeto AzureFileVolume
| Nome |
Type |
Necessário |
Valor |
| nome_do-compartilhamento |
string |
Sim |
O nome do compartilhamento de arquivos do Azure a ser montado como um volume. |
| somente leitura |
boolean |
Não |
O sinalizador que indica se o Arquivo do Azure compartilhado montado como um volume é somente leitura. |
| storageAccountName |
string |
Sim |
O nome da conta de armazenamento que contém o compartilhamento de arquivos do Azure. |
| storageAccountKey |
string |
Não |
A chave de acesso da conta de armazenamento usada para acessar o compartilhamento de arquivos do Azure. |
Objeto GitRepoVolume
| Nome |
Type |
Necessário |
Valor |
| diretório |
string |
Não |
Nome do diretório de destino. Não deve conter nem começar por «..». 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. |
| repository |
string |
Sim |
URL do repositório |
| revisão |
string |
Não |
Consolide o hash da revisão especificada. |
Objeto LogAnalytics
| Nome |
Type |
Necessário |
Valor |
| workspaceId |
string |
Sim |
O ID do espaço de trabalho para análise de log |
| chave do espaço de trabalho |
string |
Sim |
A chave do espaço de trabalho para análise de log |
| workspaceResourceId |
string |
Não |
O ID do recurso do espaço de trabalho para análise de log |
| logType |
enumeração |
Não |
O tipo de log a ser usado. - ContainerInsights ou ContainerInstanceLogs |
| do IdP |
objeto |
Não |
Metadados para análise de logs. |
Objeto InitContainerPropertiesDefinition
| Nome |
Type |
Necessário |
Valor |
| image |
string |
Não |
A imagem do contêiner init. |
| comando |
matriz |
Não |
O comando a ser executado dentro do contêiner init no formato exec. - corda |
| environmentVariables |
matriz |
Não |
As variáveis de ambiente a serem definidas no contêiner init. - Objeto EnvironmentVariable |
| volumeMontagens |
matriz |
Não |
Os montagens de volume disponíveis para o recipiente de inicialização. - Objeto VolumeMount |
Objeto ContainerPort
| Nome |
Type |
Necessário |
Valor |
| protocolo |
enumeração |
Não |
O protocolo associado à porta. - TCP ou UDP |
| porta |
integer |
Sim |
O número da porta exposto dentro do grupo de contêineres. |
Objeto EnvironmentVariable
| Nome |
Type |
Necessário |
Valor |
| nome |
string |
Sim |
O nome da variável de ambiente. |
| valor |
string |
Não |
O valor da variável de ambiente. |
| secureValue |
string |
Não |
O valor da variável de ambiente seguro. |
Objeto ResourceRequirements
| Nome |
Type |
Necessário |
Valor |
| pedidos |
objeto |
Sim |
As solicitações de recursos dessa instância de contêiner. - Objeto ResourceRequests |
| Limites |
objeto |
Não |
Os limites de recursos dessa instância de contêiner. - Objeto ResourceLimits |
Objeto VolumeMount
| Nome |
Type |
Necessário |
Valor |
| nome |
string |
Sim |
O nome da montagem do volume. |
| mountPath [en] |
string |
Sim |
O caminho dentro do contêiner onde o volume deve ser montado. Não deve conter dois pontos (:). |
| somente leitura |
boolean |
Não |
O sinalizador que indica se a montagem do volume é somente leitura. |
Objeto ContainerProbe
| Nome |
Type |
Necessário |
Valor |
| exec |
objeto |
Não |
O comando de execução para sondar - objeto ContainerExec |
| httpObter |
objeto |
Não |
As configurações Http Get para sondar - objeto ContainerHttpGet |
| initialDelaySeconds |
integer |
Não |
Os segundos de atraso inicial. |
| períodoSegundos |
integer |
Não |
Os segundos do período. |
| failureThreshold |
integer |
Não |
O limiar de falha. |
| successThreshold |
integer |
Não |
O limiar de sucesso. |
| timeoutSegundos |
integer |
Não |
Os segundos de tempo limite. |
Objeto ResourceRequests
| Nome |
Type |
Necessário |
Valor |
| memóriaInGB |
Número |
Sim |
A solicitação de memória em GB desta instância de contêiner. |
| cpu |
Número |
Sim |
A solicitação de CPU desta 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 |
Type |
Necessário |
Valor |
| memóriaInGB |
Número |
Não |
O limite de memória em GB desta instância de contêiner. |
| cpu |
Número |
Não |
O limite de CPU desta instância de contêiner. |
| gpu |
objeto |
Não |
O limite da GPU desta instância de contêiner. - Objeto GpuResource |
Objeto ContainerExec
| Nome |
Type |
Necessário |
Valor |
| comando |
matriz |
Não |
Os comandos a serem executados dentro do contêiner. - corda |
Objeto ContainerHttpGet
| Nome |
Type |
Necessário |
Valor |
| path |
string |
Não |
O caminho para a sonda. |
| porta |
integer |
Sim |
O número da porta a ser investigada. |
| scheme |
enumeração |
Não |
O esquema. - http ou https |
| Cabeçalhos http |
objeto |
Não |
Os cabeçalhos HTTP incluídos na sonda. - Objeto HttpHeaders |
| Nome |
Type |
Necessário |
Valor |
| nome |
string |
Não |
Nome do cabeçalho. |
| valor |
string |
Não |
Valor do cabeçalho. |
Importante
Os SKUs de GPU K80 e P100 serão aposentados até 31 de agosto de 2023. Isso se deve à desativação das VMs subjacentes usadas: Série NC e Série NCv2 Embora as SKUs V100 estejam disponíveis, recomenda-se usar o Serviço 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: Como migrar para o AKS.
Objeto GpuResource
| Nome |
Type |
Necessário |
Valor |
| contagem |
integer |
Sim |
A contagem do recurso GPU. |
| sku |
enumeração |
Sim |
A SKU do recurso GPU. - V100 |
Próximos passos
Consulte 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.