Este artigo aborda a sintaxe e as propriedades do ficheiro YAML suportado pelo Azure Container Instances para configurar um grupo de contentores. Use um ficheiro YAML para introduzir a configuração de grupo no comando create do contentor az na CLI do Azure.
Um ficheiro YAML é uma forma conveniente de configurar um grupo de contentores para implementações reproduzíveis. É uma alternativa concisa a usar um template do Resource Manager ou os SDKs do Azure Container Instances para criar ou atualizar um grupo de contentores.
Note
Esta referência aplica-se a ficheiros YAML para Azure Container Instances REST API versão 2021-10-01.
Esquema
Segue-se o esquema do ficheiro YAML, incluindo comentários para destacar propriedades chave. Para uma descrição das propriedades neste esquema, consulte a secção Valores de Propriedades .
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 seguintes descrevem os valores que precisa de definir no esquema.
Microsoft. Objeto ContainerInstance/containerGroups
| Nome |
Tipo |
Obrigatório |
Value |
| Nome |
cadeia (de caracteres) |
Yes |
O nome do grupo de contêineres. |
| apiVersion |
enumeração |
Yes |
2021-10-01 (mais tarde), 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 |
cadeia (de caracteres) |
No |
A localização do recurso. |
| tags |
objecto |
No |
As tags de recurso. |
| identidade |
objecto |
No |
A identidade do grupo de contêineres, se configurado.
-
Objeto ContainerGroupIdentity |
| propriedades |
objecto |
Yes |
Objeto ContainerGroupProperties |
Objeto ContainerGroupIdentity
| Nome |
Tipo |
Obrigatório |
Value |
| 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 'Nenhum' remove quaisquer identidades do grupo de contentores. - SystemAssigned, UserAssigned, SystemAssigned, UserAssigned, Nenhum |
| userAssignedIdentities |
objecto |
No |
A lista de identidades de usuário associadas ao grupo de contêineres. As referências-chave do dicionário de identidade de utilizador são IDs de recursos do Azure Resource Manager na forma: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft. ManagedIdentity/userAssignedIdentities/{identityName}'. |
Objeto ContainerGroupProperties
| Nome |
Tipo |
Obrigatório |
Value |
| contentores |
matriz |
Yes |
Os contêineres dentro do grupo de contêineres.
-
Objeto contentor |
| imageRegistryCredentials |
matriz |
No |
As credenciais do registro de imagem a partir das quais o grupo de contêineres é criado.
-
ImageRegistryObjeto Credential |
| política de reinício |
enumeração |
No |
Política de reinicialização para todos os contêineres dentro do grupo de contêineres.
-
Always Reiniciar sempre - OnFailure Reiniciar em caso de falha - Never Nunca reiniciar. - Sempre, OnFailure, Nunca |
| Endereço IP |
objecto |
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 contentores deste grupo de contentores podem montar.
-
Objeto de volume |
| diagnostics |
objecto |
No |
As informações de diagnóstico para um grupo de contêineres.
-
Objeto ContainerGroupDiagnostics |
| subnetIds |
objecto |
No |
A informação da sub-rede para um grupo de contentores.
-
Objeto ContainerGroupSubnetIds |
| dnsConfig |
objecto |
No |
As informações de configuração de DNS para um grupo de contêineres.
-
Objeto DnsConfiguration |
| sku |
enumeração |
No |
A SKU para um grupo de contentores - Padrão ou Dedicado |
| encryptionPropriedades |
objecto |
No |
As propriedades de criptografia para um grupo de contêineres.
-
Objeto EncryptionProperties |
| initContainers |
matriz |
No |
Os contêineres init para um grupo de contêineres.
-
Objeto InitContainerDefinition |
Objeto de contêiner
| Nome |
Tipo |
Obrigatório |
Value |
| Nome |
cadeia (de caracteres) |
Yes |
O nome fornecido pelo usuário da instância do contêiner. |
| propriedades |
objecto |
Yes |
As propriedades da instância do contêiner.
-
Objeto ContainerProperties |
ImageRegistryObjeto Credential
| Nome |
Tipo |
Obrigatório |
Value |
| servidor |
cadeia (de caracteres) |
Yes |
O servidor de registro de imagem do Docker sem um protocolo como "http" e "https". |
| nome de utilizador |
cadeia (de caracteres) |
No |
O nome de usuário para o registro privado. |
| palavra-passe |
cadeia (de caracteres) |
No |
A senha para o registro privado. |
| identidade |
cadeia (de caracteres) |
No |
O ID de recurso da identidade gerida atribuída pelo utilizador usada para autenticar. A identidade gerida atribuída pelo sistema não é suportada para pulls de imagens ACR. |
| identityUrl |
cadeia (de caracteres) |
No |
A URL de identidade para o registro privado. |
Objeto IpAddress
| Nome |
Tipo |
Obrigatório |
Value |
| ports |
matriz |
Yes |
A lista de portas expostas no grupo de contêineres.
-
Objeto da porta |
| tipo |
enumeração |
Yes |
Especifica se o IP está 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 |
O rótulo de nome Dns para o IP. |
Objeto de volume
| Nome |
Tipo |
Obrigatório |
Value |
| Nome |
cadeia (de caracteres) |
Yes |
O nome do volume. |
| azureFile |
objecto |
No |
O volume do Arquivo do Azure.
-
Objeto AzureFileVolume |
| diretório vazio |
objecto |
No |
O volume do diretório vazio. |
| segredo |
objecto |
No |
O volume secreto. |
| gitRepo |
objecto |
No |
O volume git repo.
-
Objeto GitRepoVolume |
Objeto ContainerGroupDiagnostics
| Nome |
Tipo |
Obrigatório |
Value |
| logAnalytics |
objecto |
No |
Informações de análise de log de grupo de contêineres.
-
Objeto LogAnalytics |
Objeto ContainerGroupSubnetIds
| Nome |
Tipo |
Obrigatório |
Value |
| id |
cadeia (de caracteres) |
Yes |
O identificador de uma sub-rede. |
| Nome |
cadeia (de caracteres) |
No |
O nome da sub-rede. |
Objeto DnsConfiguration
| Nome |
Tipo |
Obrigatório |
Value |
| nomeServidores |
matriz |
Yes |
Os servidores DNS para o grupo de contêineres. - corda |
| pesquisaDomínios |
cadeia (de caracteres) |
No |
Os domínios de pesquisa DNS para pesquisa de nome de host no grupo de contêineres. |
| options |
cadeia (de caracteres) |
No |
As opções de DNS para o grupo de contêineres. |
Objeto EncryptionProperties
| Nome |
Tipo |
Obrigatório |
Value |
| vaultBaseUrl |
cadeia (de caracteres) |
Yes |
A url base do keyvault. |
| nomeDaChave |
cadeia (de caracteres) |
Yes |
O nome da chave de criptografia. |
| keyVersion [en] |
cadeia (de caracteres) |
Yes |
A versão da chave de encriptação. |
Objeto InitContainerDefinition
Objeto ContainerProperties
| Nome |
Tipo |
Obrigatório |
Value |
| imagem |
cadeia (de caracteres) |
Yes |
O nome da imagem usada para criar a instância do contêiner. |
| command |
matriz |
No |
Os comandos a serem executados dentro da instância do contêiner no formato exec. - corda |
| ports |
matriz |
No |
As portas expostas na instância do contêiner.
-
Objeto ContainerPort |
| environmentVariables |
matriz |
No |
As variáveis de ambiente a serem definidas na instância do contêiner.
-
Objeto EnvironmentVariable |
| resources |
objecto |
Yes |
Os requisitos de recursos da instância do contêiner.
-
Objeto ResourceRequirements |
| volumeMontagens |
matriz |
No |
O volume é montado disponível para a instância do contêiner.
-
Objeto VolumeMount |
| livenessSonda |
objecto |
No |
A sonda de vivacidade.
-
Objeto ContainerProbe |
| prontidãoSonda |
objecto |
No |
A sonda de prontidão.
-
Objeto ContainerProbe |
Objeto da porta
| Nome |
Tipo |
Obrigatório |
Value |
| protocolo |
enumeração |
No |
O protocolo associado à porta. - TCP ou UDP |
| porta |
número inteiro |
Yes |
O número da porta. |
Objeto AzureFileVolume
| Nome |
Tipo |
Obrigatório |
Value |
| shareName |
cadeia (de caracteres) |
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 (de caracteres) |
Yes |
O nome da conta de armazenamento que contém o compartilhamento de arquivos do Azure. |
| storageAccountKey |
cadeia (de caracteres) |
No |
A chave de acesso da conta de armazenamento usada para acessar o compartilhamento de arquivos do Azure. |
Objeto GitRepoVolume
| Nome |
Tipo |
Obrigatório |
Value |
| directório |
cadeia (de caracteres) |
No |
Nome do diretório de destino. Não deve conter nem começar por «..». Se for fornecido '.', o diretório de volumes é o repositório git. Caso contrário, se especificado, o volume contém o repositório git no subdiretório com o nome próprio. |
| repositório |
cadeia (de caracteres) |
Yes |
URL do repositório |
| revisão |
cadeia (de caracteres) |
No |
Confirme hash para a revisão especificada. |
Objeto LogAnalytics
| Nome |
Tipo |
Obrigatório |
Value |
| workspaceId |
cadeia (de caracteres) |
Yes |
O ID do espaço de trabalho para análise de registos |
| chave do espaço de trabalho |
cadeia (de caracteres) |
Yes |
A chave do espaço de trabalho para análise de log |
| ID do Recurso do Espaço de Trabalho |
cadeia (de caracteres) |
No |
O ID do recurso do espaço de trabalho para análise de registos |
| logType |
enumeração |
No |
O tipo de log a ser usado. - ContainerInsights ou ContainerInstanceLogs |
| metadados |
objecto |
No |
Metadados para análise de logs. |
Objeto InitContainerPropertiesDefinition
| Nome |
Tipo |
Obrigatório |
Value |
| imagem |
cadeia (de caracteres) |
No |
A imagem do contêiner init. |
| command |
matriz |
No |
O comando a ser executado dentro do contêiner init no formato exec. - corda |
| environmentVariables |
matriz |
No |
As variáveis de ambiente a serem definidas no contêiner init.
-
Objeto EnvironmentVariable |
| volumeMontagens |
matriz |
No |
Os montagens de volume disponíveis para o recipiente de inicialização.
-
Objeto VolumeMount |
Objeto ContainerPort
| Nome |
Tipo |
Obrigatório |
Value |
| protocolo |
enumeração |
No |
O protocolo associado à porta. - TCP ou UDP |
| porta |
número inteiro |
Yes |
O número da porta exposto dentro do grupo de contêineres. |
Objeto EnvironmentVariable
| Nome |
Tipo |
Obrigatório |
Value |
| Nome |
cadeia (de caracteres) |
Yes |
O nome da variável de ambiente. |
| valor |
cadeia (de caracteres) |
No |
O valor da variável de ambiente. |
| secureValue |
cadeia (de caracteres) |
No |
O valor da variável de ambiente seguro. |
Objeto ResourceRequirements
| Nome |
Tipo |
Obrigatório |
Value |
| requests |
objecto |
Yes |
As solicitações de recursos dessa instância de contêiner.
-
Objeto ResourceRequests |
| limites |
objecto |
No |
Os limites de recursos dessa instância de contêiner.
-
Objeto ResourceLimits |
Objeto VolumeMount
| Nome |
Tipo |
Obrigatório |
Value |
| Nome |
cadeia (de caracteres) |
Yes |
O nome da montagem do volume. |
| mountPath [en] |
cadeia (de caracteres) |
Yes |
O caminho dentro do contêiner onde 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
| Nome |
Tipo |
Obrigatório |
Value |
| exec |
objecto |
No |
O comando de execução para sondar - objeto ContainerExec |
| httpObter |
objecto |
No |
As definições Http Get para sondar - objeto ContainerHttpGet |
| initialDelaySeconds |
número inteiro |
No |
Os segundos de atraso inicial. |
| periodSeconds |
número inteiro |
No |
Os segundos do período. |
| failureThreshold |
número inteiro |
No |
O limiar de falha. |
| successThreshold |
número inteiro |
No |
O limiar de sucesso. |
| timeoutSeconds |
número inteiro |
No |
Os segundos de tempo limite. |
Objeto ResourceRequests
| Nome |
Tipo |
Obrigatório |
Value |
| memoryInGB |
number |
Yes |
A solicitação de memória em GB desta instância de contêiner. |
| cpu |
number |
Yes |
A solicitação de CPU desta instância de contêiner. |
| gpu |
objecto |
No |
A solicitação de GPU desta instância de contêiner.
-
Objeto GpuResource |
Objeto ResourceLimits
| Nome |
Tipo |
Obrigatório |
Value |
| memoryInGB |
number |
No |
O limite de memória em GB desta instância de contêiner. |
| cpu |
number |
No |
O limite de CPU desta instância de contêiner. |
| gpu |
objecto |
No |
O limite da GPU desta instância de contêiner.
-
Objeto GpuResource |
Objeto ContainerExec
| Nome |
Tipo |
Obrigatório |
Value |
| command |
matriz |
No |
Os comandos a serem executados dentro do contêiner. - corda |
Objeto ContainerHttpGet
| Nome |
Tipo |
Obrigatório |
Value |
| caminho |
cadeia (de caracteres) |
No |
O caminho para a sonda. |
| porta |
número inteiro |
Yes |
O número da porta a ser investigada. |
| scheme |
enumeração |
No |
O esquema. - http ou https |
| Cabeçalhos HTTP |
objecto |
No |
Os cabeçalhos HTTP incluídos na sonda.
-
Objeto HttpHeaders |
| Nome |
Tipo |
Obrigatório |
Value |
| Nome |
cadeia (de caracteres) |
No |
Nome do cabeçalho. |
| valor |
cadeia (de caracteres) |
No |
Valor do cabeçalho. |
Importante
As SKUs de GPU K80 e P100 vão retirar-se até 31 de agosto de 2023. Isto deve-se à aposentação das VMs subjacentes utilizadas: Série NC e Série NCv2. Embora os SKUs V100 estejam disponíveis, é melhor usar o Azure Kubernetes Service em vez disso. 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 |
Tipo |
Obrigatório |
Value |
| count |
número inteiro |
Yes |
A contagem do recurso GPU. |
| sku |
enumeração |
Yes |
A SKU do recurso GPU. - V100 |
Passos seguintes
Veja o tutorial: Implementar um grupo multi-contentor usando um ficheiro YAML.
Veja exemplos de utilização de um ficheiro YAML para implementar grupos de contentores numa rede virtual ou que montam um volume externo.