Referência de YAML: Instâncias de Contêiner do Azure
Artigo
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
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 necessários para 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, 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
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
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
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.