Microsoft.Batch batchAccounts/pools 2021-01-01
Определение ресурса Bicep
Тип ресурса batchAccounts/pools можно развернуть в следующих объектах:
- Группы ресурсов — см. команды развертывания групп ресурсов.
Список измененных свойств в каждой версии API см. в журнале изменений.
Формат ресурсов
Чтобы создать ресурс Microsoft.Batch/batchAccounts/pools, добавьте следующий Bicep в шаблон.
resource symbolicname 'Microsoft.Batch/batchAccounts/pools@2021-01-01' = {
name: 'string'
parent: resourceSymbolicName
identity: {
type: 'string'
userAssignedIdentities: {}
}
properties: {
applicationLicenses: [
'string'
]
applicationPackages: [
{
id: 'string'
version: 'string'
}
]
certificates: [
{
id: 'string'
storeLocation: 'string'
storeName: 'string'
visibility: [
'string'
]
}
]
deploymentConfiguration: {
cloudServiceConfiguration: {
osFamily: 'string'
osVersion: 'string'
}
virtualMachineConfiguration: {
containerConfiguration: {
containerImageNames: [
'string'
]
containerRegistries: [
{
password: 'string'
registryServer: 'string'
username: 'string'
}
]
type: 'DockerCompatible'
}
dataDisks: [
{
caching: 'string'
diskSizeGB: int
lun: int
storageAccountType: 'string'
}
]
diskEncryptionConfiguration: {
targets: [
'string'
]
}
extensions: [
{
autoUpgradeMinorVersion: bool
name: 'string'
protectedSettings: any()
provisionAfterExtensions: [
'string'
]
publisher: 'string'
settings: any()
type: 'string'
typeHandlerVersion: 'string'
}
]
imageReference: {
id: 'string'
offer: 'string'
publisher: 'string'
sku: 'string'
version: 'string'
}
licenseType: 'string'
nodeAgentSkuId: 'string'
nodePlacementConfiguration: {
policy: 'string'
}
windowsConfiguration: {
enableAutomaticUpdates: bool
}
}
}
displayName: 'string'
interNodeCommunication: 'string'
metadata: [
{
name: 'string'
value: 'string'
}
]
mountConfiguration: [
{
azureBlobFileSystemConfiguration: {
accountKey: 'string'
accountName: 'string'
blobfuseOptions: 'string'
containerName: 'string'
relativeMountPath: 'string'
sasKey: 'string'
}
azureFileShareConfiguration: {
accountKey: 'string'
accountName: 'string'
azureFileUrl: 'string'
mountOptions: 'string'
relativeMountPath: 'string'
}
cifsMountConfiguration: {
mountOptions: 'string'
password: 'string'
relativeMountPath: 'string'
source: 'string'
username: 'string'
}
nfsMountConfiguration: {
mountOptions: 'string'
relativeMountPath: 'string'
source: 'string'
}
}
]
networkConfiguration: {
endpointConfiguration: {
inboundNatPools: [
{
backendPort: int
frontendPortRangeEnd: int
frontendPortRangeStart: int
name: 'string'
networkSecurityGroupRules: [
{
access: 'string'
priority: int
sourceAddressPrefix: 'string'
sourcePortRanges: [
'string'
]
}
]
protocol: 'string'
}
]
}
publicIPAddressConfiguration: {
ipAddressIds: [
'string'
]
provision: 'string'
}
subnetId: 'string'
}
scaleSettings: {
autoScale: {
evaluationInterval: 'string'
formula: 'string'
}
fixedScale: {
nodeDeallocationOption: 'string'
resizeTimeout: 'string'
targetDedicatedNodes: int
targetLowPriorityNodes: int
}
}
startTask: {
commandLine: 'string'
containerSettings: {
containerRunOptions: 'string'
imageName: 'string'
registry: {
password: 'string'
registryServer: 'string'
username: 'string'
}
workingDirectory: 'string'
}
environmentSettings: [
{
name: 'string'
value: 'string'
}
]
maxTaskRetryCount: int
resourceFiles: [
{
autoStorageContainerName: 'string'
blobPrefix: 'string'
fileMode: 'string'
filePath: 'string'
httpUrl: 'string'
storageContainerUrl: 'string'
}
]
userIdentity: {
autoUser: {
elevationLevel: 'string'
scope: 'string'
}
userName: 'string'
}
waitForSuccess: bool
}
taskSchedulingPolicy: {
nodeFillType: 'string'
}
taskSlotsPerNode: int
userAccounts: [
{
elevationLevel: 'string'
linuxUserConfiguration: {
gid: int
sshPrivateKey: 'string'
uid: int
}
name: 'string'
password: 'string'
windowsUserConfiguration: {
loginMode: 'string'
}
}
]
vmSize: 'string'
}
}
Значения свойств
batchAccounts/pools
Имя | Описание | Значение |
---|---|---|
name | имя ресурса. Узнайте, как задать имена и типы для дочерних ресурсов в Bicep. |
string (обязательно) Ограничение символов: 1–64 Допустимые символы: Буквенно-цифровые символы, символы подчеркивания и дефисы. |
родитель | В Bicep можно указать родительский ресурс для дочернего ресурса. Это свойство необходимо добавить только в том случае, если дочерний ресурс объявлен за пределами родительского ресурса. Дополнительные сведения см. в разделе Дочерний ресурс за пределами родительского ресурса. |
Символьное имя ресурса типа: batchAccounts |
удостоверение | Тип удостоверения, используемого для пула пакетной службы. | BatchPoolIdentity |
properties | Свойства, связанные с пулом. | Свойства пула |
BatchPoolIdentity
Имя | Описание | Значение |
---|---|---|
тип | Тип удостоверения, используемого для пула пакетной службы. | "Нет" UserAssigned (обязательно) |
userAssignedIdentities | Список удостоверений пользователей, связанных с пулом пакетной службы. Ссылки на ключи словаря удостоверений пользователей будут иметь идентификаторы ресурсов ARM в форме: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". | объект |
Свойства пула
Имя | Описание | Значение |
---|---|---|
applicationLicenses | Список лицензий приложений должен быть подмножеством доступных лицензий на приложения пакетной службы. Если запрашивается лицензия, которая не поддерживается, создание пула завершится ошибкой. | string[] |
applicationPackages | Изменения ссылок на пакеты приложений влияют на все новые вычислительные узлы, присоединяющиеся к пулу, но не влияют на вычислительные узлы, которые уже находятся в пуле, пока они не будут перезагружены или переосмыслены. Существует не более 10 ссылок на пакеты приложений в любом заданном пуле. | ApplicationPackageReference[] |
certificates | Для вычислительных узлов Windows пакетная служба устанавливает сертификаты в указанное хранилище сертификатов и расположение. Для вычислительных узлов Linux сертификаты хранятся в каталоге в рабочем каталоге задачи, а переменная среды AZ_BATCH_CERTIFICATES_DIR предоставляется задаче для запроса этого расположения. Для сертификатов с видимостью remoteUser каталог certs создается в домашнем каталоге пользователя (например, /home/{user-name}/certs), и сертификаты помещаются в этот каталог. | CertificateReference[] |
deploymentConfiguration | Использование CloudServiceConfiguration указывает, что узлы должны создаваться с помощью Azure Облачные службы (PaaS), а VirtualMachineConfiguration использует Azure Виртуальные машины (IaaS). | DeploymentConfiguration |
displayName | Отображаемое имя не должно быть уникальным и может содержать любые символы Юникода длиной до 1024. | строка |
interNodeCommunication | Это накладывает ограничения на то, какие узлы могут быть назначены пулу. Включение этого значения может снизить вероятность выделения запрошенного количества узлов в пуле. Если этот параметр не указан, по умолчанию используется значение "Отключено". | "Отключено" "Включено" |
метаданные | Пакетная служба не присваивает метаданным никакого значения; он предназначен исключительно для использования пользовательского кода. | MetadataItem[] |
mountConfiguration | Это поддерживает Файлы Azure, NFS, CIFS/SMB и Blobfuse. | MountConfiguration[] |
networkConfiguration | Конфигурация сети для пула. | NetworkConfiguration |
scaleSettings | Определяет требуемый размер пула. Это может быть либо fixedScale, где указан запрошенный targetDedicatedNodes, либо autoScale, который определяет формулу, которая периодически вычисляется повторно. Если это свойство не указано, пул будет иметь фиксированный масштаб с 0 targetDedicatedNodes. | ScaleSettings |
startTask | В операции PATCH (обновление) этому свойству можно задать пустой объект, чтобы удалить задачу запуска из пула. | StartTask |
taskSchedulingPolicy | Если значение не указано, по умолчанию используется spread. | TaskSchedulingPolicy |
taskSlotsPerNode | Значение по умолчанию — 1. Максимальное значение — в 4 раза меньше числа ядер vmSize пула или 256. | INT |
userAccounts | Список учетных записей пользователей, создаваемых на каждом узле в пуле. | UserAccount[] |
vmSize | Сведения о доступных размерах виртуальных машин для пулов Облачные службы (пулы, созданные с помощью cloudServiceConfiguration), см. в статье Размеры для Облачные службы (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Пакетная служба поддерживает все Облачные службы размеры виртуальных машин, кроме ExtraSmall. Сведения о доступных размерах виртуальных машин для пулов, использующих образы из Виртуальные машины Marketplace (пулы, созданные с помощью virtualMachineConfiguration) см. в статье Размеры для Виртуальные машины (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) или Размеры для Виртуальные машины (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Пакетная служба поддерживает все размеры виртуальных машин Azure, кроме STANDARD_A0 и виртуальных машин с хранилищем класса Premium (STANDARD_GS, STANDARD_DS и STANDARD_DSV2 серии). | строка |
ApplicationPackageReference
Имя | Описание | Значение |
---|---|---|
идентификатор | Идентификатор устанавливаемого пакета приложения. Он должен находиться в той же учетной записи пакетной службы, что и пул. Это может быть ссылка на определенную версию или версия по умолчанию, если она существует. | string (обязательно) |
version | Если этот параметр опущен и для этого приложения не указана версия по умолчанию, запрос завершается ошибкой с кодом InvalidApplicationPackageReferences. Если вы вызываете REST API напрямую, код состояния HTTP — 409. | строка |
CertificateReference
Имя | Описание | Значение |
---|---|---|
идентификатор | Полный идентификатор сертификата, устанавливаемого в пуле. Он должен находиться в той же учетной записи пакетной службы, что и пул. | string (обязательно) |
storeLocation | Значение по умолчанию — currentUser. Это свойство применимо только для пулов, настроенных с узлами Windows (т. е. созданными с помощью cloudServiceConfiguration или virtualMachineConfiguration с помощью ссылки на образ Windows). Для вычислительных узлов Linux сертификаты хранятся в каталоге в рабочем каталоге задачи, а переменная среды AZ_BATCH_CERTIFICATES_DIR предоставляется задаче для запроса этого расположения. Для сертификатов с видимостью remoteUser каталог certs создается в домашнем каталоге пользователя (например, /home/{user-name}/certs), и сертификаты помещаются в этот каталог. | CurrentUser "LocalMachine" |
storeName | Это свойство применимо только для пулов, настроенных с узлами Windows (т. е. созданными с помощью cloudServiceConfiguration или virtualMachineConfiguration с помощью ссылки на образ Windows). К общим именам хранилищ относятся: My, Root, CA, Trust, Запрещено, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, но также можно использовать любое пользовательское имя хранилища. Значение по умолчанию - «My». | строка |
видимость | Какие учетные записи пользователей на вычислительном узле должны иметь доступ к частным данным сертификата. | Массив строк, содержащий любой из: RemoteUser StartTask "Задача" |
DeploymentConfiguration
Имя | Описание | Значение |
---|---|---|
cloudServiceConfiguration | Это свойство и virtualMachineConfiguration являются взаимоисключающими, и необходимо указать одно из свойств. Это свойство нельзя указать, если учетная запись пакетной службы была создана с ее свойством poolAllocationMode, для параметра задано значение UserSubscription. | CloudServiceConfiguration |
virtualMachineConfiguration | Это свойство и cloudServiceConfiguration являются взаимоисключающими, и необходимо указать одно из свойств. | VirtualMachineConfiguration |
CloudServiceConfiguration
Имя | Описание | Значение |
---|---|---|
osFamily | Возможные значения: 2 — семейство ОС 2, эквивалентное Windows Server 2008 R2 с пакетом обновления 1 (SP1). 3 — семейство ОС 3, эквивалентное Windows Server 2012. 4 — семейство ОС 4, эквивалентное Windows Server 2012 R2. 5 — семейство ОС 5, эквивалентное Windows Server 2016. 6 — семейство ОС 6, эквивалентное Windows Server 2019. Дополнительные сведения см. в статье Выпуски гостевой ОС Azure (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases). | string (обязательно) |
osVersion | Значение по умолчанию — *, указывающее последнюю версию операционной системы для указанного семейства ОС. | строка |
VirtualMachineConfiguration
Имя | Описание | Значение |
---|---|---|
containerConfiguration | Если этот параметр указан, настройка выполняется на каждом узле в пуле, чтобы разрешить выполнение задач в контейнерах. Все обычные задачи и задачи диспетчера заданий, выполняемые в этом пуле, должны указывать свойство containerSettings, а все остальные задачи могут указывать его. | ContainerConfiguration |
dataDisks | Это свойство необходимо указать, если к вычислительным узлам в пуле должны быть подключены пустые диски данных. | DataDisk[] |
diskEncryptionConfiguration | Если этот параметр указан, шифрование выполняется на каждом узле в пуле во время подготовки узла. | DiskEncryptionConfiguration |
extensions | Если он указан, расширения, упомянутые в этой конфигурации, будут установлены на каждом узле. | VMExtension[] |
imageReference | Ссылка на образ Azure Виртуальные машины Marketplace или ресурс образа Azure пользовательской виртуальной машины. Чтобы получить список всех объектов imageReferences, проверенных пакетная служба Azure, см. операцию "Перечисление поддерживаемых номеров SKU агента узла". | ImageReference (обязательно) |
licenseType | Это относится только к образам, содержащим операционную систему Windows, и должно использоваться только при наличии действительных локальных лицензий для развертываемых узлов. Если этот параметр опущен, скидка на локальное лицензирование не применяется. Возможны следующие значения. Windows_Server — локальная лицензия для Windows Server. Windows_Client — локальная лицензия для клиента Windows. |
строка |
nodeAgentSkuId | Агент узла пакетной службы — это программа, которая выполняется на каждом узле в пуле и предоставляет интерфейс команд и управления между узлом и пакетной службой. Существуют различные реализации агента узла, известные как номера SKU, для различных операционных систем. Необходимо указать номер SKU агента узла, соответствующий выбранной ссылке на образ. Чтобы получить список поддерживаемых номеров SKU агента узла, а также список проверенных ссылок на образы, см. операцию "Список поддерживаемых номеров SKU агента узла". | строка (обязательно) |
nodePlacementConfiguration | В этой конфигурации будут указаны правила физического распределения узлов в пуле. | NodePlacementConfiguration |
windowsConfiguration | Это свойство не должно указываться, если imageReference указывает образ ОС Linux. | WindowsConfiguration |
ContainerConfiguration
Имя | Описание | Значение |
---|---|---|
containerImageNames | Это полная ссылка на образ, указанная для docker pull. Образ будет получен из реестра Docker по умолчанию, если образ не является полным с альтернативным реестром. | string[] |
containerRegistries | Если какие-либо образы необходимо скачать из частного реестра, для которого требуются учетные данные, эти учетные данные необходимо предоставить здесь. | ContainerRegistry[] |
тип | Используемая технология контейнера. | DockerCompatible (обязательно) |
Реестр контейнеров
Имя | Описание | Значение |
---|---|---|
password | Пароль для входа на сервер реестра. | строка (обязательно) |
registryServer | Если этот параметр опущен, значение по умолчанию — "docker.io". | строка |
username | Имя пользователя для входа на сервер реестра. | строка (обязательно) |
DataDisk
Имя | Описание | Значение |
---|---|---|
кэширование | Доступны следующие значения: none — режим кэширования для диска не включен. readOnly — режим кэширования для диска доступен только для чтения. readWrite — режим кэширования для диска — чтение и запись. Значение по умолчанию для кэширования — none. Дополнительные сведения о параметрах кэширования см. в следующих разделах: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. |
"Нет" ReadOnly ReadWrite |
diskSizeGB | Начальный размер диска в ГБ при создании нового диска данных. | int (обязательно) |
lun | Lun используется для уникальной идентификации каждого диска данных. При подключении нескольких дисков каждый из них должен иметь отдельный lun. Значение должно находиться в диапазоне от 0 до 63 включительно. | int (обязательно) |
storageAccountType | Если этот параметр опущен, по умолчанию используется значение "Standard_LRS". Возможны следующие значения. Standard_LRS . Диск данных должен использовать стандартное локально избыточное хранилище. Premium_LRS — диск данных должен использовать локально избыточное хранилище класса Premium. |
"Premium_LRS" "Standard_LRS" |
DiskEncryptionConfiguration
Имя | Описание | Значение |
---|---|---|
целевые объекты | В пуле Linux поддерживается только "TemporaryDisk"; В пуле Windows необходимо указать OsDisk и TemporaryDisk. | Массив строк, содержащий любой из: OsDisk TemporaryDisk |
VMExtension
Имя | Описание | Значение |
---|---|---|
autoUpgradeMinorVersion | Указывает, должно ли расширение использовать более новую дополнительную версию, если она доступна во время развертывания. Однако после развертывания расширение не будет обновляться до дополнительных версий, кроме случаев повторного развертывания, даже если это свойство имеет значение true. | bool |
name | Имя расширения виртуальной машины. | строка (обязательно) |
protectedSettings | Расширение может содержать protectedSettings или protectedSettingsFromKeyVault или вообще не иметь защищенных параметров. | Для Bicep можно использовать функцию any(). |
provisionAfterExtensions | Коллекция имен расширений, после которых необходимо подготовить это расширение. | string[] |
publisher | Имя издателя обработчика расширений. | string (обязательно) |
Параметры | Общедоступные параметры расширения в формате JSON. | Для Bicep можно использовать функцию any(). |
тип | Тип расширений. | string (обязательно) |
typeHandlerVersion | Версия обработчика скрипта. | строка |
ImageReference
Имя | Описание | Значение |
---|---|---|
идентификатор | Это свойство является взаимоисключающим с другими свойствами. Образ Общая коллекция образов должен иметь реплики в том же регионе, что и учетная запись пакетная служба Azure. Сведения о параметрах брандмауэра для взаимодействия агента узла пакетной службы с пакетной службой см. в разделе /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration. | строка |
offer | Например, UbuntuServer или WindowsServer. | строка |
publisher | Например, Canonical или MicrosoftWindowsServer. | строка |
sku | Например, 18.04-LTS или 2019-Datacenter. | строка |
version | Чтобы выбрать последнюю версию образа, можно указать значение latest. Если этот параметр опущен, по умолчанию используется значение latest. | строка |
NodePlacementConfiguration
Имя | Описание | Значение |
---|---|---|
policy | Политика выделения, используемая пакетной службой для подготовки узлов. Если этот параметр не указан, пакетная служба будет использовать региональную политику. | "Региональный" "Зональный" |
WindowsConfiguration
Имя | Описание | Значение |
---|---|---|
enableAutomaticUpdates | Если этот параметр опущен, значение по умолчанию — true. | bool |
MetadataItem
Имя | Описание | Значение |
---|---|---|
name | Имя элемента метаданных. | string (обязательно) |
значение | Значение элемента метаданных. | string (обязательно) |
MountConfiguration
Имя | Описание | Значение |
---|---|---|
azureBlobFileSystemConfiguration | Это свойство является взаимоисключающим со всеми другими свойствами. | AzureBlobFileSystemConfiguration |
azureFileShareConfiguration | Это свойство является взаимоисключающим со всеми другими свойствами. | AzureFileShareConfiguration |
cifsMountConfiguration | Это свойство является взаимоисключающим со всеми другими свойствами. | CifsMountConfiguration |
nfsMountConfiguration | Это свойство является взаимоисключающим со всеми другими свойствами. | NFSMountConfiguration |
AzureBlobFileSystemConfiguration
Имя | Описание | Значение |
---|---|---|
accountKey | Это свойство является взаимоисключающим с sasKey, и его необходимо указать. | строка |
accountName | Имя учетной записи хранения Azure. | string (обязательно) |
blobfuseOptions | Это параметры net use в Windows и параметры подключения в Linux. | строка |
containerName | Имя контейнера Хранилище BLOB-объектов Azure. | string (обязательно) |
relativeMountPath | Все файловые системы подключаются относительно каталога подключений пакетной службы, доступ к которым можно получить через переменную среды AZ_BATCH_NODE_MOUNTS_DIR. | string (обязательно) |
sasKey | Это свойство является взаимоисключающим с accountKey, и его необходимо указать. | строка |
AzureFileShareConfiguration
Имя | Описание | Значение |
---|---|---|
accountKey | Ключ учетной записи хранения Azure. | string (обязательно) |
accountName | Имя учетной записи хранения Azure. | string (обязательно) |
azureFileUrl | Это форма "https://{account}.file.core.windows.net/". | string (обязательно) |
mountOptions | Это параметры net use в Windows и параметры подключения в Linux. | строка |
relativeMountPath | Все файловые системы подключаются относительно каталога подключений пакетной службы, доступ к которым можно получить через переменную среды AZ_BATCH_NODE_MOUNTS_DIR. | string (обязательно) |
CifsMountConfiguration
Имя | Описание | Значение |
---|---|---|
mountOptions | Это параметры net use в Windows и параметры подключения в Linux. | строка |
password | Пароль, используемый для проверки подлинности в файловой системе CIFS. | string (обязательно) |
relativeMountPath | Все файловые системы подключаются относительно каталога подключений пакетной службы, доступ к которым можно получить через переменную среды AZ_BATCH_NODE_MOUNTS_DIR. | string (обязательно) |
source | Универсальный код ресурса (URI) подключаемой файловой системы. | string (обязательно) |
username | Пользователь, используемый для проверки подлинности в файловой системе CIFS. | string (обязательно) |
NFSMountConfiguration
Имя | Описание | Значение |
---|---|---|
mountOptions | Это параметры net use в Windows и параметры подключения в Linux. | строка |
relativeMountPath | Все файловые системы подключаются относительно каталога подключений пакетной службы, доступ к которым можно получить через переменную среды AZ_BATCH_NODE_MOUNTS_DIR. | string (обязательно) |
source | Универсальный код ресурса (URI) подключаемой файловой системы. | string (обязательно) |
NetworkConfiguration
Имя | Описание | Значение |
---|---|---|
endpointConfiguration | Конфигурация конечной точки пула поддерживается только в пулах со свойством virtualMachineConfiguration. | PoolEndpointConfiguration |
publicIPAddressConfiguration | Это свойство поддерживается только в пулах со свойством virtualMachineConfiguration. | PublicIPAddressConfiguration |
subnetId | Виртуальная сеть должна находиться в том же регионе и подписке, что и учетная запись пакетная служба Azure. Указанная подсеть должна иметь достаточно свободных IP-адресов для размещения количества узлов в пуле. Если в подсети недостаточно свободных IP-адресов, пул частично выделит вычислительные узлы и возникнет ошибка изменения размера. Субъект-служба MicrosoftAzureBatch должен иметь роль "Участник классической виртуальной машины" Role-Based контроль доступа (RBAC) для указанной виртуальной сети. Указанная подсеть должна разрешать взаимодействие со службой пакетная служба Azure, чтобы иметь возможность планировать задачи на вычислительных узлах. Это можно проверить, если указанная виртуальная сеть имеет какие-либо связанные группы безопасности сети (NSG). Если группа безопасности сети запрещает обмен данными с вычислительными узлами в указанной подсети, пакетная служба установит состояние вычислительных узлов в непригодное для использования. Если у виртуальной сети есть связанные группы безопасности сети (NSG), необходимо включить несколько зарезервированных системных портов для входящего трафика. Для пулов, созданных с помощью конфигурации виртуальной машины, включите порты 29876 и 29877, а также порт 22 для Linux и порт 3389 для Windows. Для пулов, созданных с помощью конфигурации облачной службы, включите порты 10100, 20100 и 30100. Также включите исходящие подключения к службе хранилища Azure через порт 443. Для пулов cloudServiceConfiguration поддерживаются только классические виртуальные сети. Дополнительные сведения см. в разделе /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration. | строка |
PoolEndpointConfiguration
Имя | Описание | Значение |
---|---|---|
inboundNatPools | Максимальное число входящих пулов NAT на пул пакетной службы составляет 5. Если превышено максимальное количество входящих пулов NAT, запрос завершается ошибкой с кодом состояния HTTP 400. Этот параметр нельзя указать, если ipAddressProvisioningType имеет значение NoPublicIPAddresses. | InboundNatPool[] (обязательно) |
InboundNatPool
Имя | Описание | Значение |
---|---|---|
backendPort | Он должен быть уникальным в пределах пула пакетной службы. Допустимые значения находятся в диапазоне от 1 до 65535, за исключением 22, 3389, 29876 и 29877, так как они зарезервированы. Если указаны какие-либо зарезервированные значения, запрос завершается ошибкой с кодом состояния HTTP 400. | int (обязательно) |
frontendPortRangeEnd | Допустимые значения находятся в диапазоне от 1 до 65534, за исключением портов от 50000 до 55000, зарезервированных пакетной службой. Все диапазоны в пуле должны быть отдельными и не могут перекрываться. Если указаны зарезервированные или перекрывающиеся значения, запрос завершается ошибкой с кодом состояния HTTP 400. | int (обязательно) |
frontendPortRangeStart | Допустимые значения находятся в диапазоне от 1 до 65534, за исключением зарезервированных портов от 50 000 до 55 000. Все диапазоны в пуле должны быть отдельными и не могут перекрываться. Если указаны зарезервированные или перекрывающиеся значения, запрос завершается ошибкой с кодом состояния HTTP 400. | int (обязательно) |
name | Имя должно быть уникальным в пределах пула пакетной службы, может содержать буквы, цифры, символы подчеркивания, точки и дефисы. Имена должны начинаться с буквы или цифры, заканчиваться буквой, цифрой или символом подчеркивания и не могут превышать 77 символов. Если указаны какие-либо недопустимые значения, запрос завершается ошибкой с кодом состояния HTTP 400. | строка (обязательно) |
networkSecurityGroupRules | Максимальное число правил, которое можно указать во всех конечных точках пула пакетной службы, составляет 25. Если правила группы безопасности сети не указаны, будет создано правило по умолчанию, разрешающее входящий доступ к указанному внутреннему порту. Если превышено максимальное число правил группы безопасности сети, запрос завершается ошибкой с кодом состояния HTTP 400. | NetworkSecurityGroupRule[] |
protocol | Протокол конечной точки. | "TCP" "UDP" (обязательно) |
NetworkSecurityGroupRule
Имя | Описание | Значение |
---|---|---|
access | Действие, которое должно быть предпринято для указанного IP-адреса, диапазона подсети или тега. | "Разрешить" Deny (обязательно) |
priority | Приоритеты в пуле должны быть уникальными и оцениваться в порядке приоритета. Чем меньше число, тем выше приоритет. Например, правила можно указать с номерами порядка 150, 250 и 350. Правило с порядком 150 имеет приоритет над правилом, которое имеет порядок 250. Допустимые приоритеты — от 150 до 4096. Если указаны зарезервированные или повторяющиеся значения, запрос завершается ошибкой с кодом состояния HTTP 400. | int (обязательно) |
sourceAddressPrefix | Допустимые значения: один IP-адрес (т. е. 10.10.10.10), IP-подсеть (т. е. 192.168.1.0/24), тег по умолчанию или * (для всех адресов). Если указаны другие значения, запрос завершается ошибкой с кодом состояния HTTP 400. | строка (обязательно) |
sourcePortRanges | Допустимые значения: "*" (для всех портов от 0 до 65535) или массивы портов или диапазонов портов (т. е. 100–200). Порты должны находиться в диапазоне от 0 до 65535, а диапазоны портов или порты не могут перекрываться. Если указаны другие значения, запрос завершается ошибкой с кодом состояния HTTP 400. Значение по умолчанию — *. | string[] |
PublicIPAddressConfiguration
Имя | Описание | Значение |
---|---|---|
ipAddressIds | Количество IP-адресов, указанных здесь, ограничивает максимальный размер пула— для каждого общедоступного IP-адреса можно выделить 100 выделенных узлов или 100 узлов с низким приоритетом. Например, для пула, требующего 250 выделенных виртуальных машин, потребуется по крайней мере 3 общедоступных IP-адреса. Каждый элемент этой коллекции имеет следующий вид: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}. | string[] |
provision | Значение по умолчанию — BatchManaged. | BatchManaged NoPublicIPAddresses UserManaged |
ScaleSettings
Имя | Описание | Значение |
---|---|---|
Автомасштабирование | Это свойство и fixedScale являются взаимоисключающими, и необходимо указать одно из свойств. | AutoScaleSettings |
fixedScale | Это свойство и автомасштабирование являются взаимоисключающими, и необходимо указать одно из свойств. | FixedScaleSettings |
AutoScaleSettings
Имя | Описание | Значение |
---|---|---|
evaluationInterval | Если этот параметр опущен, значение по умолчанию — 15 минут (PT15M). | строка |
formula | Формула для требуемого количества вычислительных узлов в пуле. | строка (обязательно) |
FixedScaleSettings
Имя | Описание | Значение |
---|---|---|
nodeDeallocationOption | Если этот параметр опущен, по умолчанию используется значение Requeue. | 'Requeue' "RetainedData" TaskCompletion "Terminate" |
resizeTimeout | Значение по умолчанию — 15 минут. Значения времени ожидания используют формат ISO 8601. Например, используйте PT10M в течение 10 минут. Минимальное значение — 5 минут. Если указать значение менее 5 минут, пакетная служба отклоняет запрос с ошибкой. Если вы вызываете REST API напрямую, код состояния HTTP — 400 (недопустимый запрос). | строка |
targetDedicatedNodes | Необходимо задать хотя бы одно из значений targetDedicatedNodes, targetLowPriorityNodes. | INT |
targetLowPriorityNodes | Необходимо задать хотя бы одно из значений targetDedicatedNodes, targetLowPriorityNodes. | INT |
StartTask
Имя | Описание | Значение |
---|---|---|
commandLine | Командная строка не выполняется в оболочке и поэтому не может использовать преимущества таких функций оболочки, как расширение переменной среды. Если вы хотите воспользоваться преимуществами таких функций, следует вызвать оболочку в командной строке, например с помощью cmd /c MyCommand в Windows или /bin/sh -c MyCommand в Linux. Требуется, если указаны какие-либо другие свойства startTask. | строка |
containerSettings | Если этот параметр указан, все каталоги рекурсивно под AZ_BATCH_NODE_ROOT_DIR (корневой каталог пакетная служба Azure на узле) сопоставляются с контейнером, все переменные среды задач сопоставляются с контейнером, а командная строка задачи выполняется в контейнере. | TaskContainerSettings |
environmentSettings | Список параметров переменных среды для задачи запуска. | EnvironmentSetting[] |
maxTaskRetryCount | Пакетная служба пытается выполнить задачу повторно, если ее код выхода имеет ненулевое значение. Обратите внимание, что это значение определяет количество повторных попыток. Пакетная служба попытается выполнить задачу один раз, а затем будет предпринимать повторные попытки вплоть до этого предела. Например, если максимальное число повторных попыток равно 3, пакетная служба пытается выполнить задачу до 4 раз (одна начальная попытка и 3 повторных попытки). Если максимальное число повторных попыток равно 0, пакетная служба не повторяет задачу. Если максимальное число повторных попыток равно -1, пакетная служба повторяет задачу без ограничений. | INT |
resourceFiles | Список файлов, которые пакетная служба скачает на вычислительный узел перед запуском командной строки. | ResourceFile[] |
userIdentity | Если этот параметр опущен, задача выполняется от имени пользователя, не являющегося администратором, уникальным для задачи. | UserIdentity |
waitForSuccess | Если задано значение true и задача запуска завершается сбоем на вычислительном узле, пакетная служба повторяет попытку запуска до максимального количества повторных попыток (maxTaskRetryCount). Если задача по-прежнему не была успешно завершена после всех повторных попыток, пакетная служба пометит вычислительный узел непригодным для использования и не будет планировать задачи для него. Это условие можно определить с помощью сведений о состоянии узла и сведений об ошибке планирования. Если значение равно false, пакетная служба не будет ждать завершения задачи запуска. В этом случае другие задачи могут начать выполнение на вычислительном узле, пока задача запуска все еще выполняется; и даже в случае сбоя задачи запуска новые задачи будут по-прежнему планироваться на узле. Значение по умолчанию — true. | bool |
TaskContainerSettings
Имя | Описание | Значение |
---|---|---|
containerRunOptions | Эти дополнительные параметры предоставляются в качестве аргументов для команды docker create в дополнение к тем, которые управляются пакетной службой. | строка |
imageName | Это полная ссылка на образ, как указано для docker pull. Если в имени образа нет тега, по умолчанию используется тег ":latest". | string (обязательно) |
реестр | Этот параметр можно опустить, если он уже был указан при создании пула. | Реестр контейнеров |
WorkingDirectory | Флаг, указывающий, где находится рабочий каталог задачи контейнера. Значение по умолчанию — taskWorkingDirectory. | ContainerImageDefault TaskWorkingDirectory |
EnvironmentSetting
Имя | Описание | Значение |
---|---|---|
name | Имя переменной среды. | string (обязательно) |
значение | Значение переменной среды. | строка |
ResourceFile
Имя | Описание | Значение |
---|---|---|
autoStorageContainerName | Свойства autoStorageContainerName, storageContainerUrl и httpUrl являются взаимоисключающими и должны быть указаны. | строка |
blobPrefix | Свойство допустимо только при использовании autoStorageContainerName или storageContainerUrl. Этот префикс может быть частичным именем файла или подкаталогом. Если префикс не указан, будут загружены все файлы в контейнере. | строка |
fileMode | Это свойство применяется только к файлам, загружаемым на вычислительные узлы Linux. Он будет игнорироваться, если он указан для resourceFile, который будет загружен на узел Windows. Если это свойство не указано для узла Linux, к файлу применяется значение по умолчанию 0770. | строка |
filePath | Если указано свойство httpUrl, filePath является обязательным и описывает путь, по которому будет скачан файл, включая имя файла. В противном случае, если указано свойство autoStorageContainerName или storageContainerUrl, filePath является необязательным и является каталогом для скачивания файлов. В случае, когда filePath используется в качестве каталога, любая структура каталогов, уже связанная с входными данными, будет полностью сохранена и добавлена в указанный каталог filePath. Указанный относительный путь не может вырваться из рабочего каталога задачи (например, с помощью ".."). | строка |
httpUrl | Свойства autoStorageContainerName, storageContainerUrl и httpUrl являются взаимоисключающими и должны быть указаны. Если URL-адрес Хранилище BLOB-объектов Azure, он должен быть доступен для чтения с помощью анонимного доступа. То есть пакетная служба не представляет учетных данных при скачивании большого двоичного объекта. Существует два способа получить такой URL-адрес для большого двоичного объекта в хранилище Azure: включить подписанный URL-адрес (SAS), предоставляющий разрешения на чтение большого двоичного объекта, или задать список ACL для большого двоичного объекта или его контейнера, чтобы разрешить общий доступ. | строка |
storageContainerUrl | Свойства autoStorageContainerName, storageContainerUrl и httpUrl являются взаимоисключающими и должны быть указаны. Этот URL-адрес должен быть доступный для чтения и перечисления с помощью анонимного доступа; то есть пакетная служба не представляет учетных данных при скачивании большого двоичного объекта. Существует два способа получить такой URL-адрес для большого двоичного объекта в хранилище Azure: включить подписанный URL-адрес (SAS), предоставляющий разрешения на чтение и перечисление большого двоичного объекта, или задать список ACL для большого двоичного объекта или его контейнера, чтобы разрешить общий доступ. | строка |
UserIdentity
Имя | Описание | Значение |
---|---|---|
autoUser | Свойства userName и autoUser являются взаимоисключающими; Необходимо указать один, но не оба. | AutoUserSpecification |
userName | Свойства userName и autoUser являются взаимоисключающими; Необходимо указать один, но не оба. | строка |
AutoUserSpecification
Имя | Описание | Значение |
---|---|---|
elevationLevel | Значение по умолчанию — nonAdmin. | 'Администратор' NonAdmin |
область | Значение по умолчанию — Pool. Если пул работает под управлением Windows, необходимо указать значение Task, если требуется более строгая изоляция между задачами. Например, если задача изменяет реестр таким образом, что может повлиять на другие задачи, или если в пуле указаны сертификаты, которые не должны быть доступны обычным задачам, но должны быть доступны при запуске задач. | 'Pool' "Задача" |
TaskSchedulingPolicy
Имя | Описание | Значение |
---|---|---|
nodeFillType | Порядок распределения задач между вычислительными узлами. | 'Pack' "Spread" (обязательно) |
UserAccount
Имя | Описание | Значение |
---|---|---|
elevationLevel | nonAdmin — автоматический пользователь является обычным пользователем без повышенных прав доступа. admin — автоматический пользователь является пользователем с повышенным уровнем доступа и работает с полными разрешениями администратора. Значение по умолчанию — nonAdmin. | 'Администратор' NonAdmin |
linuxUserConfiguration | Это свойство игнорируется, если оно указано в пуле Windows. Если не указано, пользователь создается с параметрами по умолчанию. | LinuxUserConfiguration |
name | Имя учетной записи пользователя. | string (обязательно) |
password | Пароль для учетной записи пользователя. | string (обязательно) |
windowsUserConfiguration | Это свойство можно указать, только если пользователь находится в пуле Windows. Если не указано и в пуле Windows, пользователь создается с параметрами по умолчанию. | WindowsUserConfiguration |
LinuxUserConfiguration
Имя | Описание | Значение |
---|---|---|
gid | Свойства uid и gid должны указываться вместе или не указываться вообще. Если значение не указано, базовая операционная система выбирает gid. | INT |
sshPrivateKey | Закрытый ключ не должен быть защищен паролем. Закрытый ключ используется для автоматической настройки проверки подлинности на основе асимметричного ключа для SSH между узлами в пуле Linux, если свойство enableInterNodeCommunication пула имеет значение true (оно игнорируется, если enableInterNodeCommunication имеет значение false). Это можно сделать, поместив пару ключей в SSH-каталог пользователя. Если этот параметр не указан, SSH без пароля не настраивается между узлами (не выполняется никаких изменений в каталоге SSH пользователя). | строка |
uid | Свойства uid и gid должны указываться вместе или не указываться вообще. Если значение не указано, базовая операционная система выбирает пользовательский интерфейс. | INT |
WindowsUserConfiguration
Имя | Описание | Значение |
---|---|---|
loginMode | Задает режим входа для пользователя. По умолчанию для пулов VirtualMachineConfiguration используется интерактивный режим, а для пулов CloudServiceConfiguration — пакетный режим. | Пакетная служба "Интерактивный" |
Шаблоны быстрого запуска
Следующие шаблоны быстрого запуска развертывают этот тип ресурса.
Шаблон | Описание |
---|---|
пакетная служба Azure пул без общедоступных IP-адресов |
Этот шаблон создает пакетная служба Azure упрощенный пул обмена данными с узлами без общедоступных IP-адресов. |
Определение ресурса шаблона ARM
Тип ресурса batchAccounts/pools можно развернуть в следующих объектах:
- Группы ресурсов — см. команды развертывания групп ресурсов.
Список измененных свойств в каждой версии API см. в журнале изменений.
Формат ресурсов
Чтобы создать ресурс Microsoft.Batch/batchAccounts/pools, добавьте следующий код JSON в шаблон.
{
"type": "Microsoft.Batch/batchAccounts/pools",
"apiVersion": "2021-01-01",
"name": "string",
"identity": {
"type": "string",
"userAssignedIdentities": {}
},
"properties": {
"applicationLicenses": [ "string" ],
"applicationPackages": [
{
"id": "string",
"version": "string"
}
],
"certificates": [
{
"id": "string",
"storeLocation": "string",
"storeName": "string",
"visibility": [ "string" ]
}
],
"deploymentConfiguration": {
"cloudServiceConfiguration": {
"osFamily": "string",
"osVersion": "string"
},
"virtualMachineConfiguration": {
"containerConfiguration": {
"containerImageNames": [ "string" ],
"containerRegistries": [
{
"password": "string",
"registryServer": "string",
"username": "string"
}
],
"type": "DockerCompatible"
},
"dataDisks": [
{
"caching": "string",
"diskSizeGB": "int",
"lun": "int",
"storageAccountType": "string"
}
],
"diskEncryptionConfiguration": {
"targets": [ "string" ]
},
"extensions": [
{
"autoUpgradeMinorVersion": "bool",
"name": "string",
"protectedSettings": {},
"provisionAfterExtensions": [ "string" ],
"publisher": "string",
"settings": {},
"type": "string",
"typeHandlerVersion": "string"
}
],
"imageReference": {
"id": "string",
"offer": "string",
"publisher": "string",
"sku": "string",
"version": "string"
},
"licenseType": "string",
"nodeAgentSkuId": "string",
"nodePlacementConfiguration": {
"policy": "string"
},
"windowsConfiguration": {
"enableAutomaticUpdates": "bool"
}
}
},
"displayName": "string",
"interNodeCommunication": "string",
"metadata": [
{
"name": "string",
"value": "string"
}
],
"mountConfiguration": [
{
"azureBlobFileSystemConfiguration": {
"accountKey": "string",
"accountName": "string",
"blobfuseOptions": "string",
"containerName": "string",
"relativeMountPath": "string",
"sasKey": "string"
},
"azureFileShareConfiguration": {
"accountKey": "string",
"accountName": "string",
"azureFileUrl": "string",
"mountOptions": "string",
"relativeMountPath": "string"
},
"cifsMountConfiguration": {
"mountOptions": "string",
"password": "string",
"relativeMountPath": "string",
"source": "string",
"username": "string"
},
"nfsMountConfiguration": {
"mountOptions": "string",
"relativeMountPath": "string",
"source": "string"
}
}
],
"networkConfiguration": {
"endpointConfiguration": {
"inboundNatPools": [
{
"backendPort": "int",
"frontendPortRangeEnd": "int",
"frontendPortRangeStart": "int",
"name": "string",
"networkSecurityGroupRules": [
{
"access": "string",
"priority": "int",
"sourceAddressPrefix": "string",
"sourcePortRanges": [ "string" ]
}
],
"protocol": "string"
}
]
},
"publicIPAddressConfiguration": {
"ipAddressIds": [ "string" ],
"provision": "string"
},
"subnetId": "string"
},
"scaleSettings": {
"autoScale": {
"evaluationInterval": "string",
"formula": "string"
},
"fixedScale": {
"nodeDeallocationOption": "string",
"resizeTimeout": "string",
"targetDedicatedNodes": "int",
"targetLowPriorityNodes": "int"
}
},
"startTask": {
"commandLine": "string",
"containerSettings": {
"containerRunOptions": "string",
"imageName": "string",
"registry": {
"password": "string",
"registryServer": "string",
"username": "string"
},
"workingDirectory": "string"
},
"environmentSettings": [
{
"name": "string",
"value": "string"
}
],
"maxTaskRetryCount": "int",
"resourceFiles": [
{
"autoStorageContainerName": "string",
"blobPrefix": "string",
"fileMode": "string",
"filePath": "string",
"httpUrl": "string",
"storageContainerUrl": "string"
}
],
"userIdentity": {
"autoUser": {
"elevationLevel": "string",
"scope": "string"
},
"userName": "string"
},
"waitForSuccess": "bool"
},
"taskSchedulingPolicy": {
"nodeFillType": "string"
},
"taskSlotsPerNode": "int",
"userAccounts": [
{
"elevationLevel": "string",
"linuxUserConfiguration": {
"gid": "int",
"sshPrivateKey": "string",
"uid": "int"
},
"name": "string",
"password": "string",
"windowsUserConfiguration": {
"loginMode": "string"
}
}
],
"vmSize": "string"
}
}
Значения свойств
batchAccounts/pools
Имя | Описание | Значение |
---|---|---|
тип | Тип ресурса | Microsoft.Batch/batchAccounts/pools |
версия_API | Версия API ресурсов | '2021-01-01' |
name | имя ресурса. Узнайте, как задать имена и типы для дочерних ресурсов в шаблонах JSON ARM. |
string (обязательно) Ограничение символов: 1–64 Допустимые символы: Буквенно-цифровые символы, символы подчеркивания и дефисы. |
удостоверение | Тип удостоверения, используемого для пула пакетной службы. | BatchPoolIdentity |
properties | Свойства, связанные с пулом. | Свойства пула |
BatchPoolIdentity
Имя | Описание | Значение |
---|---|---|
тип | Тип удостоверения, используемого для пула пакетной службы. | "Нет" UserAssigned (обязательно) |
userAssignedIdentities | Список удостоверений пользователей, связанных с пулом пакетной службы. Ссылки на ключи словаря удостоверений пользователей будут иметь идентификаторы ресурсов ARM в форме: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". | объект |
Свойства пула
Имя | Описание | Значение |
---|---|---|
applicationLicenses | Список лицензий приложений должен быть подмножеством доступных лицензий на приложения пакетной службы. Если запрашивается лицензия, которая не поддерживается, создание пула завершится ошибкой. | string[] |
applicationPackages | Изменения ссылок на пакеты приложений влияют на все новые вычислительные узлы, присоединяющиеся к пулу, но не влияют на вычислительные узлы, которые уже находятся в пуле, пока они не будут перезагружены или переосмыслены. Существует не более 10 ссылок на пакеты приложений в любом заданном пуле. | ApplicationPackageReference[] |
certificates | Для вычислительных узлов Windows пакетная служба устанавливает сертификаты в указанное хранилище сертификатов и расположение. Для вычислительных узлов Linux сертификаты хранятся в каталоге в рабочем каталоге задачи, а переменная среды AZ_BATCH_CERTIFICATES_DIR предоставляется задаче для запроса этого расположения. Для сертификатов с видимостью remoteUser каталог certs создается в домашнем каталоге пользователя (например, /home/{user-name}/certs), и сертификаты помещаются в этот каталог. | CertificateReference[] |
deploymentConfiguration | Использование CloudServiceConfiguration указывает, что узлы должны создаваться с помощью Azure Облачные службы (PaaS), а VirtualMachineConfiguration использует Azure Виртуальные машины (IaaS). | DeploymentConfiguration |
displayName | Отображаемое имя не должно быть уникальным и может содержать любые символы Юникода длиной до 1024. | строка |
interNodeCommunication | Это накладывает ограничения на то, какие узлы могут быть назначены пулу. Включение этого значения может снизить вероятность выделения запрошенного количества узлов в пуле. Если этот параметр не указан, по умолчанию используется значение "Отключено". | "Отключено" "Включено" |
метаданные | Пакетная служба не присваивает метаданным никакого значения; он предназначен исключительно для использования пользовательского кода. | MetadataItem[] |
mountConfiguration | Это поддерживает Файлы Azure, NFS, CIFS/SMB и Blobfuse. | MountConfiguration[] |
networkConfiguration | Конфигурация сети для пула. | NetworkConfiguration |
scaleSettings | Определяет требуемый размер пула. Это может быть либо fixedScale, где указан запрошенный targetDedicatedNodes, либо autoScale, который определяет формулу, которая периодически вычисляется повторно. Если это свойство не указано, пул будет иметь фиксированный масштаб с 0 targetDedicatedNodes. | ScaleSettings |
startTask | В операции PATCH (обновление) этому свойству можно задать пустой объект, чтобы удалить задачу запуска из пула. | StartTask |
taskSchedulingPolicy | Если значение не указано, по умолчанию используется spread. | TaskSchedulingPolicy |
taskSlotsPerNode | Значение по умолчанию — 1. Максимальное значение — в 4 раза меньше числа ядер vmSize пула или 256. | INT |
userAccounts | Список учетных записей пользователей, создаваемых на каждом узле в пуле. | UserAccount[] |
vmSize | Сведения о доступных размерах виртуальных машин для пулов Облачные службы (пулы, созданные с помощью cloudServiceConfiguration), см. в статье Размеры для Облачные службы (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Пакетная служба поддерживает все Облачные службы размеры виртуальных машин, кроме ExtraSmall. Сведения о доступных размерах виртуальных машин для пулов, использующих образы из Виртуальные машины Marketplace (пулы, созданные с помощью virtualMachineConfiguration) см. в статье Размеры для Виртуальные машины (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) или Размеры для Виртуальные машины (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Пакетная служба поддерживает все размеры виртуальных машин Azure, кроме STANDARD_A0 и виртуальных машин с хранилищем класса Premium (STANDARD_GS, STANDARD_DS и STANDARD_DSV2 серии). | строка |
ApplicationPackageReference
Имя | Описание | Значение |
---|---|---|
идентификатор | Идентификатор устанавливаемого пакета приложения. Он должен находиться в той же учетной записи пакетной службы, что и пул. Это может быть ссылка на определенную версию или версия по умолчанию, если она существует. | string (обязательно) |
version | Если этот параметр опущен и для этого приложения не указана версия по умолчанию, запрос завершается ошибкой с кодом InvalidApplicationPackageReferences. Если вы вызываете REST API напрямую, код состояния HTTP — 409. | строка |
CertificateReference
Имя | Описание | Значение |
---|---|---|
идентификатор | Полный идентификатор сертификата, устанавливаемого в пуле. Он должен находиться в той же учетной записи пакетной службы, что и пул. | string (обязательно) |
storeLocation | Значение по умолчанию — currentUser. Это свойство применимо только для пулов, настроенных с узлами Windows (т. е. созданными с помощью cloudServiceConfiguration или virtualMachineConfiguration с помощью ссылки на образ Windows). Для вычислительных узлов Linux сертификаты хранятся в каталоге в рабочем каталоге задачи, а переменная среды AZ_BATCH_CERTIFICATES_DIR предоставляется задаче для запроса этого расположения. Для сертификатов с видимостью remoteUser каталог certs создается в домашнем каталоге пользователя (например, /home/{user-name}/certs), и сертификаты помещаются в этот каталог. | CurrentUser "LocalMachine" |
storeName | Это свойство применимо только для пулов, настроенных с узлами Windows (т. е. созданными с помощью cloudServiceConfiguration или virtualMachineConfiguration с помощью ссылки на образ Windows). К общим именам хранилищ относятся: My, Root, CA, Trust, Запрещено, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, но также можно использовать любое пользовательское имя хранилища. Значение по умолчанию - «My». | строка |
видимость | Какие учетные записи пользователей на вычислительном узле должны иметь доступ к частным данным сертификата. | Массив строк, содержащий любой из: RemoteUser StartTask "Задача" |
DeploymentConfiguration
Имя | Описание | Значение |
---|---|---|
cloudServiceConfiguration | Это свойство и virtualMachineConfiguration являются взаимоисключающими, и необходимо указать одно из свойств. Это свойство нельзя указать, если учетная запись пакетной службы была создана с ее свойством poolAllocationMode, для параметра задано значение UserSubscription. | CloudServiceConfiguration |
virtualMachineConfiguration | Это свойство и cloudServiceConfiguration являются взаимоисключающими, и необходимо указать одно из свойств. | VirtualMachineConfiguration |
CloudServiceConfiguration
Имя | Описание | Значение |
---|---|---|
osFamily | Возможные значения: 2 — семейство ОС 2, эквивалентное Windows Server 2008 R2 с пакетом обновления 1 (SP1). 3 — семейство ОС 3, эквивалентное Windows Server 2012. 4 — семейство ОС 4, эквивалентное Windows Server 2012 R2. 5 — семейство ОС 5, эквивалентное Windows Server 2016. 6 — семейство ОС 6, эквивалентное Windows Server 2019. Дополнительные сведения см. в статье Выпуски гостевой ОС Azure (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases). | string (обязательно) |
osVersion | Значение по умолчанию — *, указывающее последнюю версию операционной системы для указанного семейства ОС. | строка |
VirtualMachineConfiguration
Имя | Описание | Значение |
---|---|---|
containerConfiguration | Если этот параметр указан, настройка выполняется на каждом узле в пуле, чтобы разрешить выполнение задач в контейнерах. Все обычные задачи и задачи диспетчера заданий, выполняемые в этом пуле, должны указывать свойство containerSettings, а все остальные задачи могут указывать его. | ContainerConfiguration |
dataDisks | Это свойство необходимо указать, если к вычислительным узлам в пуле должны быть подключены пустые диски данных. | DataDisk[] |
diskEncryptionConfiguration | Если этот параметр указан, шифрование выполняется на каждом узле в пуле во время подготовки узла. | DiskEncryptionConfiguration |
extensions | Если он указан, расширения, упомянутые в этой конфигурации, будут установлены на каждом узле. | VMExtension[] |
imageReference | Ссылка на образ Azure Виртуальные машины Marketplace или ресурс образа Azure пользовательской виртуальной машины. Чтобы получить список всех объектов imageReferences, проверенных пакетная служба Azure, см. операцию "Перечисление поддерживаемых номеров SKU агента узла". | ImageReference (обязательно) |
licenseType | Это относится только к образам, содержащим операционную систему Windows, и должно использоваться только при наличии действительных локальных лицензий для узлов, которые будут развернуты. Если этот параметр опущен, скидка на локальное лицензирование не применяется. Возможны следующие значения. Windows_Server — локальная лицензия для Windows Server. Windows_Client — локальная лицензия для клиента Windows. |
строка |
nodeAgentSkuId | Агент узла пакетной службы — это программа, которая выполняется на каждом узле в пуле и предоставляет интерфейс команд и управления между узлом и пакетной службой. Существуют различные реализации агента узла, известные как номера SKU, для различных операционных систем. Необходимо указать номер SKU агента узла, соответствующий выбранной ссылке на образ. Чтобы получить список поддерживаемых номеров SKU агента узла и список проверенных ссылок на образы, см. операцию "Список поддерживаемых номеров SKU агента узла". | string (обязательно) |
nodePlacementConfiguration | В этой конфигурации будут указаны правила физического распределения узлов в пуле. | NodePlacementConfiguration |
windowsConfiguration | Это свойство не должно указываться, если imageReference указывает образ ОС Linux. | WindowsConfiguration |
ContainerConfiguration
Имя | Описание | Значение |
---|---|---|
containerImageNames | Это полная ссылка на образ, как указано для docker pull. Образ будет получен из реестра Docker по умолчанию, если образ не является полным с альтернативным реестром. | string[] |
containerRegistries | Если какие-либо образы должны быть загружены из частного реестра, для которого требуются учетные данные, эти учетные данные должны быть предоставлены здесь. | ContainerRegistry[] |
тип | Используемая технология контейнера. | DockerCompatible (обязательно) |
Реестр контейнеров
Имя | Описание | Значение |
---|---|---|
password | Пароль для входа на сервер реестра. | string (обязательно) |
registryServer | Если этот параметр опущен, по умолчанию используется значение "docker.io". | строка |
username | Имя пользователя для входа на сервер реестра. | string (обязательно) |
DataDisk
Имя | Описание | Значение |
---|---|---|
кэширование | Возможны следующие значения. none — режим кэширования для диска не включен. readOnly — режим кэширования для диска доступен только для чтения. readWrite — режим кэширования для диска — чтение и запись. Значение по умолчанию для кэширования — none. Сведения о параметрах кэширования см. в следующих разделах: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. |
"Нет" ReadOnly ReadWrite |
diskSizeGB | Начальный размер диска в ГБ при создании нового диска данных. | int (обязательно) |
lun | Lun используется для уникальной идентификации каждого диска данных. При подключении нескольких дисков каждый должен иметь отдельный lun. Значение должно находиться в диапазоне от 0 до 63 включительно. | int (обязательно) |
storageAccountType | Если этот параметр опущен, значение по умолчанию — "Standard_LRS". Доступны следующие значения: Standard_LRS — диск данных должен использовать стандартное локально избыточное хранилище. Premium_LRS — диск данных должен использовать локально избыточное хранилище уровня "Премиум". |
'Premium_LRS' 'Standard_LRS' |
DiskEncryptionConfiguration
Имя | Описание | Значение |
---|---|---|
целевые объекты | В пуле Linux поддерживается только "TemporaryDisk"; В пуле Windows необходимо указать "OsDisk" и "TemporaryDisk". | Массив строк, содержащий любой из: 'OsDisk' "TemporaryDisk" |
VmExtension
Имя | Описание | Значение |
---|---|---|
autoUpgradeMinorVersion | Указывает, должно ли расширение использовать более новую дополнительную версию, если она доступна во время развертывания. Однако после развертывания расширение не будет обновляться до дополнительных версий, кроме случаев повторного развертывания, даже если это свойство имеет значение true. | bool |
name | Имя расширения виртуальной машины. | string (обязательно) |
protectedSettings | Расширение может содержать protectedSettings или protectedSettingsFromKeyVault или вообще не иметь защищенных параметров. | |
provisionAfterExtensions | Коллекция имен расширений, после которых необходимо подготовить это расширение. | string[] |
publisher | Имя издателя обработчика расширений. | string (обязательно) |
Параметры | Общедоступные параметры расширения в формате JSON. | |
тип | Тип расширений. | string (обязательно) |
typeHandlerVersion | Версия обработчика скрипта. | строка |
ImageReference
Имя | Описание | Значение |
---|---|---|
идентификатор | Это свойство является взаимоисключающим с другими свойствами. Образ Общая коллекция образов должен иметь реплики в том же регионе, что и учетная запись пакетная служба Azure. Сведения о параметрах брандмауэра для взаимодействия агента узла пакетной службы с пакетной службой см. в разделе /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration. | строка |
offer | Например, UbuntuServer или WindowsServer. | строка |
publisher | Например, Canonical или MicrosoftWindowsServer. | строка |
sku | Например, 18.04-LTS или 2019-Datacenter. | строка |
version | Чтобы выбрать последнюю версию образа, можно указать значение latest. Если этот параметр опущен, по умолчанию используется значение latest. | строка |
NodePlacementConfiguration
Имя | Описание | Значение |
---|---|---|
policy | Политика выделения, используемая пакетной службой для подготовки узлов. Если этот параметр не указан, пакетная служба будет использовать региональную политику. | "Региональный" "Зональный" |
WindowsConfiguration
Имя | Описание | Значение |
---|---|---|
enableAutomaticUpdates | Если этот параметр опущен, значение по умолчанию — true. | bool |
MetadataItem
Имя | Описание | Значение |
---|---|---|
name | Имя элемента метаданных. | string (обязательно) |
значение | Значение элемента метаданных. | string (обязательно) |
MountConfiguration
Имя | Описание | Значение |
---|---|---|
azureBlobFileSystemConfiguration | Это свойство является взаимоисключающим со всеми другими свойствами. | AzureBlobFileSystemConfiguration |
azureFileShareConfiguration | Это свойство является взаимоисключающим со всеми другими свойствами. | AzureFileShareConfiguration |
cifsMountConfiguration | Это свойство является взаимоисключающим со всеми другими свойствами. | CifsMountConfiguration |
nfsMountConfiguration | Это свойство является взаимоисключающим со всеми другими свойствами. | NFSMountConfiguration |
AzureBlobFileSystemConfiguration
Имя | Описание | Значение |
---|---|---|
accountKey | Это свойство является взаимоисключающим с sasKey, и его необходимо указать. | строка |
accountName | Имя учетной записи хранения Azure. | string (обязательно) |
blobfuseOptions | Это параметры net use в Windows и параметры подключения в Linux. | строка |
containerName | Имя контейнера Хранилище BLOB-объектов Azure. | string (обязательно) |
relativeMountPath | Все файловые системы подключаются относительно каталога подключений пакетной службы, доступ к которым можно получить через переменную среды AZ_BATCH_NODE_MOUNTS_DIR. | string (обязательно) |
sasKey | Это свойство является взаимоисключающим с accountKey, и его необходимо указать. | строка |
AzureFileShareConfiguration
Имя | Описание | Значение |
---|---|---|
accountKey | Ключ учетной записи хранения Azure. | string (обязательно) |
accountName | Имя учетной записи хранения Azure. | string (обязательно) |
azureFileUrl | Это форма "https://{account}.file.core.windows.net/". | string (обязательно) |
mountOptions | Это параметры net use в Windows и параметры подключения в Linux. | строка |
relativeMountPath | Все файловые системы подключаются относительно каталога подключений пакетной службы, доступ к которым можно получить через переменную среды AZ_BATCH_NODE_MOUNTS_DIR. | string (обязательно) |
CifsMountConfiguration
Имя | Описание | Значение |
---|---|---|
mountOptions | Это параметры net use в Windows и параметры подключения в Linux. | строка |
password | Пароль, используемый для проверки подлинности в файловой системе CIFS. | строка (обязательно) |
relativeMountPath | Все файловые системы подключаются относительно каталога подключений пакетной службы, доступ к которым можно получить через переменную среды AZ_BATCH_NODE_MOUNTS_DIR. | строка (обязательно) |
source | Универсальный код ресурса (URI) подключаемой файловой системы. | строка (обязательно) |
username | Пользователь, используемый для проверки подлинности в файловой системе CIFS. | строка (обязательно) |
NFSMountConfiguration
Имя | Описание | Значение |
---|---|---|
mountOptions | Это параметры net use в Windows и параметры подключения в Linux. | строка |
relativeMountPath | Все файловые системы подключаются относительно каталога подключений пакетной службы, доступ к которым можно получить через переменную среды AZ_BATCH_NODE_MOUNTS_DIR. | строка (обязательно) |
source | Универсальный код ресурса (URI) подключаемой файловой системы. | строка (обязательно) |
NetworkConfiguration
Имя | Описание | Значение |
---|---|---|
endpointConfiguration | Конфигурация конечной точки пула поддерживается только в пулах со свойством virtualMachineConfiguration. | PoolEndpointConfiguration |
publicIPAddressConfiguration | Это свойство поддерживается только в пулах со свойством virtualMachineConfiguration. | PublicIPAddressConfiguration |
subnetId | Виртуальная сеть должна находиться в том же регионе и подписке, что и учетная запись пакетная служба Azure. Указанная подсеть должна иметь достаточно свободных IP-адресов для размещения количества узлов в пуле. Если в подсети недостаточно свободных IP-адресов, пул частично выделит вычислительные узлы и возникнет ошибка изменения размера. Субъект-служба MicrosoftAzureBatch должен иметь роль "Участник классической виртуальной машины" Role-Based контроль доступа (RBAC) для указанной виртуальной сети. Указанная подсеть должна разрешать обмен данными из службы пакетная служба Azure, чтобы иметь возможность планировать задачи на вычислительных узлах. Это можно проверить, проверьте, есть ли у указанной виртуальной сети какие-либо связанные группы безопасности сети (NSG). Если NSG запрещает обмен данными с вычислительными узлами в указанной подсети, то пакетная служба установит состояние вычислительных узлов в непригодное для использования. Если у виртуальной сети есть связанные группы безопасности сети (NSG), необходимо включить несколько зарезервированных системных портов для входящего трафика. Для пулов, созданных с помощью конфигурации виртуальной машины, включите порты 29876 и 29877, а также порт 22 для Linux и порт 3389 для Windows. Для пулов, созданных с помощью конфигурации облачной службы, включите порты 10100, 20100 и 30100. Также включите исходящие подключения к службе хранилища Azure через порт 443. Для пулов cloudServiceConfiguration поддерживаются только классические виртуальные сети. Дополнительные сведения см. в разделе /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration. | строка |
PoolEndpointConfiguration
Имя | Описание | Значение |
---|---|---|
inboundNatPools | Максимальное число входящих пулов NAT на пул пакетной службы составляет 5. Если превышено максимальное число входящих пулов NAT, запрос завершается ошибкой с кодом состояния HTTP 400. Этот параметр нельзя указать, если ipAddressProvisioningType имеет значение NoPublicIPAddresses. | InboundNatPool[] (обязательно) |
InboundNatPool
Имя | Описание | Значение |
---|---|---|
backendPort | Он должен быть уникальным в пределах пула пакетной службы. Допустимые значения находятся в диапазоне от 1 до 65535, за исключением 22, 3389, 29876 и 29877, так как они зарезервированы. Если указаны зарезервированные значения, запрос завершается ошибкой с кодом состояния HTTP 400. | int (обязательно) |
frontendPortRangeEnd | Допустимые значения находятся в диапазоне от 1 до 65534, за исключением портов от 50000 до 55000, которые зарезервированы пакетной службой. Все диапазоны в пуле должны быть отдельными и не могут перекрываться. Если указаны зарезервированные или перекрывающиеся значения, запрос завершается ошибкой с кодом состояния HTTP 400. | int (обязательно) |
frontendPortRangeStart | Допустимые значения находятся в диапазоне от 1 до 65534, за исключением зарезервированных портов от 50 000 до 55 000. Все диапазоны в пуле должны быть отдельными и не могут перекрываться. Если указаны зарезервированные или перекрывающиеся значения, запрос завершается ошибкой с кодом состояния HTTP 400. | int (обязательно) |
name | Имя должно быть уникальным в пределах пула пакетной службы, может содержать буквы, цифры, символы подчеркивания, точки и дефисы. Имена должны начинаться с буквы или цифры, заканчиваться буквой, цифрой или символом подчеркивания и не могут превышать 77 символов. Если указаны какие-либо недопустимые значения, запрос завершается ошибкой с кодом состояния HTTP 400. | строка (обязательно) |
networkSecurityGroupRules | Максимальное число правил, которое можно указать во всех конечных точках пула пакетной службы, составляет 25. Если правила группы безопасности сети не указаны, будет создано правило по умолчанию, разрешающее входящий доступ к указанному внутреннему порту. Если превышено максимальное число правил группы безопасности сети, запрос завершается ошибкой с кодом состояния HTTP 400. | NetworkSecurityGroupRule[] |
protocol | Протокол конечной точки. | "TCP" "UDP" (обязательно) |
NetworkSecurityGroupRule
Имя | Описание | Значение |
---|---|---|
access | Действие, которое должно быть предпринято для указанного IP-адреса, диапазона подсети или тега. | "Разрешить" Deny (обязательно) |
priority | Приоритеты в пуле должны быть уникальными и оцениваться в порядке приоритета. Чем меньше число, тем выше приоритет. Например, правила можно указать с номерами порядка 150, 250 и 350. Правило с порядком 150 имеет приоритет над правилом, которое имеет порядок 250. Допустимые приоритеты — от 150 до 4096. Если указаны зарезервированные или повторяющиеся значения, запрос завершается ошибкой с кодом состояния HTTP 400. | int (обязательно) |
sourceAddressPrefix | Допустимые значения: один IP-адрес (т. е. 10.10.10), IP-подсеть (т. е. 192.168.1.0/24), тег по умолчанию или * (для всех адресов). Если предоставляются какие-либо другие значения, запрос завершается ошибкой с кодом состояния HTTP 400. | string (обязательно) |
sourcePortRanges | Допустимые значения: "*" (для всех портов от 0 до 65535) или массивы портов или диапазоны портов (т. е. 100–200). Порты должны находиться в диапазоне от 0 до 65535, а диапазоны портов или порты не могут перекрываться. Если предоставляются какие-либо другие значения, запрос завершается ошибкой с кодом состояния HTTP 400. Значение по умолчанию — *. | string[] |
PublicIPAddressConfiguration
Имя | Описание | Значение |
---|---|---|
ipAddressIds | Указанное здесь число IP-адресов ограничивает максимальный размер пула: для каждого общедоступного IP-адреса можно выделить 100 выделенных узлов или 100 низкоприоритетных узлов. Например, для пула, требующего 250 выделенных виртуальных машин, потребуется по крайней мере 3 общедоступных IP-адреса. Каждый элемент этой коллекции имеет следующий вид: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}. | string[] |
provision | Значение по умолчанию — BatchManaged. | BatchManaged 'NoPublicIPAddresses' UserManaged |
ScaleSettings
Имя | Описание | Значение |
---|---|---|
Автомасштабирование | Это свойство и fixedScale являются взаимоисключающими, и необходимо указать одно из свойств. | Параметры автомасштабирования |
fixedScale | Это свойство и автомасштабирование являются взаимоисключающими, и необходимо указать одно из свойств. | FixedScaleSettings |
Параметры автомасштабирования
Имя | Описание | Значение |
---|---|---|
evaluationInterval | Если этот параметр опущен, значение по умолчанию — 15 минут (PT15M). | строка |
formula | Формула для требуемого количества вычислительных узлов в пуле. | string (обязательно) |
FixedScaleSettings
Имя | Описание | Значение |
---|---|---|
nodeDeallocationOption | Если этот параметр опущен, по умолчанию используется значение Requeue. | 'Requeue' 'RetainedData' TaskCompletion "Завершить" |
resizeTimeout | Значение по умолчанию — 15 минут. Значения времени ожидания используют формат ISO 8601. Например, используйте PT10M в течение 10 минут. Минимальное значение — 5 минут. Если указать значение меньше 5 минут, пакетная служба отклоняет запрос с ошибкой; Если вы вызываете REST API напрямую, код состояния HTTP — 400 (недопустимый запрос). | строка |
targetDedicatedNodes | Необходимо задать хотя бы один из targetDedicatedNodes, targetLowPriorityNodes. | INT |
targetLowPriorityNodes | Необходимо задать хотя бы один из targetDedicatedNodes, targetLowPriorityNodes. | INT |
StartTask
Имя | Описание | Значение |
---|---|---|
commandLine | Командная строка не выполняется в оболочке и поэтому не может использовать преимущества таких функций оболочки, как расширение переменной среды. Если вы хотите воспользоваться преимуществами таких функций, следует вызвать оболочку в командной строке, например с помощью cmd /c MyCommand в Windows или /bin/sh -c MyCommand в Linux. Требуется, если указаны какие-либо другие свойства startTask. | строка |
containerSettings | Если этот параметр указан, все каталоги рекурсивно под AZ_BATCH_NODE_ROOT_DIR (корневой каталог пакетная служба Azure на узле) сопоставляются с контейнером, все переменные среды задач сопоставляются с контейнером, а командная строка задачи выполняется в контейнере. | TaskContainerSettings |
environmentSettings | Список параметров переменных среды для задачи запуска. | EnvironmentSetting[] |
maxTaskRetryCount | Пакетная служба пытается выполнить задачу повторно, если ее код выхода имеет ненулевое значение. Обратите внимание, что это значение определяет количество повторных попыток. Пакетная служба попытается выполнить задачу один раз, а затем будет предпринимать повторные попытки вплоть до этого предела. Например, если максимальное число повторных попыток равно 3, пакетная служба пытается выполнить задачу до 4 раз (одна начальная попытка и 3 повторных попытки). Если максимальное число повторных попыток равно 0, пакетная служба не повторяет задачу. Если максимальное число повторных попыток равно -1, пакетная служба повторяет задачу без ограничений. | INT |
resourceFiles | Список файлов, которые пакетная служба скачивает на вычислительный узел перед запуском командной строки. | ResourceFile[] |
userIdentity | Если этот параметр опущен, задача выполняется от имени пользователя, не являющегося администратором, уникальным для задачи. | UserIdentity |
waitForSuccess | Если значение равно true и задача запуска завершается сбоем на вычислительном узле, пакетная служба повторяет задачу запуска до максимального числа повторных попыток (maxTaskRetryCount). Если задача по-прежнему не была успешно завершена после всех повторных попыток, пакетная служба помечает вычислительный узел непригодным для использования и не будет планировать задачи для него. Это условие можно обнаружить с помощью сведений о состоянии узла и сведений об ошибке планирования. Если задано значение false, пакетная служба не будет ждать завершения задачи запуска. В этом случае другие задачи могут начать выполняться на вычислительном узле, пока задача запуска еще выполняется. и даже если задача запуска завершается сбоем, новые задачи будут по-прежнему планироваться на узле. Значение по умолчанию — true. | bool |
TaskContainerSettings
Имя | Описание | Значение |
---|---|---|
containerRunOptions | Эти дополнительные параметры предоставляются в качестве аргументов для команды docker create в дополнение к тем, которые управляются пакетной службой. | строка |
imageName | Это полная ссылка на образ, указанная для docker pull. Если в имени образа не указан тег , по умолчанию используется тег ":latest". | строка (обязательно) |
реестр | Этот параметр можно опустить, если он уже был указан при создании пула. | Реестр контейнеров |
WorkingDirectory | Флаг, указывающий, где находится рабочий каталог задачи контейнера. Значение по умолчанию — taskWorkingDirectory. | ContainerImageDefault TaskWorkingDirectory |
EnvironmentSetting
Имя | Описание | Значение |
---|---|---|
name | Имя переменной среды. | строка (обязательно) |
значение | Значение переменной среды. | строка |
ResourceFile
Имя | Описание | Значение |
---|---|---|
autoStorageContainerName | Свойства autoStorageContainerName, storageContainerUrl и httpUrl являются взаимоисключающими и должны быть указаны. | строка |
blobPrefix | Свойство допустимо только при использовании autoStorageContainerName или storageContainerUrl. Этот префикс может быть частичным именем файла или подкаталогом. Если префикс не указан, будут загружены все файлы в контейнере. | строка |
fileMode | Это свойство применяется только к файлам, загружаемым на вычислительные узлы Linux. Он будет игнорироваться, если он указан для resourceFile, который будет загружен на узел Windows. Если это свойство не указано для узла Linux, к файлу применяется значение по умолчанию 0770. | строка |
filePath | Если указано свойство httpUrl, filePath является обязательным и описывает путь, по которому будет скачан файл, включая имя файла. В противном случае, если указано свойство autoStorageContainerName или storageContainerUrl, filePath является необязательным и является каталогом для скачивания файлов. В случае, когда filePath используется в качестве каталога, любая структура каталогов, уже связанная с входными данными, будет полностью сохранена и добавлена в указанный каталог filePath. Указанный относительный путь не может вырваться из рабочего каталога задачи (например, с помощью ..). | строка |
httpUrl | Свойства autoStorageContainerName, storageContainerUrl и httpUrl являются взаимоисключающими и должны быть указаны. Если URL-адрес Хранилище BLOB-объектов Azure, он должен быть доступен для чтения с помощью анонимного доступа, то есть пакетная служба не представляет учетные данные при скачивании большого двоичного объекта. Существует два способа получить такой URL-адрес для большого двоичного объекта в службе хранилища Azure: включить подписанный URL-адрес (SAS), предоставляющий разрешения на чтение большого двоичного объекта, или задать ACL для большого двоичного объекта или его контейнера, чтобы разрешить общий доступ. | строка |
storageContainerUrl | Свойства autoStorageContainerName, storageContainerUrl и httpUrl являются взаимоисключающими и должны быть указаны. Этот URL-адрес должен быть удобочитаемым и содержать список с помощью анонимного доступа; то есть пакетная служба не представляет учетные данные при скачивании большого двоичного объекта. Существует два способа получить такой URL-адрес для большого двоичного объекта в службе хранилища Azure: включить подписанный URL-адрес (SAS), предоставляющий разрешения на чтение и перечисление большого двоичного объекта, или задать ACL для большого двоичного объекта или его контейнера, чтобы разрешить общий доступ. | строка |
UserIdentity
Имя | Описание | Значение |
---|---|---|
autoUser | Свойства userName и autoUser являются взаимоисключающими; Необходимо указать один, но не оба. | AutoUserSpecification |
userName | Свойства userName и autoUser являются взаимоисключающими; Необходимо указать один, но не оба. | строка |
AutoUserSpecification
Имя | Описание | Значение |
---|---|---|
elevationLevel | Значение по умолчанию — nonAdmin. | "Администратор" NonAdmin |
область | Значение по умолчанию — Pool. Если пул работает под управлением Windows, следует указать значение Task, если требуется более строгая изоляция между задачами. Например, если задача изменяет реестр таким образом, что может повлиять на другие задачи, или если в пуле указаны сертификаты, которые не должны быть доступны обычным задачам, но должны быть доступны при запуске задач. | 'Pool' "Задача" |
TaskSchedulingPolicy
Имя | Описание | Значение |
---|---|---|
nodeFillType | Порядок распределения задач между вычислительными узлами. | 'Pack' "Spread" (обязательно) |
UserAccount
Имя | Описание | Значение |
---|---|---|
elevationLevel | nonAdmin — автоматический пользователь является обычным пользователем без повышенных прав доступа. admin — автоматический пользователь является пользователем с повышенным уровнем доступа и работает с полными разрешениями администратора. Значение по умолчанию — nonAdmin. | 'Администратор' NonAdmin |
linuxUserConfiguration | Это свойство игнорируется, если оно указано в пуле Windows. Если не указано, пользователь создается с параметрами по умолчанию. | LinuxUserConfiguration |
name | Имя учетной записи пользователя. | string (обязательно) |
password | Пароль для учетной записи пользователя. | string (обязательно) |
windowsUserConfiguration | Это свойство можно указать, только если пользователь находится в пуле Windows. Если не указано и в пуле Windows, пользователь создается с параметрами по умолчанию. | WindowsUserConfiguration |
LinuxUserConfiguration
Имя | Описание | Значение |
---|---|---|
gid | Свойства uid и gid должны указываться вместе или не указываться вообще. Если значение не указано, базовая операционная система выбирает gid. | INT |
sshPrivateKey | Закрытый ключ не должен быть защищен паролем. Закрытый ключ используется для автоматической настройки проверки подлинности на основе асимметричного ключа для SSH между узлами в пуле Linux, если свойство enableInterNodeCommunication пула имеет значение true (оно игнорируется, если enableInterNodeCommunication имеет значение false). Это можно сделать, поместив пару ключей в SSH-каталог пользователя. Если этот параметр не указан, SSH без пароля не настраивается между узлами (не выполняется никаких изменений в каталоге SSH пользователя). | строка |
uid | Свойства uid и gid должны указываться вместе или не указываться вообще. Если значение не указано, базовая операционная система выбирает пользовательский интерфейс. | INT |
WindowsUserConfiguration
Имя | Описание | Значение |
---|---|---|
loginMode | Задает режим входа для пользователя. По умолчанию для пулов VirtualMachineConfiguration используется интерактивный режим, а для пулов CloudServiceConfiguration — пакетный режим. | Пакетная служба "Интерактивный" |
Шаблоны быстрого запуска
Следующие шаблоны быстрого запуска развертывают этот тип ресурса.
Шаблон | Описание |
---|---|
пакетная служба Azure пул без общедоступных IP-адресов |
Этот шаблон создает пакетная служба Azure упрощенный пул обмена данными с узлами без общедоступных IP-адресов. |
Определение ресурса Terraform (поставщик AzAPI)
Тип ресурса batchAccounts/pools можно развернуть в следующих объектах:
- Группы ресурсов
Список измененных свойств в каждой версии API см. в журнале изменений.
Формат ресурсов
Чтобы создать ресурс Microsoft.Batch/batchAccounts/pools, добавьте следующую terraform в шаблон.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Batch/batchAccounts/pools@2021-01-01"
name = "string"
parent_id = "string"
identity {
type = "UserAssigned"
identity_ids = []
}
body = jsonencode({
properties = {
applicationLicenses = [
"string"
]
applicationPackages = [
{
id = "string"
version = "string"
}
]
certificates = [
{
id = "string"
storeLocation = "string"
storeName = "string"
visibility = [
"string"
]
}
]
deploymentConfiguration = {
cloudServiceConfiguration = {
osFamily = "string"
osVersion = "string"
}
virtualMachineConfiguration = {
containerConfiguration = {
containerImageNames = [
"string"
]
containerRegistries = [
{
password = "string"
registryServer = "string"
username = "string"
}
]
type = "DockerCompatible"
}
dataDisks = [
{
caching = "string"
diskSizeGB = int
lun = int
storageAccountType = "string"
}
]
diskEncryptionConfiguration = {
targets = [
"string"
]
}
extensions = [
{
autoUpgradeMinorVersion = bool
name = "string"
provisionAfterExtensions = [
"string"
]
publisher = "string"
type = "string"
typeHandlerVersion = "string"
}
]
imageReference = {
id = "string"
offer = "string"
publisher = "string"
sku = "string"
version = "string"
}
licenseType = "string"
nodeAgentSkuId = "string"
nodePlacementConfiguration = {
policy = "string"
}
windowsConfiguration = {
enableAutomaticUpdates = bool
}
}
}
displayName = "string"
interNodeCommunication = "string"
metadata = [
{
name = "string"
value = "string"
}
]
mountConfiguration = [
{
azureBlobFileSystemConfiguration = {
accountKey = "string"
accountName = "string"
blobfuseOptions = "string"
containerName = "string"
relativeMountPath = "string"
sasKey = "string"
}
azureFileShareConfiguration = {
accountKey = "string"
accountName = "string"
azureFileUrl = "string"
mountOptions = "string"
relativeMountPath = "string"
}
cifsMountConfiguration = {
mountOptions = "string"
password = "string"
relativeMountPath = "string"
source = "string"
username = "string"
}
nfsMountConfiguration = {
mountOptions = "string"
relativeMountPath = "string"
source = "string"
}
}
]
networkConfiguration = {
endpointConfiguration = {
inboundNatPools = [
{
backendPort = int
frontendPortRangeEnd = int
frontendPortRangeStart = int
name = "string"
networkSecurityGroupRules = [
{
access = "string"
priority = int
sourceAddressPrefix = "string"
sourcePortRanges = [
"string"
]
}
]
protocol = "string"
}
]
}
publicIPAddressConfiguration = {
ipAddressIds = [
"string"
]
provision = "string"
}
subnetId = "string"
}
scaleSettings = {
autoScale = {
evaluationInterval = "string"
formula = "string"
}
fixedScale = {
nodeDeallocationOption = "string"
resizeTimeout = "string"
targetDedicatedNodes = int
targetLowPriorityNodes = int
}
}
startTask = {
commandLine = "string"
containerSettings = {
containerRunOptions = "string"
imageName = "string"
registry = {
password = "string"
registryServer = "string"
username = "string"
}
workingDirectory = "string"
}
environmentSettings = [
{
name = "string"
value = "string"
}
]
maxTaskRetryCount = int
resourceFiles = [
{
autoStorageContainerName = "string"
blobPrefix = "string"
fileMode = "string"
filePath = "string"
httpUrl = "string"
storageContainerUrl = "string"
}
]
userIdentity = {
autoUser = {
elevationLevel = "string"
scope = "string"
}
userName = "string"
}
waitForSuccess = bool
}
taskSchedulingPolicy = {
nodeFillType = "string"
}
taskSlotsPerNode = int
userAccounts = [
{
elevationLevel = "string"
linuxUserConfiguration = {
gid = int
sshPrivateKey = "string"
uid = int
}
name = "string"
password = "string"
windowsUserConfiguration = {
loginMode = "string"
}
}
]
vmSize = "string"
}
})
}
Значения свойств
batchAccounts/pools
Имя | Описание | Значение |
---|---|---|
тип | Тип ресурса | "Microsoft.Batch/batchAccounts/pools@2021-01-01" |
name | имя ресурса. | string (обязательно) Ограничение символов: 1–64 Допустимые символы: Буквенно-цифровые символы, символы подчеркивания и дефисы. |
parent_id | Идентификатор ресурса, который является родительским для этого ресурса. | Идентификатор ресурса типа: batchAccounts |
удостоверение | Тип удостоверения, используемого для пула пакетной службы. | BatchPoolIdentity |
properties | Свойства, связанные с пулом. | Свойства пула |
BatchPoolIdentity
Имя | Описание | Значение |
---|---|---|
тип | Тип удостоверения, используемого для пула пакетной службы. | UserAssigned (обязательно) |
identity_ids | Список удостоверений пользователей, связанных с пулом пакетной службы. Ссылки на ключи словаря удостоверений пользователей будут иметь идентификаторы ресурсов ARM в форме: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". | Массив идентификаторов удостоверений пользователей. |
Свойства пула
Имя | Описание | Значение |
---|---|---|
applicationLicenses | Список лицензий приложений должен быть подмножеством доступных лицензий на приложения пакетной службы. Если запрашивается лицензия, которая не поддерживается, создание пула завершится ошибкой. | string[] |
applicationPackages | Изменения ссылок на пакеты приложений влияют на все новые вычислительные узлы, присоединяющиеся к пулу, но не влияют на вычислительные узлы, которые уже находятся в пуле, пока они не будут перезагружены или переосмыслены. Существует не более 10 ссылок на пакеты приложений в любом заданном пуле. | ApplicationPackageReference[] |
certificates | Для вычислительных узлов Windows пакетная служба устанавливает сертификаты в указанное хранилище сертификатов и расположение. Для вычислительных узлов Linux сертификаты хранятся в каталоге в рабочем каталоге задачи, а переменная среды AZ_BATCH_CERTIFICATES_DIR предоставляется задаче для запроса этого расположения. Для сертификатов с видимостью remoteUser каталог certs создается в домашнем каталоге пользователя (например, /home/{user-name}/certs), и сертификаты помещаются в этот каталог. | CertificateReference[] |
deploymentConfiguration | Использование CloudServiceConfiguration указывает, что узлы должны создаваться с помощью Azure Облачные службы (PaaS), а VirtualMachineConfiguration использует Azure Виртуальные машины (IaaS). | DeploymentConfiguration |
displayName | Отображаемое имя не должно быть уникальным и может содержать любые символы Юникода длиной до 1024. | строка |
interNodeCommunication | Это накладывает ограничения на то, какие узлы могут быть назначены пулу. Включение этого значения может снизить вероятность выделения запрошенного количества узлов в пуле. Если этот параметр не указан, по умолчанию используется значение "Отключено". | "Отключено" "Включено" |
метаданные | Пакетная служба не присваивает метаданным никакого значения; он предназначен исключительно для использования пользовательского кода. | MetadataItem[] |
mountConfiguration | Это поддерживает Файлы Azure, NFS, CIFS/SMB и Blobfuse. | MountConfiguration[] |
networkConfiguration | Конфигурация сети для пула. | NetworkConfiguration |
scaleSettings | Определяет требуемый размер пула. Это может быть либо fixedScale, где указан запрошенный targetDedicatedNodes, либо autoScale, который определяет формулу, которая периодически вычисляется повторно. Если это свойство не указано, пул будет иметь фиксированный масштаб с 0 targetDedicatedNodes. | ScaleSettings |
startTask | В операции PATCH (обновление) этому свойству можно задать пустой объект, чтобы удалить задачу запуска из пула. | StartTask |
taskSchedulingPolicy | Если значение не указано, по умолчанию используется spread. | TaskSchedulingPolicy |
taskSlotsPerNode | Значение по умолчанию — 1. Максимальное значение — в 4 раза меньше числа ядер vmSize пула или 256. | INT |
userAccounts | Список учетных записей пользователей, создаваемых на каждом узле в пуле. | UserAccount[] |
vmSize | Сведения о доступных размерах виртуальных машин для пулов Облачные службы (пулы, созданные с помощью cloudServiceConfiguration), см. в статье Размеры для Облачные службы (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Пакетная служба поддерживает все Облачные службы размеры виртуальных машин, кроме ExtraSmall. Сведения о доступных размерах виртуальных машин для пулов, использующих образы из Виртуальные машины Marketplace (пулы, созданные с помощью virtualMachineConfiguration) см. в статье Размеры для Виртуальные машины (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) или Размеры для Виртуальные машины (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Пакетная служба поддерживает все размеры виртуальных машин Azure, кроме STANDARD_A0 и виртуальных машин с хранилищем класса Premium (STANDARD_GS, STANDARD_DS и STANDARD_DSV2 серии). | строка |
ApplicationPackageReference
Имя | Описание | Значение |
---|---|---|
идентификатор | Идентификатор устанавливаемого пакета приложения. Он должен находиться в той же учетной записи пакетной службы, что и пул. Это может быть ссылка на определенную версию или версия по умолчанию, если она существует. | string (обязательно) |
version | Если этот параметр опущен и для этого приложения не указана версия по умолчанию, запрос завершается ошибкой с кодом InvalidApplicationPackageReferences. Если вы вызываете REST API напрямую, код состояния HTTP — 409. | строка |
CertificateReference
Имя | Описание | Значение |
---|---|---|
идентификатор | Полный идентификатор сертификата, устанавливаемого в пуле. Он должен находиться в той же учетной записи пакетной службы, что и пул. | string (обязательно) |
storeLocation | Значение по умолчанию — currentUser. Это свойство применимо только для пулов, настроенных с узлами Windows (т. е. созданными с помощью cloudServiceConfiguration или virtualMachineConfiguration с помощью ссылки на образ Windows). Для вычислительных узлов Linux сертификаты хранятся в каталоге в рабочем каталоге задачи, а переменная среды AZ_BATCH_CERTIFICATES_DIR предоставляется задаче для запроса этого расположения. Для сертификатов с видимостью remoteUser каталог certs создается в домашнем каталоге пользователя (например, /home/{user-name}/certs), и сертификаты помещаются в этот каталог. | "CurrentUser" "LocalMachine" |
storeName | Это свойство применимо только для пулов, настроенных с узлами Windows (т. е. созданными с помощью cloudServiceConfiguration или virtualMachineConfiguration с помощью ссылки на образ Windows). К общим именам хранилищ относятся: My, Root, CA, Trust, Запрещено, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, но также можно использовать любое пользовательское имя хранилища. Значение по умолчанию - «My». | строка |
видимость | Какие учетные записи пользователей на вычислительном узле должны иметь доступ к частным данным сертификата. | Массив строк, содержащий любой из: RemoteUser StartTask "Задача" |
DeploymentConfiguration
Имя | Описание | Значение |
---|---|---|
cloudServiceConfiguration | Это свойство и virtualMachineConfiguration являются взаимоисключающими, и необходимо указать одно из свойств. Это свойство нельзя указать, если учетная запись пакетной службы была создана с ее свойством poolAllocationMode, для параметра задано значение UserSubscription. | CloudServiceConfiguration |
virtualMachineConfiguration | Это свойство и cloudServiceConfiguration являются взаимоисключающими, и необходимо указать одно из свойств. | VirtualMachineConfiguration |
CloudServiceConfiguration
Имя | Описание | Значение |
---|---|---|
osFamily | Возможные значения: 2 — семейство ОС 2, эквивалентное Windows Server 2008 R2 с пакетом обновления 1 (SP1). 3 — семейство ОС 3, эквивалентное Windows Server 2012. 4 — семейство ОС 4, эквивалентное Windows Server 2012 R2. 5 — семейство ОС 5, эквивалентное Windows Server 2016. 6 — семейство ОС 6, эквивалентное Windows Server 2019. Дополнительные сведения см. в статье Выпуски гостевой ОС Azure (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases). | string (обязательно) |
osVersion | Значение по умолчанию — *, указывающее последнюю версию операционной системы для указанного семейства ОС. | строка |
VirtualMachineConfiguration
Имя | Описание | Значение |
---|---|---|
containerConfiguration | Если этот параметр указан, настройка выполняется на каждом узле в пуле, чтобы разрешить выполнение задач в контейнерах. Все обычные задачи и задачи диспетчера заданий, выполняемые в этом пуле, должны указывать свойство containerSettings, а все остальные задачи могут указывать его. | ContainerConfiguration |
dataDisks | Это свойство необходимо указать, если к вычислительным узлам в пуле должны быть подключены пустые диски данных. | DataDisk[] |
diskEncryptionConfiguration | Если этот параметр указан, шифрование выполняется на каждом узле в пуле во время подготовки узла. | DiskEncryptionConfiguration |
extensions | Если он указан, расширения, упомянутые в этой конфигурации, будут установлены на каждом узле. | VMExtension[] |
imageReference | Ссылка на образ Azure Виртуальные машины Marketplace или ресурс образа Azure пользовательской виртуальной машины. Чтобы получить список всех объектов imageReferences, проверенных пакетная служба Azure, см. операцию "Перечисление поддерживаемых номеров SKU агента узла". | ImageReference (обязательно) |
licenseType | Это относится только к образам, содержащим операционную систему Windows, и должно использоваться только при наличии действительных локальных лицензий для узлов, которые будут развернуты. Если этот параметр опущен, скидка на локальное лицензирование не применяется. Возможны следующие значения. Windows_Server — локальная лицензия для Windows Server. Windows_Client — локальная лицензия для клиента Windows. |
строка |
nodeAgentSkuId | Агент узла пакетной службы — это программа, которая выполняется на каждом узле в пуле и предоставляет интерфейс команд и управления между узлом и пакетной службой. Существуют различные реализации агента узла, известные как номера SKU, для различных операционных систем. Необходимо указать номер SKU агента узла, соответствующий выбранной ссылке на образ. Чтобы получить список поддерживаемых номеров SKU агента узла и список проверенных ссылок на образы, см. операцию "Список поддерживаемых номеров SKU агента узла". | string (обязательно) |
nodePlacementConfiguration | В этой конфигурации будут указаны правила физического распределения узлов в пуле. | NodePlacementConfiguration |
windowsConfiguration | Это свойство не должно указываться, если imageReference указывает образ ОС Linux. | WindowsConfiguration |
ContainerConfiguration
Имя | Описание | Значение |
---|---|---|
containerImageNames | Это полная ссылка на образ, как указано для docker pull. Образ будет получен из реестра Docker по умолчанию, если образ не является полным с альтернативным реестром. | string[] |
containerRegistries | Если какие-либо образы должны быть загружены из частного реестра, для которого требуются учетные данные, эти учетные данные должны быть предоставлены здесь. | ContainerRegistry[] |
тип | Используемая технология контейнера. | "DockerCompatible" (обязательно) |
Реестр контейнеров
Имя | Описание | Значение |
---|---|---|
password | Пароль для входа на сервер реестра. | string (обязательно) |
registryServer | Если этот параметр опущен, по умолчанию используется значение "docker.io". | строка |
username | Имя пользователя для входа на сервер реестра. | string (обязательно) |
DataDisk
Имя | Описание | Значение |
---|---|---|
кэширование | Доступны следующие значения: none — режим кэширования для диска не включен. readOnly — режим кэширования для диска доступен только для чтения. readWrite — режим кэширования для диска — чтение и запись. Значение по умолчанию для кэширования — none. Сведения о параметрах кэширования см. в следующих разделах: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. |
"None" ReadOnly ReadWrite |
diskSizeGB | Начальный размер диска в ГБ при создании нового диска данных. | int (обязательно) |
lun | Lun используется для уникальной идентификации каждого диска данных. При подключении нескольких дисков каждый должен иметь отдельный lun. Значение должно находиться в диапазоне от 0 до 63 включительно. | int (обязательно) |
storageAccountType | Если этот параметр опущен, значение по умолчанию — "Standard_LRS". Доступны следующие значения: Standard_LRS — диск данных должен использовать стандартное локально избыточное хранилище. Premium_LRS — диск данных должен использовать локально избыточное хранилище уровня "Премиум". |
"Premium_LRS" "Standard_LRS" |
DiskEncryptionConfiguration
Имя | Описание | Значение |
---|---|---|
целевые объекты | В пуле Linux поддерживается только "TemporaryDisk"; В пуле Windows необходимо указать "OsDisk" и "TemporaryDisk". | Массив строк, содержащий любой из: "OsDisk" "TemporaryDisk" |
VmExtension
Имя | Описание | Значение |
---|---|---|
autoUpgradeMinorVersion | Указывает, должно ли расширение использовать более новую дополнительную версию, если она доступна во время развертывания. Однако после развертывания расширение не будет обновляться до дополнительных версий, кроме случаев повторного развертывания, даже если это свойство имеет значение true. | bool |
name | Имя расширения виртуальной машины. | string (обязательно) |
protectedSettings | Расширение может содержать protectedSettings или protectedSettingsFromKeyVault или вообще не иметь защищенных параметров. | |
provisionAfterExtensions | Коллекция имен расширений, после которых необходимо подготовить это расширение. | string[] |
publisher | Имя издателя обработчика расширений. | string (обязательно) |
Параметры | Общедоступные параметры расширения в формате JSON. | |
тип | Тип расширений. | string (обязательно) |
typeHandlerVersion | Версия обработчика скрипта. | строка |
ImageReference
Имя | Описание | Значение |
---|---|---|
идентификатор | Это свойство является взаимоисключающим с другими свойствами. Образ Общая коллекция образов должен иметь реплики в том же регионе, что и учетная запись пакетная служба Azure. Сведения о параметрах брандмауэра для взаимодействия агента узла пакетной службы с пакетной службой см. в разделе /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration. | строка |
offer | Например, UbuntuServer или WindowsServer. | строка |
publisher | Например, Canonical или MicrosoftWindowsServer. | строка |
sku | Например, 18.04-LTS или 2019-Datacenter. | строка |
version | Чтобы выбрать последнюю версию образа, можно указать значение latest. Если этот параметр опущен, по умолчанию используется значение latest. | строка |
NodePlacementConfiguration
Имя | Описание | Значение |
---|---|---|
policy | Политика выделения, используемая пакетной службой для подготовки узлов. Если этот параметр не указан, пакетная служба будет использовать региональную политику. | "Региональный" "Зональный" |
WindowsConfiguration
Имя | Описание | Значение |
---|---|---|
enableAutomaticUpdates | Если этот параметр опущен, значение по умолчанию — true. | bool |
MetadataItem
Имя | Описание | Значение |
---|---|---|
name | Имя элемента метаданных. | строка (обязательно) |
значение | Значение элемента метаданных. | строка (обязательно) |
MountConfiguration
Имя | Описание | Значение |
---|---|---|
azureBlobFileSystemConfiguration | Это свойство является взаимоисключающим со всеми другими свойствами. | AzureBlobFileSystemConfiguration |
azureFileShareConfiguration | Это свойство является взаимоисключающим со всеми другими свойствами. | AzureFileShareConfiguration |
cifsMountConfiguration | Это свойство является взаимоисключающим со всеми другими свойствами. | CifsMountConfiguration |
nfsMountConfiguration | Это свойство является взаимоисключающим со всеми другими свойствами. | NFSMountConfiguration |
AzureBlobFileSystemConfiguration
Имя | Описание | Значение |
---|---|---|
accountKey | Это свойство является взаимоисключающим с sasKey, и его необходимо указать. | строка |
accountName | Имя учетной записи хранения Azure. | строка (обязательно) |
blobfuseOptions | Это параметры net use в Windows и параметры подключения в Linux. | строка |
containerName | Имя контейнера Хранилище BLOB-объектов Azure. | строка (обязательно) |
relativeMountPath | Все файловые системы подключаются относительно каталога подключений пакетной службы, доступ к которым можно получить через переменную среды AZ_BATCH_NODE_MOUNTS_DIR. | строка (обязательно) |
sasKey | Это свойство является взаимоисключающим с accountKey, и его необходимо указать. | строка |
AzureFileShareConfiguration
Имя | Описание | Значение |
---|---|---|
accountKey | Ключ учетной записи хранения Azure. | строка (обязательно) |
accountName | Имя учетной записи хранения Azure. | строка (обязательно) |
azureFileUrl | Имеет вид "https://{account}.file.core.windows.net/". | строка (обязательно) |
mountOptions | Это параметры net use в Windows и параметры подключения в Linux. | строка |
relativeMountPath | Все файловые системы подключаются относительно каталога подключений пакетной службы, доступ к которым можно получить через переменную среды AZ_BATCH_NODE_MOUNTS_DIR. | строка (обязательно) |
CifsMountConfiguration
Имя | Описание | Значение |
---|---|---|
mountOptions | Это параметры net use в Windows и параметры подключения в Linux. | строка |
password | Пароль, используемый для проверки подлинности в файловой системе CIFS. | строка (обязательно) |
relativeMountPath | Все файловые системы подключаются относительно каталога подключений пакетной службы, доступ к которым можно получить через переменную среды AZ_BATCH_NODE_MOUNTS_DIR. | строка (обязательно) |
source | Универсальный код ресурса (URI) подключаемой файловой системы. | строка (обязательно) |
username | Пользователь, используемый для проверки подлинности в файловой системе CIFS. | строка (обязательно) |
NFSMountConfiguration
Имя | Описание | Значение |
---|---|---|
mountOptions | Это параметры net use в Windows и параметры подключения в Linux. | строка |
relativeMountPath | Все файловые системы подключаются относительно каталога подключений пакетной службы, доступ к которым можно получить через переменную среды AZ_BATCH_NODE_MOUNTS_DIR. | строка (обязательно) |
source | Универсальный код ресурса (URI) подключаемой файловой системы. | string (обязательно) |
NetworkConfiguration
Имя | Описание | Значение |
---|---|---|
endpointConfiguration | Конфигурация конечной точки пула поддерживается только в пулах со свойством virtualMachineConfiguration. | PoolEndpointConfiguration |
publicIPAddressConfiguration | Это свойство поддерживается только в пулах со свойством virtualMachineConfiguration. | PublicIPAddressConfiguration |
subnetId | Виртуальная сеть должна находиться в том же регионе и подписке, что и учетная запись пакетная служба Azure. Указанная подсеть должна иметь достаточно свободных IP-адресов для размещения количества узлов в пуле. Если в подсети недостаточно свободных IP-адресов, пул частично выделит вычислительные узлы и возникнет ошибка изменения размера. Субъект-служба MicrosoftAzureBatch должен иметь роль "Участник классической виртуальной машины" Role-Based контроль доступа (RBAC) для указанной виртуальной сети. Указанная подсеть должна разрешать взаимодействие со службой пакетная служба Azure, чтобы иметь возможность планировать задачи на вычислительных узлах. Это можно проверить, если указанная виртуальная сеть имеет какие-либо связанные группы безопасности сети (NSG). Если группа безопасности сети запрещает обмен данными с вычислительными узлами в указанной подсети, пакетная служба установит состояние вычислительных узлов в непригодное для использования. Если у виртуальной сети есть связанные группы безопасности сети (NSG), необходимо включить несколько зарезервированных системных портов для входящего трафика. Для пулов, созданных с помощью конфигурации виртуальной машины, включите порты 29876 и 29877, а также порт 22 для Linux и порт 3389 для Windows. Для пулов, созданных с помощью конфигурации облачной службы, включите порты 10100, 20100 и 30100. Также включите исходящие подключения к службе хранилища Azure через порт 443. Для пулов cloudServiceConfiguration поддерживаются только классические виртуальные сети. Дополнительные сведения см. в разделе /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration. | строка |
PoolEndpointConfiguration
Имя | Описание | Значение |
---|---|---|
inboundNatPools | Максимальное число входящих пулов NAT на пул пакетной службы составляет 5. Если превышено максимальное количество входящих пулов NAT, запрос завершается ошибкой с кодом состояния HTTP 400. Этот параметр нельзя указать, если ipAddressProvisioningType имеет значение NoPublicIPAddresses. | InboundNatPool[] (обязательно) |
InboundNatPool
Имя | Описание | Значение |
---|---|---|
backendPort | Он должен быть уникальным в пределах пула пакетной службы. Допустимые значения находятся в диапазоне от 1 до 65535, за исключением 22, 3389, 29876 и 29877, так как они зарезервированы. Если указаны какие-либо зарезервированные значения, запрос завершается ошибкой с кодом состояния HTTP 400. | int (обязательно) |
frontendPortRangeEnd | Допустимые значения находятся в диапазоне от 1 до 65534, за исключением портов от 50000 до 55000, зарезервированных пакетной службой. Все диапазоны в пуле должны быть отдельными и не могут перекрываться. Если указаны зарезервированные или перекрывающиеся значения, запрос завершается ошибкой с кодом состояния HTTP 400. | int (обязательно) |
frontendPortRangeStart | Допустимые значения находятся в диапазоне от 1 до 65534, за исключением зарезервированных портов от 50 000 до 55 000. Все диапазоны в пуле должны быть отдельными и не могут перекрываться. Если указаны зарезервированные или перекрывающиеся значения, запрос завершается ошибкой с кодом состояния HTTP 400. | int (обязательно) |
name | Имя должно быть уникальным в пределах пула пакетной службы, может содержать буквы, цифры, символы подчеркивания, точки и дефисы. Имена должны начинаться с буквы или цифры, заканчиваться буквой, цифрой или подчеркиванием и не могут превышать 77 символов. Если указаны недопустимые значения, запрос завершается ошибкой с кодом состояния HTTP 400. | string (обязательно) |
networkSecurityGroupRules | Максимальное количество правил, которые можно указать во всех конечных точках пула пакетной службы, равно 25. Если правила группы безопасности сети не указаны, будет создано правило по умолчанию, разрешающее входящий доступ к указанному внутреннему порту. Если превышено максимальное число правил группы безопасности сети, запрос завершается ошибкой с кодом состояния HTTP 400. | NetworkSecurityGroupRule[] |
protocol | Протокол конечной точки. | "TCP" "UDP" (обязательно) |
NetworkSecurityGroupRule
Имя | Описание | Значение |
---|---|---|
access | Действие, которое необходимо выполнить для указанного IP-адреса, диапазона подсети или тега. | "Разрешить" "Deny" (обязательно) |
priority | Приоритеты в пуле должны быть уникальными и оцениваться в порядке приоритета. Чем меньше число, тем выше приоритет. Например, правила можно указать с номерами порядка 150, 250 и 350. Правило с порядком 150 имеет приоритет над правилом, которое имеет порядок 250. Допустимые приоритеты — от 150 до 4096. Если указаны зарезервированные или повторяющиеся значения, запрос завершается ошибкой с кодом состояния HTTP 400. | int (обязательно) |
sourceAddressPrefix | Допустимые значения: один IP-адрес (т. е. 10.10.10), IP-подсеть (т. е. 192.168.1.0/24), тег по умолчанию или * (для всех адресов). Если предоставляются какие-либо другие значения, запрос завершается ошибкой с кодом состояния HTTP 400. | string (обязательно) |
sourcePortRanges | Допустимые значения: "*" (для всех портов от 0 до 65535) или массивы портов или диапазоны портов (т. е. 100–200). Порты должны находиться в диапазоне от 0 до 65535, а диапазоны портов или порты не могут перекрываться. Если предоставляются какие-либо другие значения, запрос завершается ошибкой с кодом состояния HTTP 400. Значение по умолчанию — *. | string[] |
PublicIPAddressConfiguration
Имя | Описание | Значение |
---|---|---|
ipAddressIds | Указанное здесь число IP-адресов ограничивает максимальный размер пула: для каждого общедоступного IP-адреса можно выделить 100 выделенных узлов или 100 низкоприоритетных узлов. Например, для пула, требующего 250 выделенных виртуальных машин, потребуется по крайней мере 3 общедоступных IP-адреса. Каждый элемент этой коллекции имеет следующий вид: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}. | string[] |
provision | Значение по умолчанию — BatchManaged. | "BatchManaged" "NoPublicIPAddresses" "UserManaged" |
ScaleSettings
Имя | Описание | Значение |
---|---|---|
Автомасштабирование | Это свойство и fixedScale являются взаимоисключающими, и необходимо указать одно из свойств. | Параметры автомасштабирования |
fixedScale | Это свойство и автомасштабирование являются взаимоисключающими, и необходимо указать одно из свойств. | FixedScaleSettings |
Параметры автомасштабирования
Имя | Описание | Значение |
---|---|---|
evaluationInterval | Если этот параметр опущен, значение по умолчанию — 15 минут (PT15M). | строка |
formula | Формула для требуемого количества вычислительных узлов в пуле. | string (обязательно) |
FixedScaleSettings
Имя | Описание | Значение |
---|---|---|
nodeDeallocationOption | Если этот параметр опущен, по умолчанию используется значение Requeue. | "Requeue" "RetainedData" "TaskCompletion" "Завершить" |
resizeTimeout | Значение по умолчанию — 15 минут. Значения времени ожидания используют формат ISO 8601. Например, используйте PT10M в течение 10 минут. Минимальное значение — 5 минут. Если указать значение меньше 5 минут, пакетная служба отклоняет запрос с ошибкой; Если вы вызываете REST API напрямую, код состояния HTTP — 400 (недопустимый запрос). | строка |
targetDedicatedNodes | Необходимо задать хотя бы один из targetDedicatedNodes, targetLowPriorityNodes. | INT |
targetLowPriorityNodes | Необходимо задать хотя бы один из targetDedicatedNodes, targetLowPriorityNodes. | INT |
StartTask
Имя | Описание | Значение |
---|---|---|
commandLine | Командная строка не выполняется в оболочке и поэтому не может использовать преимущества таких функций оболочки, как расширение переменной среды. Если вы хотите воспользоваться преимуществами таких функций, следует вызвать оболочку в командной строке, например с помощью cmd /c MyCommand в Windows или /bin/sh -c MyCommand в Linux. Требуется, если указаны какие-либо другие свойства startTask. | строка |
containerSettings | Если этот параметр указан, все каталоги рекурсивно под AZ_BATCH_NODE_ROOT_DIR (корневой каталог пакетная служба Azure на узле) сопоставляются с контейнером, все переменные среды задач сопоставляются с контейнером, а командная строка задачи выполняется в контейнере. | TaskContainerSettings |
environmentSettings | Список параметров переменных среды для задачи запуска. | EnvironmentSetting[] |
maxTaskRetryCount | Пакетная служба пытается выполнить задачу повторно, если ее код выхода имеет ненулевое значение. Обратите внимание, что это значение определяет количество повторных попыток. Пакетная служба попытается выполнить задачу один раз, а затем будет предпринимать повторные попытки вплоть до этого предела. Например, если максимальное число повторных попыток равно 3, пакетная служба пытается выполнить задачу до 4 раз (одна начальная попытка и 3 повторных попытки). Если максимальное число повторных попыток равно 0, пакетная служба не повторяет задачу. Если максимальное число повторных попыток равно -1, пакетная служба повторяет задачу без ограничений. | INT |
resourceFiles | Список файлов, которые пакетная служба скачает на вычислительный узел перед запуском командной строки. | ResourceFile[] |
userIdentity | Если этот параметр опущен, задача выполняется от имени пользователя, не являющегося администратором, уникальным для задачи. | UserIdentity |
waitForSuccess | Если задано значение true и задача запуска завершается сбоем на вычислительном узле, пакетная служба повторяет попытку запуска до максимального количества повторных попыток (maxTaskRetryCount). Если задача по-прежнему не была успешно завершена после всех повторных попыток, пакетная служба пометит вычислительный узел непригодным для использования и не будет планировать задачи для него. Это условие можно определить с помощью сведений о состоянии узла и сведений об ошибке планирования. Если значение равно false, пакетная служба не будет ждать завершения задачи запуска. В этом случае другие задачи могут начать выполнение на вычислительном узле, пока задача запуска все еще выполняется; и даже в случае сбоя задачи запуска новые задачи будут по-прежнему планироваться на узле. Значение по умолчанию — true. | bool |
TaskContainerSettings
Имя | Описание | Значение |
---|---|---|
containerRunOptions | Эти дополнительные параметры предоставляются в качестве аргументов для команды docker create в дополнение к тем, которые управляются пакетной службой. | строка |
imageName | Это полная ссылка на образ, как указано для docker pull. Если в имени образа нет тега, по умолчанию используется тег ":latest". | string (обязательно) |
реестр | Этот параметр можно опустить, если он уже был указан при создании пула. | Реестр контейнеров |
WorkingDirectory | Флаг, указывающий, где находится рабочий каталог задачи контейнера. Значение по умолчанию — taskWorkingDirectory. | ContainerImageDefault TaskWorkingDirectory |
EnvironmentSetting
Имя | Описание | Значение |
---|---|---|
name | Имя переменной среды. | строка (обязательно) |
значение | Значение переменной среды. | строка |
ResourceFile
Имя | Описание | Значение |
---|---|---|
autoStorageContainerName | Свойства autoStorageContainerName, storageContainerUrl и httpUrl являются взаимоисключающими и должны быть указаны. | строка |
blobPrefix | Свойство допустимо только при использовании autoStorageContainerName или storageContainerUrl. Этот префикс может быть частичным именем файла или подкаталогом. Если префикс не указан, будут загружены все файлы в контейнере. | строка |
fileMode | Это свойство применяется только к файлам, загружаемым на вычислительные узлы Linux. Он будет игнорироваться, если он указан для resourceFile, который будет загружен на узел Windows. Если это свойство не указано для узла Linux, к файлу применяется значение по умолчанию 0770. | строка |
filePath | Если указано свойство httpUrl, filePath является обязательным и описывает путь, по которому будет скачан файл, включая имя файла. В противном случае, если указано свойство autoStorageContainerName или storageContainerUrl, filePath является необязательным и является каталогом для скачивания файлов. В случае, когда filePath используется в качестве каталога, любая структура каталогов, уже связанная с входными данными, будет полностью сохранена и добавлена в указанный каталог filePath. Указанный относительный путь не может вырваться из рабочего каталога задачи (например, с помощью ..). | строка |
httpUrl | Свойства autoStorageContainerName, storageContainerUrl и httpUrl являются взаимоисключающими и должны быть указаны. Если URL-адрес Хранилище BLOB-объектов Azure, он должен быть доступен для чтения с помощью анонимного доступа, то есть пакетная служба не представляет учетные данные при скачивании большого двоичного объекта. Существует два способа получить такой URL-адрес для большого двоичного объекта в службе хранилища Azure: включить подписанный URL-адрес (SAS), предоставляющий разрешения на чтение большого двоичного объекта, или задать ACL для большого двоичного объекта или его контейнера, чтобы разрешить общий доступ. | строка |
storageContainerUrl | Свойства autoStorageContainerName, storageContainerUrl и httpUrl являются взаимоисключающими и должны быть указаны. Этот URL-адрес должен быть удобочитаемым и содержать список с помощью анонимного доступа; то есть пакетная служба не представляет учетные данные при скачивании большого двоичного объекта. Существует два способа получить такой URL-адрес для большого двоичного объекта в службе хранилища Azure: включить подписанный URL-адрес (SAS), предоставляющий разрешения на чтение и перечисление большого двоичного объекта, или задать ACL для большого двоичного объекта или его контейнера, чтобы разрешить общий доступ. | строка |
UserIdentity
Имя | Описание | Значение |
---|---|---|
autoUser | Свойства userName и autoUser являются взаимоисключающими; Необходимо указать один, но не оба. | AutoUserSpecification |
userName | Свойства userName и autoUser являются взаимоисключающими; Необходимо указать один, но не оба. | строка |
AutoUserSpecification
Имя | Описание | Значение |
---|---|---|
elevationLevel | Значение по умолчанию — nonAdmin. | Admin; "NonAdmin" |
область | Значение по умолчанию — Pool. Если пул работает под управлением Windows, следует указать значение Task, если требуется более строгая изоляция между задачами. Например, если задача изменяет реестр таким образом, что может повлиять на другие задачи, или если в пуле указаны сертификаты, которые не должны быть доступны обычным задачам, но должны быть доступны при запуске задач. | "Пул" "Задача" |
TaskSchedulingPolicy
Имя | Описание | Значение |
---|---|---|
nodeFillType | Распределение задач между вычислительными узлами. | "Pack" "Spread" (обязательно) |
UserAccount
Имя | Описание | Значение |
---|---|---|
elevationLevel | nonAdmin — автоматический пользователь является обычным пользователем без повышенных прав доступа. admin — автоматический пользователь является пользователем с повышенным уровнем доступа и работает с полными разрешениями администратора. Значение по умолчанию — nonAdmin. | Admin; "NonAdmin" |
linuxUserConfiguration | Это свойство игнорируется, если оно указано в пуле Windows. Если не указано, пользователь создается с параметрами по умолчанию. | LinuxUserConfiguration |
name | Имя учетной записи пользователя. | строка (обязательно) |
password | Пароль для учетной записи пользователя. | строка (обязательно) |
windowsUserConfiguration | Это свойство можно указать, только если пользователь находится в пуле Windows. Если не указано и в пуле Windows, пользователь создается с параметрами по умолчанию. | WindowsUserConfiguration |
LinuxUserConfiguration
Имя | Описание | Значение |
---|---|---|
gid | Свойства uid и gid должны указываться вместе или не указываться вообще. Если значение не указано, базовая операционная система выбирает gid. | INT |
sshPrivateKey | Закрытый ключ не должен быть защищен паролем. Закрытый ключ используется для автоматической настройки проверки подлинности на основе асимметричного ключа для SSH между узлами в пуле Linux, если свойство enableInterNodeCommunication пула имеет значение true (оно игнорируется, если enableInterNodeCommunication имеет значение false). Это делается путем помещения пары ключей в каталог SSH пользователя. Если значение не указано, SSH без пароля не настраивается между узлами (изменение каталога SSH пользователя не выполняется). | строка |
uid | Свойства uid и gid должны указываться вместе или не указываться вообще. Если значение не указано, базовая операционная система выбирает пользовательский интерфейс. | INT |
WindowsUserConfiguration
Имя | Описание | Значение |
---|---|---|
loginMode | Задает режим входа для пользователя. По умолчанию для пулов VirtualMachineConfiguration используется интерактивный режим, а для пулов CloudServiceConfiguration — пакетный режим. | "Пакетная служба" "Интерактивный" |