В этой статье описывается синтаксис и свойства файла YAML, поддерживаемого экземплярами контейнеров Azure при настройке группы контейнеров. Используйте файл YAML для ввода конфигурации группы в команду az container create в Azure CLI.
Файл YAML — это удобный способ настройки группы контейнеров для воспроизводимых развертываний. Это более сжатая альтернатива использованию шаблона Resource Manager или пакетов SDK для создания или обновления группы контейнеров.
Примечание.
Данный справочник относится к файлам YAML для экземпляров контейнеров Azure REST API версии 2021-10-01
.
Схема
Ниже приведена схема для файла YAML, включающая комментарии, выделяющие ключевые свойства. Описание свойств этой схемы см. в разделе Значения свойств.
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
Значения свойств
В следующих таблицах описаны значения, которые следует указать в этой схеме.
Объект Microsoft.ContainerInstance/containerGroups
Имя. |
Type |
Обязательное поле |
Стоимость |
name |
строка |
Да |
Имя группы контейнеров. |
версия_API |
перечисление |
Да |
2021-10-01 (последняя), 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 |
расположение |
строка |
Нет |
Расположение ресурса. |
tags |
объект |
No |
Теги ресурса. |
identity |
объект |
No |
Удостоверение группы контейнеров, если оно настроено. - Объект ContainerGroupIdentity |
свойства |
объект |
Да |
Объект ContainerGroupProperties |
Объект ContainerGroupIdentity
Имя. |
Type |
Обязательное поле |
Значение |
type |
перечисление |
No |
Тип удостоверения, используемого для группы контейнеров. Тип SystemAssigned, UserAssigned включает как условно созданное удостоверение, так и набор удостоверений, назначенных пользователем. Тип None удаляет удостоверения из группы контейнеров. - SystemAssigned, UserAssigned, SystemAssigned, UserAssigned, None |
userAssignedIdentities |
объект |
No |
Список удостоверений пользователей, связанных с группой контейнеров. Ключевые ссылки на словарь удостоверений пользователей — это идентификаторы ресурсов Azure Resource Manager в форме: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". |
Объект ContainerGroupProperties
Имя. |
Type |
Обязательное поле |
Значение |
containers |
array |
Да |
Контейнеры в группе контейнеров. - Объект Container |
imageRegistryCredentials |
array |
No |
Учетные данные реестра образов, из которого создается группа контейнеров. - Объект ImageRegistryCredential |
restartPolicy |
перечисление |
No |
Политика перезапуска для всех контейнеров в группе контейнеров. - Always Всегда перезапускать — OnFailure Перезапустить при сбое — Never Никогда не перезапускать. Всегда, При сбое, Никогда |
ipAddress |
объект |
No |
Тип IP-адреса группы контейнеров. - Объект IpAddress |
osType |
перечисление |
Да |
Тип операционной системы, необходимый контейнерам в группе контейнеров. Windows или Linux |
томов. |
array |
No |
Список томов, которые контейнеры в этой группе контейнеров могут подключаться. - Объект Volume |
Диагностика |
объект |
No |
Диагностические сведения для группы контейнеров. - Объект ContainerGroupDiagnostics |
subnetIds |
объект |
No |
Сведения о подсети для группы контейнеров. - Объект ContainerGroupSubnetIds |
dnsConfig |
объект |
No |
Сведения о конфигурации DNS для группы контейнеров. - Объект DnsConfiguration |
sku |
перечисление |
No |
SKU для группы контейнеров — стандартный или выделенный |
encryptionProperties |
объект |
No |
Свойства шифрования для группы контейнеров. - Объект EncryptionProperties |
initContainers |
array |
No |
Контейнеры инициализации для группы контейнеров. - Объект InitContainerDefinition |
Объект Container
Имя. |
Type |
Обязательное поле |
Стоимость |
name |
строка |
Да |
Предоставленное пользователем имя экземпляра контейнера. |
свойства |
объект |
Да |
Свойства экземпляра контейнера. - Объект ContainerProperties |
Объект ImageRegistryCredential
Имя. |
Type |
Обязательное поле |
Значение |
server |
строка |
Да |
Сервер реестра образов Docker без указания протокола, такого как http или https. |
username |
строка |
Нет |
Имя пользователя для закрытого реестра. |
password |
строка |
Нет |
Пароль для закрытого реестра. |
identity |
строка |
Нет |
Идентификатор ресурса пользователя или управляемого удостоверения, назначенного системой, используемого для проверки подлинности. |
identityUrl |
строка |
Нет |
URL-адрес удостоверения для частного реестра. |
Объект IpAddress
Имя. |
Type |
Обязательное поле |
Значение |
порты |
array |
Да |
Список портов, открытых для группы контейнеров. - Объект Port |
type |
перечисление |
Да |
Указывает, предоставляется ли IP-адрес общедоступному Интернету или частной виртуальной сети. - Открытый или закрытый |
ip |
строка |
Нет |
IP-адрес, открытый для доступа через Интернет. |
dnsNameLabel |
строка |
Нет |
Метка имени DNS для IP-адреса. |
Объект Volume
Имя. |
Type |
Обязательное поле |
Стоимость |
name |
строка |
Да |
Имя тома. |
azureFile |
объект |
No |
Том файлов Azure. - Объект AzureFileVolume |
emptyDir |
объект |
No |
Пустой том каталога. |
secret |
объект |
No |
Секретный том. |
gitRepo |
объект |
No |
Том репозитория Git. - Объект GitRepoVolume |
Объект ContainerGroupDiagnostics
Имя. |
Type |
Обязательное поле |
Значение |
logAnalytics |
объект |
No |
Сведения Log Analytics для группы контейнеров. - Объект LogAnalytics |
Объект ContainerGroupSubnetIds
Имя. |
Type |
Обязательное поле |
Значение |
id |
string |
Да |
Идентификатор подсети. |
name |
string |
Нет |
Имя подсети . |
Объект DnsConfiguration
Имя. |
Type |
Обязательное поле |
Значение |
nameServers |
array |
Да |
Серверы DNS для группы контейнеров. - string |
searchDomains |
строка |
Нет |
Домены поиска DNS для поиска имени узла в группе контейнеров. |
options |
строка |
Нет |
Параметры DNS для группы контейнеров. |
Объект EncryptionProperties
Имя. |
Type |
Обязательное поле |
Значение |
vaultBaseUrl |
строка |
Да |
Базовый URL-адрес хранилища ключей. |
keyName |
строка |
Да |
Ключ шифрования. |
keyVersion |
строка |
Да |
Версия ключа шифрования. |
Объект InitContainerDefinition
Объект ContainerProperties
Имя. |
Type |
Обязательное поле |
Значение |
Изображение |
строка |
Да |
Имя образа, используемого для создания экземпляра контейнера. |
Команда |
array |
No |
Команды для выполнения в экземпляре контейнера в форме exec. - string |
порты |
array |
No |
Порты, открытые для экземпляра контейнера. - Объект ContainerPort |
environmentVariables |
array |
No |
Переменные среды, которые следует задать в экземпляре контейнера. - Объект EnvironmentVariable |
ресурсы |
объект |
Да |
Требования к ресурсу экземпляра контейнера. - Объект ResourceRequirements |
volumeMounts |
array |
No |
Подключения томов, доступных для экземпляра контейнера. - Объект VolumeMount |
livenessProbe |
объект |
No |
Проба активности. - Объект ContainerProbe |
readinessProbe |
объект |
No |
Проба готовности. - Объект ContainerProbe |
Объект Port
Имя. |
Type |
Обязательное поле |
Значение |
protocol |
перечисление |
No |
Протокол, связанный с портом. -TCP или UDP |
port |
integer |
Да |
номер порта. |
Объект AzureFileVolume
Имя. |
Type |
Обязательное поле |
Значение |
shareName |
строка |
Да |
Имя общей папки файлов Azure, которая будет установлена в качестве тома. |
readOnly |
boolean |
No |
Флаг, указывающий, является ли общая папка файлов Azure, установленная в качестве тома, доступной только для чтения. |
storageAccountName |
строка |
Да |
Имя учетной записи хранения, содержащей общую папку файлов Azure. |
storageAccountKey |
строка |
Нет |
Ключ доступа учетной записи хранения, используемый для доступа к общей папке файлов Azure. |
Объект GitRepoVolume
Имя. |
Type |
Обязательное поле |
Значение |
организации |
строка |
Нет |
Имя целевого каталога. Не должно содержать знак '..' или начинаться с него. Если задано значение ".", каталог томов является репозиторием Git. В противном случае, если задано, том содержит репозиторий Git в подкаталоге с заданным именем. |
Linux |
строка |
Да |
URL-адрес репозитория |
версия |
строка |
Нет |
Зафиксировать хэш для указанной редакции. |
Объект LogAnalytics
Имя. |
Type |
Обязательное поле |
Значение |
workspaceId |
строка |
Да |
Идентификатор рабочей области для Log Analytics |
workspaceKey |
строка |
Да |
Ключ рабочей области для Log Analytics |
workspaceResourceId |
строка |
Нет |
Идентификатор ресурса рабочей области для Log Analytics |
logType |
перечисление |
No |
Тип журнала, который должен использоваться. - ContainerInsights или ContainerInstanceLogs |
metadata |
объект |
No |
Метаданные для Log Analytics. |
Объект InitContainerPropertiesDefinition
Имя. |
Type |
Обязательное поле |
Значение |
Изображение |
строка |
Нет |
Образ контейнера инициализации. |
Команда |
array |
No |
Команда для выполнения в контейнере инициализации в форме exec. - string |
environmentVariables |
array |
No |
Переменные среды, которые следует задать в контейнере инициализации. - Объект EnvironmentVariable |
volumeMounts |
array |
No |
Подключения томов, доступных для контейнера инициализации. - Объект VolumeMount |
Объект ContainerPort
Имя. |
Type |
Обязательное поле |
Значение |
protocol |
перечисление |
No |
Протокол, связанный с портом. -TCP или UDP |
port |
integer |
Да |
Номер порта, открытого в группе контейнеров. |
Объект EnvironmentVariable
Имя. |
Type |
Обязательное поле |
Стоимость |
name |
строка |
Да |
Имя переменной среды. |
значение |
строка |
Нет |
Значение переменной среды . |
secureValue |
строка |
Нет |
Значение безопасной переменной среды. |
Объект ResourceRequirements
Объект VolumeMount
Имя. |
Type |
Обязательное поле |
Стоимость |
name |
строка |
Да |
Имя подключения тома. |
mountPath |
строка |
Да |
Путь в контейнере где том должен быть подключен. Не должен содержать двоеточие (:). |
readOnly |
boolean |
No |
Флаг, указывающий, является ли подключение тома доступным только для чтения. |
Объект ContainerProbe
Имя. |
Type |
Обязательное поле |
Значение |
exec |
объект |
No |
Команда к проведению пробы — Объект ContainerExec |
httpGet |
объект |
No |
Настройки Http Get для проведения пробы — Объект ContainerHttpGet |
initialDelaySeconds |
integer |
No |
Начальная задержка в секундах. |
periodSeconds |
integer |
No |
Период в секундах. |
failureThreshold |
integer |
No |
Пороговое значение сбоя. |
successThreshold |
integer |
No |
Пороговое значение успешного выполнения. |
timeoutSeconds |
integer |
No |
Время ожидания в секундах. |
Объект ResourceRequests
Имя. |
Type |
Обязательное поле |
Значение |
memoryInGB |
number |
Да |
Запрос памяти в Гб для этого экземпляра контейнера. |
ЦП |
number |
Да |
Запрос ЦП этого контейнера. |
Графический процессор |
объект |
No |
Запрос ГП этого контейнера. - Объект GpuResource |
Объект ResourceLimits
Имя. |
Type |
Обязательное поле |
Значение |
memoryInGB |
number |
No |
Ограничение памяти в Гб для этого экземпляра контейнера. |
ЦП |
number |
No |
Ограничение ЦП для этого экземпляра контейнера. |
Графический процессор |
объект |
No |
Ограничение ГП для этого экземпляра контейнера. - Объект GpuResource |
Объект ContainerExec
Имя. |
Type |
Обязательное поле |
Значение |
Команда |
array |
No |
Команды для выполнения в контейнере. - string |
Объект ContainerHttpGet
Имя. |
Type |
Обязательное поле |
Значение |
path |
строка |
Нет |
Путь к пробе. |
port |
integer |
Да |
Номер порта для пробы. |
scheme |
перечисление |
No |
Схема. - http или https |
httpHeaders |
объект |
No |
Заголовки HTTP, включаемые в зонд. - Объект HttpHeaders |
Имя. |
Type |
Обязательное поле |
Стоимость |
name |
string |
Нет |
Имя заголовка. |
значение |
строка |
Нет |
Значение заголовка. |
Внимание
Номера SKU GPU K80 и P100 удаляются к 31 августа 2023 года. Это связано с выходом на пенсию базовых виртуальных машин, используемых: серии NC и серии NCv2, хотя номера SKU V100 будут доступны, он повторно используется для использования Служба Azure Kubernetes вместо этого. Ресурсы GPU не полностью поддерживаются и не должны использоваться для рабочих нагрузок. Используйте следующие ресурсы для миграции в AKS сегодня: как выполнить миграцию в AKS.
Объект GpuResource
Имя. |
Type |
Обязательное поле |
Значение |
count |
integer |
Да |
Число ресурсов ГП. |
sku |
перечисление |
Да |
SKU ресурса ГП. — V100 |
Следующие шаги
См. учебник Развертывание многоконтейнерной группы с использованием файла YAML.
См. примеры использования файла YAML для развертывания групп контейнеров в виртуальной сети или подключения внешнего тома.