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
dnsNameLabelReusePolicy: 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.
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}'.
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
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
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.