你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Microsoft.Batch batchAccounts/pools 2020-05-01
Bicep 资源定义
可以使用目标操作部署 batchAccounts/pools 资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Batch/batchAccounts/pools 资源,请将以下 Bicep 添加到模板。
resource symbolicname 'Microsoft.Batch/batchAccounts/pools@2020-05-01' = {
parent: resourceSymbolicName
name: 'string'
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'
]
}
imageReference: {
id: 'string'
offer: 'string'
publisher: 'string'
sku: 'string'
version: 'string'
}
licenseType: 'string'
nodeAgentSkuId: 'string'
windowsConfiguration: {
enableAutomaticUpdates: bool
}
}
}
displayName: 'string'
interNodeCommunication: 'string'
maxTasksPerNode: int
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'
}
userAccounts: [
{
elevationLevel: 'string'
linuxUserConfiguration: {
gid: int
sshPrivateKey: 'string'
uid: int
}
name: 'string'
password: 'string'
windowsUserConfiguration: {
loginMode: 'string'
}
}
]
vmSize: 'string'
}
}
属性值
ApplicationPackageReference
名字 | 描述 | 价值 |
---|---|---|
id | 要安装的应用程序包的 ID。 这必须与池位于同一批处理帐户内。 这可以是对特定版本的引用,也可以是默认版本(如果存在)。 | string (必需) |
版本 | 如果省略此项,并且没有为此应用程序指定默认版本,则请求将失败,错误代码 InvalidApplicationPackageReferences。 如果直接调用 REST API,则 HTTP 状态代码为 409。 | 字符串 |
AutoScaleSettings
名字 | 描述 | 价值 |
---|---|---|
evaluationInterval | 如果省略,则默认值为 15 分钟(PT15M)。 | 字符串 |
公式 | 池中所需计算节点数的公式。 | string (必需) |
AutoUserSpecification
名字 | 描述 | 价值 |
---|---|---|
elevationLevel | 默认值为 nonAdmin。 | “Admin” “NonAdmin” |
范围 | 默认值为 Pool。 如果池正在运行 Windows,则应指定任务值(如果需要在任务之间进行更严格的隔离)。 例如,如果任务以可能影响其他任务的方式改变注册表,或者已在池中指定了证书,而正常任务不应可访问,但应可通过启动任务访问。 | “Pool” “Task” |
AzureBlobFileSystemConfiguration
名字 | 描述 | 价值 |
---|---|---|
accountKey | 此属性与 sasKey 互斥,必须指定一个属性。 | 字符串 |
accountName | Azure 存储帐户名称。 | string (必需) |
blobfuseOptions | 这些是 Windows 中的“net use”选项,Linux 中的“装载”选项。 | 字符串 |
containerName | Azure Blob 存储容器名称。 | string (必需) |
relativeMountPath | 所有文件系统都相对于 Batch 装载目录进行装载,可通过AZ_BATCH_NODE_MOUNTS_DIR环境变量进行访问。 | string (必需) |
sasKey | 此属性与 accountKey 互斥,必须指定一个属性。 | 字符串 |
AzureFileShareConfiguration
名字 | 描述 | 价值 |
---|---|---|
accountKey | Azure 存储帐户密钥。 | string (必需) |
accountName | Azure 存储帐户名称。 | string (必需) |
azureFileUrl | 此格式为“https://{account}.file.core.windows.net/”。 | string (必需) |
mountOptions | 这些是 Windows 中的“net use”选项,Linux 中的“装载”选项。 | 字符串 |
relativeMountPath | 所有文件系统都相对于 Batch 装载目录进行装载,可通过AZ_BATCH_NODE_MOUNTS_DIR环境变量进行访问。 | string (必需) |
CertificateReference
名字 | 描述 | 价值 |
---|---|---|
id | 要安装在池中的证书的完全限定 ID。 这必须与池位于同一批处理帐户内。 | string (必需) |
storeLocation | 默认值为 currentUser。 此属性仅适用于使用 Windows 节点配置的池(即使用 cloudServiceConfiguration 创建或使用 Windows 映像引用的 virtualMachineConfiguration)。 对于 Linux 计算节点,证书存储在任务工作目录中的目录中,并向任务提供环境变量AZ_BATCH_CERTIFICATES_DIR以查询此位置。 对于可见性为“remoteUser”的证书,将在用户的主目录中(例如 /home/{user-name}/certs)中创建一个“certs”目录,并将证书置于该目录中。 | “CurrentUser” “LocalMachine” |
storeName | 此属性仅适用于使用 Windows 节点配置的池(即使用 cloudServiceConfiguration 创建或使用 Windows 映像引用的 virtualMachineConfiguration)。 常见的存储名称包括:My、Root、CA、Trust、Trustallowed、TrustedPeople、TrustedPublisher、AuthRoot、AddressBook,但也可以使用任何自定义存储名称。 默认值为“我的”。 | 字符串 |
能见度 | 计算节点上的哪些用户帐户应有权访问证书的专用数据。 | 包含任一项的字符串数组: “RemoteUser” “StartTask” “Task” |
CifsMountConfiguration
名字 | 描述 | 价值 |
---|---|---|
mountOptions | 这些是 Windows 中的“net use”选项,Linux 中的“装载”选项。 | 字符串 |
密码 | 用于针对 CIFS 文件系统进行身份验证的密码。 | string (必需) |
relativeMountPath | 所有文件系统都相对于 Batch 装载目录进行装载,可通过AZ_BATCH_NODE_MOUNTS_DIR环境变量进行访问。 | string (必需) |
源 | 要装载的文件系统的 URI。 | string (必需) |
username | 用于对 CIFS 文件系统进行身份验证的用户。 | string (必需) |
CloudServiceConfiguration
名字 | 描述 | 价值 |
---|---|---|
osFamily | 可能的值为:2 - OS 系列 2,等效于 Windows Server 2008 R2 SP1。 3 - OS 系列 3,等效于 Windows Server 2012。 4 - OS 系列 4,等效于 Windows Server 2012 R2。 5 - OS 系列 5,相当于 Windows Server 2016。 6 - OS 系列 6,等效于 Windows Server 2019。 有关详细信息,请参阅 Azure 来宾 OS 版本(https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)。 | string (必需) |
osVersion | 默认值为 * ,指定指定 OS 系列的最新操作系统版本。 | 字符串 |
ContainerConfiguration
名字 | 描述 | 价值 |
---|---|---|
containerImageNames | 这是完整的映像引用,如指定为“docker pull”。 除非映像使用备用注册表完全限定映像,否则映像将源自默认 Docker 注册表。 | string[] |
containerRegistries | 如果必须从需要凭据的专用注册表下载任何映像,则必须在此处提供这些凭据。 | ContainerRegistry[] |
类型 | 要使用的容器技术。 | “DockerCompatible”(必需) |
ContainerRegistry
名字 | 描述 | 价值 |
---|---|---|
密码 | 登录到注册表服务器的密码。 | 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 | 创建新数据磁盘时的初始磁盘大小(以 GB 为单位)。 | int (必需) |
伦 | lun 用于唯一标识每个数据磁盘。 如果附加多个磁盘,每个磁盘应具有不同的 lun。 | int (必需) |
storageAccountType | 如果省略,则默认值为“Standard_LRS”。 值为: Standard_LRS - 数据磁盘应使用标准本地冗余存储。 Premium_LRS - 数据磁盘应使用高级本地冗余存储。 |
“Premium_LRS” “Standard_LRS” |
DeploymentConfiguration
名字 | 描述 | 价值 |
---|---|---|
cloudServiceConfiguration | 此属性和 virtualMachineConfiguration 互斥,必须指定其中一个属性。 如果将 Batch 帐户的 poolAllocationMode 属性设置为“UserSubscription”,则无法指定此属性。 | CloudServiceConfiguration |
virtualMachineConfiguration | 此属性和 cloudServiceConfiguration 互斥,必须指定其中一个属性。 | VirtualMachineConfiguration |
DiskEncryptionConfiguration
名字 | 描述 | 价值 |
---|---|---|
目标 | 在 Linux 池中,仅支持“TemporaryDisk”;在 Windows 池中,必须指定“OsDisk”和“TemporaryDisk”。 | 包含任一项的字符串数组: “OsDisk” “TemporaryDisk” |
EnvironmentSetting
名字 | 描述 | 价值 |
---|---|---|
名字 | 环境变量的名称。 | string (必需) |
价值 | 环境变量的值。 | 字符串 |
FixedScaleSettings
名字 | 描述 | 价值 |
---|---|---|
nodeDeallocationOption | 如果省略,则默认值为“重新排队”。 | “Requeue” “RetainedData” “TaskCompletion” “Terminate” |
resizeTimeout | 默认值为 15 分钟。 超时值使用 ISO 8601 格式。 例如,使用 PT10M 10 分钟。 最小值为 5 分钟。 如果指定的值小于 5 分钟,Batch 服务将拒绝请求并显示错误;如果直接调用 REST API,则 HTTP 状态代码为 400(请求错误)。 | 字符串 |
targetDedicatedNodes | 必须设置至少一个 targetDedicatedNodes,targetLowPriorityNodes。 | int |
targetLowPriorityNodes | 必须设置至少一个 targetDedicatedNodes,targetLowPriorityNodes。 | int |
ImageReference
名字 | 描述 | 价值 |
---|---|---|
id | 此属性与其他属性互斥。 共享映像库映像必须与 Azure Batch 帐户位于同一区域中的副本。 有关 Batch 节点代理与 Batch 服务通信的防火墙设置的信息,请参阅 /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration。 | 字符串 |
提供 | 例如,UbuntuServer 或 WindowsServer。 | 字符串 |
发行人 | 例如,Canonical 或 MicrosoftWindowsServer。 | 字符串 |
sku | 例如,18.04-LTS 或 2019-Datacenter。 | 字符串 |
版本 | 可以指定值“latest”以选择映像的最新版本。 如果省略,则默认值为“latest”。 | 字符串 |
InboundNatPool
名字 | 描述 | 价值 |
---|---|---|
backendPort | 这在 Batch 池中必须是唯一的。 可接受的值为 1 到 65535,但保留这些值时为 22、3389、29876 和 29877。 如果提供任何保留值,则请求失败并显示 HTTP 状态代码 400。 | int (必需) |
frontendPortRangeEnd | 可接受的值介于 1 到 65534 之间,但 Batch 服务保留的端口范围为 50000 到 55000。 池中的所有范围都必须是不同的,并且不能重叠。 如果提供任何保留值或重叠值,则请求失败并显示 HTTP 状态代码 400。 | int (必需) |
frontendPortRangeStart | 可接受的值介于 1 到 65534 之间,但保留的端口范围为 50000 到 55000。 池中的所有范围都必须是不同的,并且不能重叠。 如果提供任何保留值或重叠值,则请求失败并显示 HTTP 状态代码 400。 | int (必需) |
名字 | 名称在 Batch 池中必须唯一,可以包含字母、数字、下划线、句点和连字符。 名称必须以字母或数字开头,必须以字母、数字或下划线结尾,并且不能超过 77 个字符。 如果提供任何无效值,则请求失败并显示 HTTP 状态代码 400。 | string (必需) |
networkSecurityGroupRules | 可以在 Batch 池的所有终结点上指定的最大规则数为 25。 如果未指定网络安全组规则,则会创建默认规则以允许对指定的 backendPort 进行入站访问。 如果超过网络安全组规则的最大数目,则请求失败并显示 HTTP 状态代码 400。 | NetworkSecurityGroupRule[] |
协议 | 终结点的协议。 | “TCP” “UDP”(必需) |
LinuxUserConfiguration
名字 | 描述 | 价值 |
---|---|---|
gid | uid 和 gid 属性必须同时指定或根本不指定。 如果未指定基础操作系统,则选取 gid。 | int |
sshPrivateKey | 私钥不得受密码保护。 当池的 enableInterNodeCommunication 属性为 true 时,私钥用于在 Linux 池中的节点之间自动配置基于非对称密钥的身份验证(如果 enableInterNodeCommunication 为 false,则忽略该身份验证)。 它通过将密钥对放入用户的 .ssh 目录来执行此操作。 如果未指定,则节点之间未配置无密码 SSH(未修改用户的 .ssh 目录)。 | 字符串 |
uid | uid 和 gid 属性必须同时指定或根本不指定。 如果未指定基础操作系统,则选取 uid。 | int |
MetadataItem
名字 | 描述 | 价值 |
---|---|---|
名字 | 元数据项的名称。 | string (必需) |
价值 | 元数据项的值。 | string (必需) |
Microsoft.Batch/batchAccounts/pools
名字 | 描述 | 价值 |
---|---|---|
名字 | 资源名称 | 字符串 约束: 最小长度 = 1 最大长度 = 1 模式 = ^[a-zA-Z0-9_-]+$ (必需) |
父母 | 在 Bicep 中,可以为子资源指定父资源。 仅当子资源在父资源外部声明时,才需要添加此属性。 有关详细信息,请参阅 父资源外部的子资源。 |
类型资源的符号名称:batchAccounts |
性能 | 与池关联的属性。 | PoolProperties |
MountConfiguration
名字 | 描述 | 价值 |
---|---|---|
azureBlobFileSystemConfiguration | 此属性与其他所有属性互斥。 | AzureBlobFileSystemConfiguration |
azureFileShareConfiguration | 此属性与其他所有属性互斥。 | AzureFileShareConfiguration |
cifsMountConfiguration | 此属性与其他所有属性互斥。 | CifsMountConfiguration |
nfsMountConfiguration | 此属性与其他所有属性互斥。 | NFSMountConfiguration |
NetworkConfiguration
名字 | 描述 | 价值 |
---|---|---|
endpointConfiguration | 池终结点配置仅在具有 virtualMachineConfiguration 属性的池上受支持。 | PoolEndpointConfiguration |
publicIPAddressConfiguration | 此属性仅在具有 virtualMachineConfiguration 属性的池上受支持。 | PublicIPAddressConfiguration |
subnetId | 虚拟网络必须与 Azure Batch 帐户位于同一区域和订阅中。 指定的子网应有足够的可用 IP 地址来容纳池中的节点数。 如果子网没有足够的可用 IP 地址,池将部分分配计算节点,并发生调整大小错误。 “MicrosoftAzureBatch”服务主体必须具有指定 VNet 的“经典虚拟机参与者”Role-Based 访问控制(RBAC)角色。 指定的子网必须允许来自 Azure Batch 服务的通信,以便能够在计算节点上计划任务。 可以通过检查指定的 VNet 是否具有任何关联的网络安全组(NSG)来验证这一点。 如果 NSG 拒绝与指定子网中的计算节点的通信,Batch 服务会将计算节点的状态设置为不可用。 如果指定的 VNet 具有任何关联的网络安全组(NSG),则必须为入站通信启用一些保留的系统端口。 对于使用虚拟机配置创建的池,请启用端口 29876 和 29877,以及适用于 Linux 的端口 22 和适用于 Windows 的端口 3389。 对于使用云服务配置创建的池,请启用端口 10100、20100 和 30100。 此外,在端口 443 上启用到 Azure 存储的出站连接。 对于 cloudServiceConfiguration 池,仅支持“经典”VNET。 有关详细信息,请参阅:/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration | 字符串 |
NetworkSecurityGroupRule
名字 | 描述 | 价值 |
---|---|---|
访问 | 应对指定 IP 地址、子网范围或标记执行的操作。 | “允许” “拒绝”(必需) |
优先权 | 池中的优先级必须是唯一的,并且按优先级顺序进行评估。 优先级越高的数字越低。 例如,可以使用订单号 150、250 和 350 指定规则。 顺序编号为 150 的规则优先于顺序为 250 的规则。 允许的优先级为 150 到 4096。 如果提供了任何保留值或重复值,则请求失败并显示 HTTP 状态代码 400。 | int (必需) |
sourceAddressPrefix | 有效值为单个 IP 地址(即 10.10.10.10)、IP 子网(即 192.168.1.0/24)、默认标记或 * (适用于所有地址)。 如果提供了任何其他值,请求将失败并显示 HTTP 状态代码 400。 | string (必需) |
sourcePortRanges | 有效值为“*”(对于所有端口 0 - 65535)或端口或端口范围的数组(即 100-200)。 端口应介于 0 到 65535 的范围内,端口范围或端口不能重叠。 如果提供了任何其他值,请求将失败并显示 HTTP 状态代码 400。 默认值为 *。 | string[] |
NFSMountConfiguration
名字 | 描述 | 价值 |
---|---|---|
mountOptions | 这些是 Windows 中的“net use”选项,Linux 中的“装载”选项。 | 字符串 |
relativeMountPath | 所有文件系统都相对于 Batch 装载目录进行装载,可通过AZ_BATCH_NODE_MOUNTS_DIR环境变量进行访问。 | string (必需) |
源 | 要装载的文件系统的 URI。 | string (必需) |
PoolEndpointConfiguration
名字 | 描述 | 价值 |
---|---|---|
inboundNatPools | 每个 Batch 池的最大入站 NAT 池数为 5。 如果超出最大入站 NAT 池数,则请求失败并显示 HTTP 状态代码 400。 | InboundNatPool[] (必需) |
PoolProperties
名字 | 描述 | 价值 |
---|---|---|
applicationLicenses | 应用程序许可证列表必须是可用 Batch 服务应用程序许可证的子集。 如果请求的许可证不受支持,则池创建将失败。 | string[] |
applicationPackages | 对应用程序包引用的更改会影响所有加入池的新计算节点,但在重新启动或重新映像之前,不会影响池中已有的计算节点。 任何给定池上最多有 10 个应用程序包引用。 | ApplicationPackageReference[] |
证书 | 对于 Windows 计算节点,Batch 服务会将证书安装到指定的证书存储和位置。 对于 Linux 计算节点,证书存储在任务工作目录中的目录中,并向任务提供环境变量AZ_BATCH_CERTIFICATES_DIR以查询此位置。 对于可见性为“remoteUser”的证书,将在用户的主目录中(例如 /home/{user-name}/certs)中创建一个“certs”目录,并将证书置于该目录中。 | CertificateReference[] |
deploymentConfiguration | 使用 CloudServiceConfiguration 指定应使用 Azure 云服务(PaaS)创建节点,而 VirtualMachineConfiguration 使用 Azure 虚拟机(IaaS)。 | DeploymentConfiguration |
displayName | 显示名称不一定是唯一的,可以包含最大长度为 1024 的任何 Unicode 字符。 | 字符串 |
interNodeCommunication | 这会对可分配给池的节点施加限制。 启用此值可以减少在池中分配请求的节点数的可能性。 如果未指定,则此值默认为“Disabled”。 | “Disabled” “Enabled” |
maxTasksPerNode | 默认值为 1。 最大值是池的 vmSize 核心数或 256 的 4 倍。 | int |
元数据 | Batch 服务不向元数据分配任何含义;它仅用于使用用户代码。 | MetadataItem[] |
mountConfiguration | 这支持 Azure 文件存储、NFS、CIFS/SMB 和 Blobfuse。 | MountConfiguration[] |
networkConfiguration | 池的网络配置。 | NetworkConfiguration |
scaleSettings | 定义池的所需大小。 这可以是指定所请求的目标DedicatedNode 的“fixedScale”,也可以是定义定期重新计算的公式的“autoScale”。 如果未指定此属性,则池将具有具有 0 个 targetDedicatedNodes 的固定缩放。 | ScaleSettings |
startTask | 在 PATCH(更新)操作中,此属性可以设置为空对象,以从池中删除启动任务。 | StartTask |
taskSchedulingPolicy | 如果未指定,则默认为分散。 | TaskSchedulingPolicy |
userAccounts | 将在池中的每个节点上创建的用户帐户列表。 | UserAccount[] |
vmSize | 有关云服务池(使用 cloudServiceConfiguration 创建的池)的可用虚拟机大小的信息,请参阅云服务的大小(https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/)。 Batch 支持除 ExtraSmall 之外的所有云服务 VM 大小。 有关使用虚拟机市场(使用 virtualMachineConfiguration 创建的池)中的映像的可用 VM 大小的信息,请参阅虚拟机(Linux)(https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/)或虚拟机(Windows)的大小(https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/)。 Batch 支持除STANDARD_A0和具有高级存储(STANDARD_GS、STANDARD_DS和STANDARD_DSV2系列)之外的所有 Azure VM 大小。 | 字符串 |
PublicIPAddressConfiguration
名字 | 描述 | 价值 |
---|---|---|
ipAddressIds | 此处指定的 IP 数限制池的最大大小 - 可以为每个公共 IP 分配 50 个专用节点或 20 个低优先级节点。 例如,需要 150 个专用 VM 的池至少需要指定 3 个公共 IP。 此集合的每个元素都采用以下形式:/subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}。 | string[] |
准备 | 默认值为 BatchManaged | “BatchManaged” “NoPublicIPAddresses” “UserManaged” |
ResourceFile
名字 | 描述 | 价值 |
---|---|---|
autoStorageContainerName | autoStorageContainerName、storageContainerUrl 和 httpUrl 属性互斥,必须指定其中一个属性。 | 字符串 |
blobPrefix | 仅当使用 autoStorageContainerName 或 storageContainerUrl 时,该属性才有效。 此前缀可以是部分文件名或子目录。 如果未指定前缀,则会下载容器中的所有文件。 | 字符串 |
fileMode | 此属性仅适用于下载到 Linux 计算节点的文件。 如果为将下载到 Windows 节点的 resourceFile 指定,将忽略它。 如果未为 Linux 节点指定此属性,则将默认值 0770 应用于该文件。 | 字符串 |
filePath | 如果指定了 httpUrl 属性,则需要 filePath,并描述文件将下载到的路径,包括文件名。 否则,如果指定 autoStorageContainerName 或 storageContainerUrl 属性,则 filePath 是可选的,并且是将文件下载到的目录。 如果 filePath 用作目录,则与输入数据关联的任何目录结构都将完整保留并追加到指定的 filePath 目录。 指定的相对路径不能脱离任务的工作目录(例如,使用'.')。 | 字符串 |
httpUrl | autoStorageContainerName、storageContainerUrl 和 httpUrl 属性互斥,必须指定其中一个属性。 如果 URL 是 Azure Blob 存储,则必须使用匿名访问来读取它;也就是说,下载 Blob 时 Batch 服务不提供任何凭据。 可通过两种方法获取 Azure 存储中 Blob 的此类 URL:包括授予对 Blob 的读取权限的共享访问签名(SAS),或为 Blob 或其容器设置 ACL 以允许公共访问。 | 字符串 |
storageContainerUrl | autoStorageContainerName、storageContainerUrl 和 httpUrl 属性互斥,必须指定其中一个属性。 此 URL 必须使用匿名访问来读取和列出;也就是说,下载 Blob 时 Batch 服务不提供任何凭据。 可通过两种方法获取 Azure 存储中 Blob 的此类 URL:包括授予对 Blob 的读取和列表权限的共享访问签名(SAS),或为 Blob 或其容器设置 ACL 以允许公共访问。 | 字符串 |
ScaleSettings
名字 | 描述 | 价值 |
---|---|---|
autoScale | 此属性和 fixedScale 是互斥的,必须指定其中一个属性。 | AutoScaleSettings |
fixedScale | 此属性和 autoScale 互斥,必须指定其中一个属性。 | FixedScaleSettings |
StartTask
名字 | 描述 | 价值 |
---|---|---|
commandLine | 命令行未在 shell 下运行,因此不能利用 shell 功能(如环境变量扩展)。 如果要利用这些功能,则应在命令行中调用 shell,例如在 Windows 中使用“cmd /c MyCommand”或在 Linux 中使用“/bin/sh -c MyCommand”。 如果指定了 startTask 的任何其他属性,则为必需。 | 字符串 |
containerSettings | 指定此项后,AZ_BATCH_NODE_ROOT_DIR(节点上的 Azure Batch 目录的根目录)以递归方式映射到容器中,所有任务环境变量都映射到容器中,任务命令行在容器中执行。 | TaskContainerSettings |
environmentSettings | 启动任务的环境变量设置列表。 | EnvironmentSetting[] |
maxTaskRetryCount | 如果 Batch 服务退出代码为非零,则重试任务。 请注意,此值专门控制重试次数。 Batch 服务将尝试一次任务,然后最多可以重试此限制。 例如,如果最大重试计数为 3,Batch 将尝试任务最多 4 次(一次初始尝试和 3 次重试)。 如果最大重试计数为 0,Batch 服务不会重试该任务。 如果最大重试计数为 -1,Batch 服务将重试任务,且没有限制。 | int |
resourceFiles | Batch 服务在运行命令行之前将下载到计算节点的文件列表。 | ResourceFile[] |
userIdentity | 如果省略,任务将作为任务唯一的非管理用户运行。 | UserIdentity |
waitForSuccess | 如果 true 并且启动任务在计算节点上失败,Batch 服务将启动任务重试到其最大重试计数(maxTaskRetryCount)。 如果任务在所有重试后仍未成功完成,Batch 服务会将计算节点标记为不可用,并且不会为其计划任务。 可以通过节点状态和计划错误详细信息来检测此条件。 如果为 false,Batch 服务不会等待启动任务完成。 在这种情况下,当启动任务仍在运行时,其他任务可以开始在计算节点上执行;即使启动任务失败,新任务也会继续在节点上计划。 默认值为 true。 | bool |
TaskContainerSettings
名字 | 描述 | 价值 |
---|---|---|
containerRunOptions | 除了 Batch 服务控制的选项外,这些附加选项还作为“docker create”命令的参数提供。 | 字符串 |
imageName | 这是完整的映像引用,如指定为“docker pull”。 如果未将标记作为映像名称的一部分提供,则标记“:latest”用作默认值。 | string (必需) |
注册表 | 如果在创建池时已提供此设置,则可以省略此设置。 | ContainerRegistry |
workingDirectory | 用于指示容器任务工作目录所在的位置的标志。 默认值为“taskWorkingDirectory”。 | “ContainerImageDefault” “TaskWorkingDirectory” |
TaskSchedulingPolicy
名字 | 描述 | 价值 |
---|---|---|
nodeFillType | 如何跨计算节点分配任务。 | “Pack” “分散”(必需) |
UserAccount
名字 | 描述 | 价值 |
---|---|---|
elevationLevel | nonAdmin - 自动用户是没有提升访问权限的标准用户。 管理员 - 自动用户是具有提升访问权限并具有完全管理员权限的用户。 默认值为 nonAdmin。 | “Admin” “NonAdmin” |
linuxUserConfiguration | 如果在 Windows 池上指定此属性,则忽略此属性。 如果未指定,则使用默认选项创建用户。 | LinuxUserConfiguration |
名字 | 用户帐户的名称。 | string (必需) |
密码 | 用户帐户的密码。 | string (必需) |
windowsUserConfiguration | 只有在用户位于 Windows 池中时,才能指定此属性。 如果未指定且在 Windows 池上,则会使用默认选项创建用户。 | WindowsUserConfiguration |
UserIdentity
名字 | 描述 | 价值 |
---|---|---|
autoUser | userName 和 autoUser 属性互斥;必须指定一个,但不能同时指定两者。 | AutoUserSpecification |
userName | userName 和 autoUser 属性互斥;必须指定一个,但不能同时指定两者。 | 字符串 |
VirtualMachineConfiguration
名字 | 描述 | 价值 |
---|---|---|
containerConfiguration | 如果指定,则会在池中的每个节点上执行安装程序,以允许任务在容器中运行。 在此池上运行的所有常规任务和作业管理器任务都必须指定 containerSettings 属性,所有其他任务都可以指定它。 | ContainerConfiguration |
dataDisks | 如果池中的计算节点需要附加空数据磁盘,则必须指定此属性。 | DataDisk[] |
diskEncryptionConfiguration | 如果指定了加密,则会在节点预配期间对池中的每个节点执行加密。 | DiskEncryptionConfiguration |
imageReference | 对 Azure 虚拟机市场映像或自定义虚拟机的 Azure 映像资源的引用。 若要获取 Azure Batch 验证的所有 imageReference 的列表,请参阅“列出支持的节点代理 SKU”操作。 | ImageReference(必需) |
licenseType | 这仅适用于包含 Windows 操作系统的映像,并且仅在为将要部署的节点保留有效的本地许可证时使用。 如果省略,则不会应用本地许可折扣。 值为: Windows_Server - 本地许可证适用于 Windows Server。 Windows_Client - 本地许可证适用于 Windows 客户端。 |
字符串 |
nodeAgentSkuId | Batch 节点代理是在池中的每个节点上运行的程序,并在节点与 Batch 服务之间提供命令和控制接口。 对于不同的操作系统,节点代理(称为 SKU)有不同的实现。 必须指定与所选映像引用匹配的节点代理 SKU。 若要获取支持的节点代理 SKU 及其已验证映像引用列表,请参阅“列出支持的节点代理 SKU”操作。 | string (必需) |
windowsConfiguration | 如果 imageReference 指定 Linux OS 映像,则不能指定此属性。 | WindowsConfiguration |
WindowsConfiguration
名字 | 描述 | 价值 |
---|---|---|
enableAutomaticUpdates | 如果省略,则默认值为 true。 | bool |
WindowsUserConfiguration
名字 | 描述 | 价值 |
---|---|---|
loginMode | 指定用户的登录模式。 VirtualMachineConfiguration 池的默认值为交互式模式,而 CloudServiceConfiguration 池的默认值为批处理模式。 | “Batch” “Interactive” |
快速入门示例
以下快速入门示例部署此资源类型。
Bicep 文件 | 描述 |
---|---|
不带公共 IP 地址的 Azure Batch 池 |
此模板创建没有公共 IP 地址的 Azure Batch 简化节点通信池。 |
ARM 模板资源定义
可以使用目标操作部署 batchAccounts/pools 资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Batch/batchAccounts/pools 资源,请将以下 JSON 添加到模板。
{
"type": "Microsoft.Batch/batchAccounts/pools",
"apiVersion": "2020-05-01",
"name": "string",
"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" ]
},
"imageReference": {
"id": "string",
"offer": "string",
"publisher": "string",
"sku": "string",
"version": "string"
},
"licenseType": "string",
"nodeAgentSkuId": "string",
"windowsConfiguration": {
"enableAutomaticUpdates": "bool"
}
}
},
"displayName": "string",
"interNodeCommunication": "string",
"maxTasksPerNode": "int",
"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"
},
"userAccounts": [
{
"elevationLevel": "string",
"linuxUserConfiguration": {
"gid": "int",
"sshPrivateKey": "string",
"uid": "int"
},
"name": "string",
"password": "string",
"windowsUserConfiguration": {
"loginMode": "string"
}
}
],
"vmSize": "string"
}
}
属性值
ApplicationPackageReference
名字 | 描述 | 价值 |
---|---|---|
id | 要安装的应用程序包的 ID。 这必须与池位于同一批处理帐户内。 这可以是对特定版本的引用,也可以是默认版本(如果存在)。 | string (必需) |
版本 | 如果省略此项,并且没有为此应用程序指定默认版本,则请求将失败,错误代码 InvalidApplicationPackageReferences。 如果直接调用 REST API,则 HTTP 状态代码为 409。 | 字符串 |
AutoScaleSettings
名字 | 描述 | 价值 |
---|---|---|
evaluationInterval | 如果省略,则默认值为 15 分钟(PT15M)。 | 字符串 |
公式 | 池中所需计算节点数的公式。 | string (必需) |
AutoUserSpecification
名字 | 描述 | 价值 |
---|---|---|
elevationLevel | 默认值为 nonAdmin。 | “Admin” “NonAdmin” |
范围 | 默认值为 Pool。 如果池正在运行 Windows,则应指定任务值(如果需要在任务之间进行更严格的隔离)。 例如,如果任务以可能影响其他任务的方式改变注册表,或者已在池中指定了证书,而正常任务不应可访问,但应可通过启动任务访问。 | “Pool” “Task” |
AzureBlobFileSystemConfiguration
名字 | 描述 | 价值 |
---|---|---|
accountKey | 此属性与 sasKey 互斥,必须指定一个属性。 | 字符串 |
accountName | Azure 存储帐户名称。 | string (必需) |
blobfuseOptions | 这些是 Windows 中的“net use”选项,Linux 中的“装载”选项。 | 字符串 |
containerName | Azure Blob 存储容器名称。 | string (必需) |
relativeMountPath | 所有文件系统都相对于 Batch 装载目录进行装载,可通过AZ_BATCH_NODE_MOUNTS_DIR环境变量进行访问。 | string (必需) |
sasKey | 此属性与 accountKey 互斥,必须指定一个属性。 | 字符串 |
AzureFileShareConfiguration
名字 | 描述 | 价值 |
---|---|---|
accountKey | Azure 存储帐户密钥。 | string (必需) |
accountName | Azure 存储帐户名称。 | string (必需) |
azureFileUrl | 此格式为“https://{account}.file.core.windows.net/”。 | string (必需) |
mountOptions | 这些是 Windows 中的“net use”选项,Linux 中的“装载”选项。 | 字符串 |
relativeMountPath | 所有文件系统都相对于 Batch 装载目录进行装载,可通过AZ_BATCH_NODE_MOUNTS_DIR环境变量进行访问。 | string (必需) |
CertificateReference
名字 | 描述 | 价值 |
---|---|---|
id | 要安装在池中的证书的完全限定 ID。 这必须与池位于同一批处理帐户内。 | string (必需) |
storeLocation | 默认值为 currentUser。 此属性仅适用于使用 Windows 节点配置的池(即使用 cloudServiceConfiguration 创建或使用 Windows 映像引用的 virtualMachineConfiguration)。 对于 Linux 计算节点,证书存储在任务工作目录中的目录中,并向任务提供环境变量AZ_BATCH_CERTIFICATES_DIR以查询此位置。 对于可见性为“remoteUser”的证书,将在用户的主目录中(例如 /home/{user-name}/certs)中创建一个“certs”目录,并将证书置于该目录中。 | “CurrentUser” “LocalMachine” |
storeName | 此属性仅适用于使用 Windows 节点配置的池(即使用 cloudServiceConfiguration 创建或使用 Windows 映像引用的 virtualMachineConfiguration)。 常见的存储名称包括:My、Root、CA、Trust、Trustallowed、TrustedPeople、TrustedPublisher、AuthRoot、AddressBook,但也可以使用任何自定义存储名称。 默认值为“我的”。 | 字符串 |
能见度 | 计算节点上的哪些用户帐户应有权访问证书的专用数据。 | 包含任一项的字符串数组: “RemoteUser” “StartTask” “Task” |
CifsMountConfiguration
名字 | 描述 | 价值 |
---|---|---|
mountOptions | 这些是 Windows 中的“net use”选项,Linux 中的“装载”选项。 | 字符串 |
密码 | 用于针对 CIFS 文件系统进行身份验证的密码。 | string (必需) |
relativeMountPath | 所有文件系统都相对于 Batch 装载目录进行装载,可通过AZ_BATCH_NODE_MOUNTS_DIR环境变量进行访问。 | string (必需) |
源 | 要装载的文件系统的 URI。 | string (必需) |
username | 用于对 CIFS 文件系统进行身份验证的用户。 | string (必需) |
CloudServiceConfiguration
名字 | 描述 | 价值 |
---|---|---|
osFamily | 可能的值为:2 - OS 系列 2,等效于 Windows Server 2008 R2 SP1。 3 - OS 系列 3,等效于 Windows Server 2012。 4 - OS 系列 4,等效于 Windows Server 2012 R2。 5 - OS 系列 5,相当于 Windows Server 2016。 6 - OS 系列 6,等效于 Windows Server 2019。 有关详细信息,请参阅 Azure 来宾 OS 版本(https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)。 | string (必需) |
osVersion | 默认值为 * ,指定指定 OS 系列的最新操作系统版本。 | 字符串 |
ContainerConfiguration
名字 | 描述 | 价值 |
---|---|---|
containerImageNames | 这是完整的映像引用,如指定为“docker pull”。 除非映像使用备用注册表完全限定映像,否则映像将源自默认 Docker 注册表。 | string[] |
containerRegistries | 如果必须从需要凭据的专用注册表下载任何映像,则必须在此处提供这些凭据。 | ContainerRegistry[] |
类型 | 要使用的容器技术。 | “DockerCompatible”(必需) |
ContainerRegistry
名字 | 描述 | 价值 |
---|---|---|
密码 | 登录到注册表服务器的密码。 | 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 | 创建新数据磁盘时的初始磁盘大小(以 GB 为单位)。 | int (必需) |
伦 | lun 用于唯一标识每个数据磁盘。 如果附加多个磁盘,每个磁盘应具有不同的 lun。 | int (必需) |
storageAccountType | 如果省略,则默认值为“Standard_LRS”。 值为: Standard_LRS - 数据磁盘应使用标准本地冗余存储。 Premium_LRS - 数据磁盘应使用高级本地冗余存储。 |
“Premium_LRS” “Standard_LRS” |
DeploymentConfiguration
名字 | 描述 | 价值 |
---|---|---|
cloudServiceConfiguration | 此属性和 virtualMachineConfiguration 互斥,必须指定其中一个属性。 如果将 Batch 帐户的 poolAllocationMode 属性设置为“UserSubscription”,则无法指定此属性。 | CloudServiceConfiguration |
virtualMachineConfiguration | 此属性和 cloudServiceConfiguration 互斥,必须指定其中一个属性。 | VirtualMachineConfiguration |
DiskEncryptionConfiguration
名字 | 描述 | 价值 |
---|---|---|
目标 | 在 Linux 池中,仅支持“TemporaryDisk”;在 Windows 池中,必须指定“OsDisk”和“TemporaryDisk”。 | 包含任一项的字符串数组: “OsDisk” “TemporaryDisk” |
EnvironmentSetting
名字 | 描述 | 价值 |
---|---|---|
名字 | 环境变量的名称。 | string (必需) |
价值 | 环境变量的值。 | 字符串 |
FixedScaleSettings
名字 | 描述 | 价值 |
---|---|---|
nodeDeallocationOption | 如果省略,则默认值为“重新排队”。 | “Requeue” “RetainedData” “TaskCompletion” “Terminate” |
resizeTimeout | 默认值为 15 分钟。 超时值使用 ISO 8601 格式。 例如,使用 PT10M 10 分钟。 最小值为 5 分钟。 如果指定的值小于 5 分钟,Batch 服务将拒绝请求并显示错误;如果直接调用 REST API,则 HTTP 状态代码为 400(请求错误)。 | 字符串 |
targetDedicatedNodes | 必须设置至少一个 targetDedicatedNodes,targetLowPriorityNodes。 | int |
targetLowPriorityNodes | 必须设置至少一个 targetDedicatedNodes,targetLowPriorityNodes。 | int |
ImageReference
名字 | 描述 | 价值 |
---|---|---|
id | 此属性与其他属性互斥。 共享映像库映像必须与 Azure Batch 帐户位于同一区域中的副本。 有关 Batch 节点代理与 Batch 服务通信的防火墙设置的信息,请参阅 /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration。 | 字符串 |
提供 | 例如,UbuntuServer 或 WindowsServer。 | 字符串 |
发行人 | 例如,Canonical 或 MicrosoftWindowsServer。 | 字符串 |
sku | 例如,18.04-LTS 或 2019-Datacenter。 | 字符串 |
版本 | 可以指定值“latest”以选择映像的最新版本。 如果省略,则默认值为“latest”。 | 字符串 |
InboundNatPool
名字 | 描述 | 价值 |
---|---|---|
backendPort | 这在 Batch 池中必须是唯一的。 可接受的值为 1 到 65535,但保留这些值时为 22、3389、29876 和 29877。 如果提供任何保留值,则请求失败并显示 HTTP 状态代码 400。 | int (必需) |
frontendPortRangeEnd | 可接受的值介于 1 到 65534 之间,但 Batch 服务保留的端口范围为 50000 到 55000。 池中的所有范围都必须是不同的,并且不能重叠。 如果提供任何保留值或重叠值,则请求失败并显示 HTTP 状态代码 400。 | int (必需) |
frontendPortRangeStart | 可接受的值介于 1 到 65534 之间,但保留的端口范围为 50000 到 55000。 池中的所有范围都必须是不同的,并且不能重叠。 如果提供任何保留值或重叠值,则请求失败并显示 HTTP 状态代码 400。 | int (必需) |
名字 | 名称在 Batch 池中必须唯一,可以包含字母、数字、下划线、句点和连字符。 名称必须以字母或数字开头,必须以字母、数字或下划线结尾,并且不能超过 77 个字符。 如果提供任何无效值,则请求失败并显示 HTTP 状态代码 400。 | string (必需) |
networkSecurityGroupRules | 可以在 Batch 池的所有终结点上指定的最大规则数为 25。 如果未指定网络安全组规则,则会创建默认规则以允许对指定的 backendPort 进行入站访问。 如果超过网络安全组规则的最大数目,则请求失败并显示 HTTP 状态代码 400。 | NetworkSecurityGroupRule[] |
协议 | 终结点的协议。 | “TCP” “UDP”(必需) |
LinuxUserConfiguration
名字 | 描述 | 价值 |
---|---|---|
gid | uid 和 gid 属性必须同时指定或根本不指定。 如果未指定基础操作系统,则选取 gid。 | int |
sshPrivateKey | 私钥不得受密码保护。 当池的 enableInterNodeCommunication 属性为 true 时,私钥用于在 Linux 池中的节点之间自动配置基于非对称密钥的身份验证(如果 enableInterNodeCommunication 为 false,则忽略该身份验证)。 它通过将密钥对放入用户的 .ssh 目录来执行此操作。 如果未指定,则节点之间未配置无密码 SSH(未修改用户的 .ssh 目录)。 | 字符串 |
uid | uid 和 gid 属性必须同时指定或根本不指定。 如果未指定基础操作系统,则选取 uid。 | int |
MetadataItem
名字 | 描述 | 价值 |
---|---|---|
名字 | 元数据项的名称。 | string (必需) |
价值 | 元数据项的值。 | string (必需) |
Microsoft.Batch/batchAccounts/pools
名字 | 描述 | 价值 |
---|---|---|
apiVersion | API 版本 | '2020-05-01' |
名字 | 资源名称 | 字符串 约束: 最小长度 = 1 最大长度 = 1 模式 = ^[a-zA-Z0-9_-]+$ (必需) |
性能 | 与池关联的属性。 | PoolProperties |
类型 | 资源类型 | “Microsoft.Batch/batchAccounts/pools” |
MountConfiguration
名字 | 描述 | 价值 |
---|---|---|
azureBlobFileSystemConfiguration | 此属性与其他所有属性互斥。 | AzureBlobFileSystemConfiguration |
azureFileShareConfiguration | 此属性与其他所有属性互斥。 | AzureFileShareConfiguration |
cifsMountConfiguration | 此属性与其他所有属性互斥。 | CifsMountConfiguration |
nfsMountConfiguration | 此属性与其他所有属性互斥。 | NFSMountConfiguration |
NetworkConfiguration
名字 | 描述 | 价值 |
---|---|---|
endpointConfiguration | 池终结点配置仅在具有 virtualMachineConfiguration 属性的池上受支持。 | PoolEndpointConfiguration |
publicIPAddressConfiguration | 此属性仅在具有 virtualMachineConfiguration 属性的池上受支持。 | PublicIPAddressConfiguration |
subnetId | 虚拟网络必须与 Azure Batch 帐户位于同一区域和订阅中。 指定的子网应有足够的可用 IP 地址来容纳池中的节点数。 如果子网没有足够的可用 IP 地址,池将部分分配计算节点,并发生调整大小错误。 “MicrosoftAzureBatch”服务主体必须具有指定 VNet 的“经典虚拟机参与者”Role-Based 访问控制(RBAC)角色。 指定的子网必须允许来自 Azure Batch 服务的通信,以便能够在计算节点上计划任务。 可以通过检查指定的 VNet 是否具有任何关联的网络安全组(NSG)来验证这一点。 如果 NSG 拒绝与指定子网中的计算节点的通信,Batch 服务会将计算节点的状态设置为不可用。 如果指定的 VNet 具有任何关联的网络安全组(NSG),则必须为入站通信启用一些保留的系统端口。 对于使用虚拟机配置创建的池,请启用端口 29876 和 29877,以及适用于 Linux 的端口 22 和适用于 Windows 的端口 3389。 对于使用云服务配置创建的池,请启用端口 10100、20100 和 30100。 此外,在端口 443 上启用到 Azure 存储的出站连接。 对于 cloudServiceConfiguration 池,仅支持“经典”VNET。 有关详细信息,请参阅:/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration | 字符串 |
NetworkSecurityGroupRule
名字 | 描述 | 价值 |
---|---|---|
访问 | 应对指定 IP 地址、子网范围或标记执行的操作。 | “允许” “拒绝”(必需) |
优先权 | 池中的优先级必须是唯一的,并且按优先级顺序进行评估。 优先级越高的数字越低。 例如,可以使用订单号 150、250 和 350 指定规则。 顺序编号为 150 的规则优先于顺序为 250 的规则。 允许的优先级为 150 到 4096。 如果提供了任何保留值或重复值,则请求失败并显示 HTTP 状态代码 400。 | int (必需) |
sourceAddressPrefix | 有效值为单个 IP 地址(即 10.10.10.10)、IP 子网(即 192.168.1.0/24)、默认标记或 * (适用于所有地址)。 如果提供了任何其他值,请求将失败并显示 HTTP 状态代码 400。 | string (必需) |
sourcePortRanges | 有效值为“*”(对于所有端口 0 - 65535)或端口或端口范围的数组(即 100-200)。 端口应介于 0 到 65535 的范围内,端口范围或端口不能重叠。 如果提供了任何其他值,请求将失败并显示 HTTP 状态代码 400。 默认值为 *。 | string[] |
NFSMountConfiguration
名字 | 描述 | 价值 |
---|---|---|
mountOptions | 这些是 Windows 中的“net use”选项,Linux 中的“装载”选项。 | 字符串 |
relativeMountPath | 所有文件系统都相对于 Batch 装载目录进行装载,可通过AZ_BATCH_NODE_MOUNTS_DIR环境变量进行访问。 | string (必需) |
源 | 要装载的文件系统的 URI。 | string (必需) |
PoolEndpointConfiguration
名字 | 描述 | 价值 |
---|---|---|
inboundNatPools | 每个 Batch 池的最大入站 NAT 池数为 5。 如果超出最大入站 NAT 池数,则请求失败并显示 HTTP 状态代码 400。 | InboundNatPool[] (必需) |
PoolProperties
名字 | 描述 | 价值 |
---|---|---|
applicationLicenses | 应用程序许可证列表必须是可用 Batch 服务应用程序许可证的子集。 如果请求的许可证不受支持,则池创建将失败。 | string[] |
applicationPackages | 对应用程序包引用的更改会影响所有加入池的新计算节点,但在重新启动或重新映像之前,不会影响池中已有的计算节点。 任何给定池上最多有 10 个应用程序包引用。 | ApplicationPackageReference[] |
证书 | 对于 Windows 计算节点,Batch 服务会将证书安装到指定的证书存储和位置。 对于 Linux 计算节点,证书存储在任务工作目录中的目录中,并向任务提供环境变量AZ_BATCH_CERTIFICATES_DIR以查询此位置。 对于可见性为“remoteUser”的证书,将在用户的主目录中(例如 /home/{user-name}/certs)中创建一个“certs”目录,并将证书置于该目录中。 | CertificateReference[] |
deploymentConfiguration | 使用 CloudServiceConfiguration 指定应使用 Azure 云服务(PaaS)创建节点,而 VirtualMachineConfiguration 使用 Azure 虚拟机(IaaS)。 | DeploymentConfiguration |
displayName | 显示名称不一定是唯一的,可以包含最大长度为 1024 的任何 Unicode 字符。 | 字符串 |
interNodeCommunication | 这会对可分配给池的节点施加限制。 启用此值可以减少在池中分配请求的节点数的可能性。 如果未指定,则此值默认为“Disabled”。 | “Disabled” “Enabled” |
maxTasksPerNode | 默认值为 1。 最大值是池的 vmSize 核心数或 256 的 4 倍。 | int |
元数据 | Batch 服务不向元数据分配任何含义;它仅用于使用用户代码。 | MetadataItem[] |
mountConfiguration | 这支持 Azure 文件存储、NFS、CIFS/SMB 和 Blobfuse。 | MountConfiguration[] |
networkConfiguration | 池的网络配置。 | NetworkConfiguration |
scaleSettings | 定义池的所需大小。 这可以是指定所请求的目标DedicatedNode 的“fixedScale”,也可以是定义定期重新计算的公式的“autoScale”。 如果未指定此属性,则池将具有具有 0 个 targetDedicatedNodes 的固定缩放。 | ScaleSettings |
startTask | 在 PATCH(更新)操作中,此属性可以设置为空对象,以从池中删除启动任务。 | StartTask |
taskSchedulingPolicy | 如果未指定,则默认为分散。 | TaskSchedulingPolicy |
userAccounts | 将在池中的每个节点上创建的用户帐户列表。 | UserAccount[] |
vmSize | 有关云服务池(使用 cloudServiceConfiguration 创建的池)的可用虚拟机大小的信息,请参阅云服务的大小(https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/)。 Batch 支持除 ExtraSmall 之外的所有云服务 VM 大小。 有关使用虚拟机市场(使用 virtualMachineConfiguration 创建的池)中的映像的可用 VM 大小的信息,请参阅虚拟机(Linux)(https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/)或虚拟机(Windows)的大小(https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/)。 Batch 支持除STANDARD_A0和具有高级存储(STANDARD_GS、STANDARD_DS和STANDARD_DSV2系列)之外的所有 Azure VM 大小。 | 字符串 |
PublicIPAddressConfiguration
名字 | 描述 | 价值 |
---|---|---|
ipAddressIds | 此处指定的 IP 数限制池的最大大小 - 可以为每个公共 IP 分配 50 个专用节点或 20 个低优先级节点。 例如,需要 150 个专用 VM 的池至少需要指定 3 个公共 IP。 此集合的每个元素都采用以下形式:/subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}。 | string[] |
准备 | 默认值为 BatchManaged | “BatchManaged” “NoPublicIPAddresses” “UserManaged” |
ResourceFile
名字 | 描述 | 价值 |
---|---|---|
autoStorageContainerName | autoStorageContainerName、storageContainerUrl 和 httpUrl 属性互斥,必须指定其中一个属性。 | 字符串 |
blobPrefix | 仅当使用 autoStorageContainerName 或 storageContainerUrl 时,该属性才有效。 此前缀可以是部分文件名或子目录。 如果未指定前缀,则会下载容器中的所有文件。 | 字符串 |
fileMode | 此属性仅适用于下载到 Linux 计算节点的文件。 如果为将下载到 Windows 节点的 resourceFile 指定,将忽略它。 如果未为 Linux 节点指定此属性,则将默认值 0770 应用于该文件。 | 字符串 |
filePath | 如果指定了 httpUrl 属性,则需要 filePath,并描述文件将下载到的路径,包括文件名。 否则,如果指定 autoStorageContainerName 或 storageContainerUrl 属性,则 filePath 是可选的,并且是将文件下载到的目录。 如果 filePath 用作目录,则与输入数据关联的任何目录结构都将完整保留并追加到指定的 filePath 目录。 指定的相对路径不能脱离任务的工作目录(例如,使用'.')。 | 字符串 |
httpUrl | autoStorageContainerName、storageContainerUrl 和 httpUrl 属性互斥,必须指定其中一个属性。 如果 URL 是 Azure Blob 存储,则必须使用匿名访问来读取它;也就是说,下载 Blob 时 Batch 服务不提供任何凭据。 可通过两种方法获取 Azure 存储中 Blob 的此类 URL:包括授予对 Blob 的读取权限的共享访问签名(SAS),或为 Blob 或其容器设置 ACL 以允许公共访问。 | 字符串 |
storageContainerUrl | autoStorageContainerName、storageContainerUrl 和 httpUrl 属性互斥,必须指定其中一个属性。 此 URL 必须使用匿名访问来读取和列出;也就是说,下载 Blob 时 Batch 服务不提供任何凭据。 可通过两种方法获取 Azure 存储中 Blob 的此类 URL:包括授予对 Blob 的读取和列表权限的共享访问签名(SAS),或为 Blob 或其容器设置 ACL 以允许公共访问。 | 字符串 |
ScaleSettings
名字 | 描述 | 价值 |
---|---|---|
autoScale | 此属性和 fixedScale 是互斥的,必须指定其中一个属性。 | AutoScaleSettings |
fixedScale | 此属性和 autoScale 互斥,必须指定其中一个属性。 | FixedScaleSettings |
StartTask
名字 | 描述 | 价值 |
---|---|---|
commandLine | 命令行未在 shell 下运行,因此不能利用 shell 功能(如环境变量扩展)。 如果要利用这些功能,则应在命令行中调用 shell,例如在 Windows 中使用“cmd /c MyCommand”或在 Linux 中使用“/bin/sh -c MyCommand”。 如果指定了 startTask 的任何其他属性,则为必需。 | 字符串 |
containerSettings | 指定此项后,AZ_BATCH_NODE_ROOT_DIR(节点上的 Azure Batch 目录的根目录)以递归方式映射到容器中,所有任务环境变量都映射到容器中,任务命令行在容器中执行。 | TaskContainerSettings |
environmentSettings | 启动任务的环境变量设置列表。 | EnvironmentSetting[] |
maxTaskRetryCount | 如果 Batch 服务退出代码为非零,则重试任务。 请注意,此值专门控制重试次数。 Batch 服务将尝试一次任务,然后最多可以重试此限制。 例如,如果最大重试计数为 3,Batch 将尝试任务最多 4 次(一次初始尝试和 3 次重试)。 如果最大重试计数为 0,Batch 服务不会重试该任务。 如果最大重试计数为 -1,Batch 服务将重试任务,且没有限制。 | int |
resourceFiles | Batch 服务在运行命令行之前将下载到计算节点的文件列表。 | ResourceFile[] |
userIdentity | 如果省略,任务将作为任务唯一的非管理用户运行。 | UserIdentity |
waitForSuccess | 如果 true 并且启动任务在计算节点上失败,Batch 服务将启动任务重试到其最大重试计数(maxTaskRetryCount)。 如果任务在所有重试后仍未成功完成,Batch 服务会将计算节点标记为不可用,并且不会为其计划任务。 可以通过节点状态和计划错误详细信息来检测此条件。 如果为 false,Batch 服务不会等待启动任务完成。 在这种情况下,当启动任务仍在运行时,其他任务可以开始在计算节点上执行;即使启动任务失败,新任务也会继续在节点上计划。 默认值为 true。 | bool |
TaskContainerSettings
名字 | 描述 | 价值 |
---|---|---|
containerRunOptions | 除了 Batch 服务控制的选项外,这些附加选项还作为“docker create”命令的参数提供。 | 字符串 |
imageName | 这是完整的映像引用,如指定为“docker pull”。 如果未将标记作为映像名称的一部分提供,则标记“:latest”用作默认值。 | string (必需) |
注册表 | 如果在创建池时已提供此设置,则可以省略此设置。 | ContainerRegistry |
workingDirectory | 用于指示容器任务工作目录所在的位置的标志。 默认值为“taskWorkingDirectory”。 | “ContainerImageDefault” “TaskWorkingDirectory” |
TaskSchedulingPolicy
名字 | 描述 | 价值 |
---|---|---|
nodeFillType | 如何跨计算节点分配任务。 | “Pack” “分散”(必需) |
UserAccount
名字 | 描述 | 价值 |
---|---|---|
elevationLevel | nonAdmin - 自动用户是没有提升访问权限的标准用户。 管理员 - 自动用户是具有提升访问权限并具有完全管理员权限的用户。 默认值为 nonAdmin。 | “Admin” “NonAdmin” |
linuxUserConfiguration | 如果在 Windows 池上指定此属性,则忽略此属性。 如果未指定,则使用默认选项创建用户。 | LinuxUserConfiguration |
名字 | 用户帐户的名称。 | string (必需) |
密码 | 用户帐户的密码。 | string (必需) |
windowsUserConfiguration | 只有在用户位于 Windows 池中时,才能指定此属性。 如果未指定且在 Windows 池上,则会使用默认选项创建用户。 | WindowsUserConfiguration |
UserIdentity
名字 | 描述 | 价值 |
---|---|---|
autoUser | userName 和 autoUser 属性互斥;必须指定一个,但不能同时指定两者。 | AutoUserSpecification |
userName | userName 和 autoUser 属性互斥;必须指定一个,但不能同时指定两者。 | 字符串 |
VirtualMachineConfiguration
名字 | 描述 | 价值 |
---|---|---|
containerConfiguration | 如果指定,则会在池中的每个节点上执行安装程序,以允许任务在容器中运行。 在此池上运行的所有常规任务和作业管理器任务都必须指定 containerSettings 属性,所有其他任务都可以指定它。 | ContainerConfiguration |
dataDisks | 如果池中的计算节点需要附加空数据磁盘,则必须指定此属性。 | DataDisk[] |
diskEncryptionConfiguration | 如果指定了加密,则会在节点预配期间对池中的每个节点执行加密。 | DiskEncryptionConfiguration |
imageReference | 对 Azure 虚拟机市场映像或自定义虚拟机的 Azure 映像资源的引用。 若要获取 Azure Batch 验证的所有 imageReference 的列表,请参阅“列出支持的节点代理 SKU”操作。 | ImageReference(必需) |
licenseType | 这仅适用于包含 Windows 操作系统的映像,并且仅在为将要部署的节点保留有效的本地许可证时使用。 如果省略,则不会应用本地许可折扣。 值为: Windows_Server - 本地许可证适用于 Windows Server。 Windows_Client - 本地许可证适用于 Windows 客户端。 |
字符串 |
nodeAgentSkuId | Batch 节点代理是在池中的每个节点上运行的程序,并在节点与 Batch 服务之间提供命令和控制接口。 对于不同的操作系统,节点代理(称为 SKU)有不同的实现。 必须指定与所选映像引用匹配的节点代理 SKU。 若要获取支持的节点代理 SKU 及其已验证映像引用列表,请参阅“列出支持的节点代理 SKU”操作。 | string (必需) |
windowsConfiguration | 如果 imageReference 指定 Linux OS 映像,则不能指定此属性。 | WindowsConfiguration |
WindowsConfiguration
名字 | 描述 | 价值 |
---|---|---|
enableAutomaticUpdates | 如果省略,则默认值为 true。 | bool |
WindowsUserConfiguration
名字 | 描述 | 价值 |
---|---|---|
loginMode | 指定用户的登录模式。 VirtualMachineConfiguration 池的默认值为交互式模式,而 CloudServiceConfiguration 池的默认值为批处理模式。 | “Batch” “Interactive” |
快速入门模板
以下快速入门模板部署此资源类型。
Terraform (AzAPI 提供程序)资源定义
可以使用目标操作部署 batchAccounts/pools 资源类型:
- 资源组
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Batch/batchAccounts/pools 资源,请将以下 Terraform 添加到模板。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Batch/batchAccounts/pools@2020-05-01"
name = "string"
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"
]
}
imageReference = {
id = "string"
offer = "string"
publisher = "string"
sku = "string"
version = "string"
}
licenseType = "string"
nodeAgentSkuId = "string"
windowsConfiguration = {
enableAutomaticUpdates = bool
}
}
}
displayName = "string"
interNodeCommunication = "string"
maxTasksPerNode = int
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"
}
userAccounts = [
{
elevationLevel = "string"
linuxUserConfiguration = {
gid = int
sshPrivateKey = "string"
uid = int
}
name = "string"
password = "string"
windowsUserConfiguration = {
loginMode = "string"
}
}
]
vmSize = "string"
}
})
}
属性值
ApplicationPackageReference
名字 | 描述 | 价值 |
---|---|---|
id | 要安装的应用程序包的 ID。 这必须与池位于同一批处理帐户内。 这可以是对特定版本的引用,也可以是默认版本(如果存在)。 | string (必需) |
版本 | 如果省略此项,并且没有为此应用程序指定默认版本,则请求将失败,错误代码 InvalidApplicationPackageReferences。 如果直接调用 REST API,则 HTTP 状态代码为 409。 | 字符串 |
AutoScaleSettings
名字 | 描述 | 价值 |
---|---|---|
evaluationInterval | 如果省略,则默认值为 15 分钟(PT15M)。 | 字符串 |
公式 | 池中所需计算节点数的公式。 | string (必需) |
AutoUserSpecification
名字 | 描述 | 价值 |
---|---|---|
elevationLevel | 默认值为 nonAdmin。 | “Admin” “NonAdmin” |
范围 | 默认值为 Pool。 如果池正在运行 Windows,则应指定任务值(如果需要在任务之间进行更严格的隔离)。 例如,如果任务以可能影响其他任务的方式改变注册表,或者已在池中指定了证书,而正常任务不应可访问,但应可通过启动任务访问。 | “Pool” “Task” |
AzureBlobFileSystemConfiguration
名字 | 描述 | 价值 |
---|---|---|
accountKey | 此属性与 sasKey 互斥,必须指定一个属性。 | 字符串 |
accountName | Azure 存储帐户名称。 | string (必需) |
blobfuseOptions | 这些是 Windows 中的“net use”选项,Linux 中的“装载”选项。 | 字符串 |
containerName | Azure Blob 存储容器名称。 | string (必需) |
relativeMountPath | 所有文件系统都相对于 Batch 装载目录进行装载,可通过AZ_BATCH_NODE_MOUNTS_DIR环境变量进行访问。 | string (必需) |
sasKey | 此属性与 accountKey 互斥,必须指定一个属性。 | 字符串 |
AzureFileShareConfiguration
名字 | 描述 | 价值 |
---|---|---|
accountKey | Azure 存储帐户密钥。 | string (必需) |
accountName | Azure 存储帐户名称。 | string (必需) |
azureFileUrl | 此格式为“https://{account}.file.core.windows.net/”。 | string (必需) |
mountOptions | 这些是 Windows 中的“net use”选项,Linux 中的“装载”选项。 | 字符串 |
relativeMountPath | 所有文件系统都相对于 Batch 装载目录进行装载,可通过AZ_BATCH_NODE_MOUNTS_DIR环境变量进行访问。 | string (必需) |
CertificateReference
名字 | 描述 | 价值 |
---|---|---|
id | 要安装在池中的证书的完全限定 ID。 这必须与池位于同一批处理帐户内。 | string (必需) |
storeLocation | 默认值为 currentUser。 此属性仅适用于使用 Windows 节点配置的池(即使用 cloudServiceConfiguration 创建或使用 Windows 映像引用的 virtualMachineConfiguration)。 对于 Linux 计算节点,证书存储在任务工作目录中的目录中,并向任务提供环境变量AZ_BATCH_CERTIFICATES_DIR以查询此位置。 对于可见性为“remoteUser”的证书,将在用户的主目录中(例如 /home/{user-name}/certs)中创建一个“certs”目录,并将证书置于该目录中。 | “CurrentUser” “LocalMachine” |
storeName | 此属性仅适用于使用 Windows 节点配置的池(即使用 cloudServiceConfiguration 创建或使用 Windows 映像引用的 virtualMachineConfiguration)。 常见的存储名称包括:My、Root、CA、Trust、Trustallowed、TrustedPeople、TrustedPublisher、AuthRoot、AddressBook,但也可以使用任何自定义存储名称。 默认值为“我的”。 | 字符串 |
能见度 | 计算节点上的哪些用户帐户应有权访问证书的专用数据。 | 包含任一项的字符串数组: “RemoteUser” “StartTask” “Task” |
CifsMountConfiguration
名字 | 描述 | 价值 |
---|---|---|
mountOptions | 这些是 Windows 中的“net use”选项,Linux 中的“装载”选项。 | 字符串 |
密码 | 用于针对 CIFS 文件系统进行身份验证的密码。 | string (必需) |
relativeMountPath | 所有文件系统都相对于 Batch 装载目录进行装载,可通过AZ_BATCH_NODE_MOUNTS_DIR环境变量进行访问。 | string (必需) |
源 | 要装载的文件系统的 URI。 | string (必需) |
username | 用于对 CIFS 文件系统进行身份验证的用户。 | string (必需) |
CloudServiceConfiguration
名字 | 描述 | 价值 |
---|---|---|
osFamily | 可能的值为:2 - OS 系列 2,等效于 Windows Server 2008 R2 SP1。 3 - OS 系列 3,等效于 Windows Server 2012。 4 - OS 系列 4,等效于 Windows Server 2012 R2。 5 - OS 系列 5,相当于 Windows Server 2016。 6 - OS 系列 6,等效于 Windows Server 2019。 有关详细信息,请参阅 Azure 来宾 OS 版本(https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)。 | string (必需) |
osVersion | 默认值为 * ,指定指定 OS 系列的最新操作系统版本。 | 字符串 |
ContainerConfiguration
名字 | 描述 | 价值 |
---|---|---|
containerImageNames | 这是完整的映像引用,如指定为“docker pull”。 除非映像使用备用注册表完全限定映像,否则映像将源自默认 Docker 注册表。 | string[] |
containerRegistries | 如果必须从需要凭据的专用注册表下载任何映像,则必须在此处提供这些凭据。 | ContainerRegistry[] |
类型 | 要使用的容器技术。 | “DockerCompatible”(必需) |
ContainerRegistry
名字 | 描述 | 价值 |
---|---|---|
密码 | 登录到注册表服务器的密码。 | 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 | 创建新数据磁盘时的初始磁盘大小(以 GB 为单位)。 | int (必需) |
伦 | lun 用于唯一标识每个数据磁盘。 如果附加多个磁盘,每个磁盘应具有不同的 lun。 | int (必需) |
storageAccountType | 如果省略,则默认值为“Standard_LRS”。 值为: Standard_LRS - 数据磁盘应使用标准本地冗余存储。 Premium_LRS - 数据磁盘应使用高级本地冗余存储。 |
“Premium_LRS” “Standard_LRS” |
DeploymentConfiguration
名字 | 描述 | 价值 |
---|---|---|
cloudServiceConfiguration | 此属性和 virtualMachineConfiguration 互斥,必须指定其中一个属性。 如果将 Batch 帐户的 poolAllocationMode 属性设置为“UserSubscription”,则无法指定此属性。 | CloudServiceConfiguration |
virtualMachineConfiguration | 此属性和 cloudServiceConfiguration 互斥,必须指定其中一个属性。 | VirtualMachineConfiguration |
DiskEncryptionConfiguration
名字 | 描述 | 价值 |
---|---|---|
目标 | 在 Linux 池中,仅支持“TemporaryDisk”;在 Windows 池中,必须指定“OsDisk”和“TemporaryDisk”。 | 包含任一项的字符串数组: “OsDisk” “TemporaryDisk” |
EnvironmentSetting
名字 | 描述 | 价值 |
---|---|---|
名字 | 环境变量的名称。 | string (必需) |
价值 | 环境变量的值。 | 字符串 |
FixedScaleSettings
名字 | 描述 | 价值 |
---|---|---|
nodeDeallocationOption | 如果省略,则默认值为“重新排队”。 | “Requeue” “RetainedData” “TaskCompletion” “Terminate” |
resizeTimeout | 默认值为 15 分钟。 超时值使用 ISO 8601 格式。 例如,使用 PT10M 10 分钟。 最小值为 5 分钟。 如果指定的值小于 5 分钟,Batch 服务将拒绝请求并显示错误;如果直接调用 REST API,则 HTTP 状态代码为 400(请求错误)。 | 字符串 |
targetDedicatedNodes | 必须设置至少一个 targetDedicatedNodes,targetLowPriorityNodes。 | int |
targetLowPriorityNodes | 必须设置至少一个 targetDedicatedNodes,targetLowPriorityNodes。 | int |
ImageReference
名字 | 描述 | 价值 |
---|---|---|
id | 此属性与其他属性互斥。 共享映像库映像必须与 Azure Batch 帐户位于同一区域中的副本。 有关 Batch 节点代理与 Batch 服务通信的防火墙设置的信息,请参阅 /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration。 | 字符串 |
提供 | 例如,UbuntuServer 或 WindowsServer。 | 字符串 |
发行人 | 例如,Canonical 或 MicrosoftWindowsServer。 | 字符串 |
sku | 例如,18.04-LTS 或 2019-Datacenter。 | 字符串 |
版本 | 可以指定值“latest”以选择映像的最新版本。 如果省略,则默认值为“latest”。 | 字符串 |
InboundNatPool
名字 | 描述 | 价值 |
---|---|---|
backendPort | 这在 Batch 池中必须是唯一的。 可接受的值为 1 到 65535,但保留这些值时为 22、3389、29876 和 29877。 如果提供任何保留值,则请求失败并显示 HTTP 状态代码 400。 | int (必需) |
frontendPortRangeEnd | 可接受的值介于 1 到 65534 之间,但 Batch 服务保留的端口范围为 50000 到 55000。 池中的所有范围都必须是不同的,并且不能重叠。 如果提供任何保留值或重叠值,则请求失败并显示 HTTP 状态代码 400。 | int (必需) |
frontendPortRangeStart | 可接受的值介于 1 到 65534 之间,但保留的端口范围为 50000 到 55000。 池中的所有范围都必须是不同的,并且不能重叠。 如果提供任何保留值或重叠值,则请求失败并显示 HTTP 状态代码 400。 | int (必需) |
名字 | 名称在 Batch 池中必须唯一,可以包含字母、数字、下划线、句点和连字符。 名称必须以字母或数字开头,必须以字母、数字或下划线结尾,并且不能超过 77 个字符。 如果提供任何无效值,则请求失败并显示 HTTP 状态代码 400。 | string (必需) |
networkSecurityGroupRules | 可以在 Batch 池的所有终结点上指定的最大规则数为 25。 如果未指定网络安全组规则,则会创建默认规则以允许对指定的 backendPort 进行入站访问。 如果超过网络安全组规则的最大数目,则请求失败并显示 HTTP 状态代码 400。 | NetworkSecurityGroupRule[] |
协议 | 终结点的协议。 | “TCP” “UDP”(必需) |
LinuxUserConfiguration
名字 | 描述 | 价值 |
---|---|---|
gid | uid 和 gid 属性必须同时指定或根本不指定。 如果未指定基础操作系统,则选取 gid。 | int |
sshPrivateKey | 私钥不得受密码保护。 当池的 enableInterNodeCommunication 属性为 true 时,私钥用于在 Linux 池中的节点之间自动配置基于非对称密钥的身份验证(如果 enableInterNodeCommunication 为 false,则忽略该身份验证)。 它通过将密钥对放入用户的 .ssh 目录来执行此操作。 如果未指定,则节点之间未配置无密码 SSH(未修改用户的 .ssh 目录)。 | 字符串 |
uid | uid 和 gid 属性必须同时指定或根本不指定。 如果未指定基础操作系统,则选取 uid。 | int |
MetadataItem
名字 | 描述 | 价值 |
---|---|---|
名字 | 元数据项的名称。 | string (必需) |
价值 | 元数据项的值。 | string (必需) |
Microsoft.Batch/batchAccounts/pools
名字 | 描述 | 价值 |
---|---|---|
名字 | 资源名称 | 字符串 约束: 最小长度 = 1 最大长度 = 1 模式 = ^[a-zA-Z0-9_-]+$ (必需) |
parent_id | 此资源的父资源的 ID。 | 类型资源的 ID:batchAccounts |
性能 | 与池关联的属性。 | PoolProperties |
类型 | 资源类型 | “Microsoft.Batch/batchAccounts/pools@2020-05-01” |
MountConfiguration
名字 | 描述 | 价值 |
---|---|---|
azureBlobFileSystemConfiguration | 此属性与其他所有属性互斥。 | AzureBlobFileSystemConfiguration |
azureFileShareConfiguration | 此属性与其他所有属性互斥。 | AzureFileShareConfiguration |
cifsMountConfiguration | 此属性与其他所有属性互斥。 | CifsMountConfiguration |
nfsMountConfiguration | 此属性与其他所有属性互斥。 | NFSMountConfiguration |
NetworkConfiguration
名字 | 描述 | 价值 |
---|---|---|
endpointConfiguration | 池终结点配置仅在具有 virtualMachineConfiguration 属性的池上受支持。 | PoolEndpointConfiguration |
publicIPAddressConfiguration | 此属性仅在具有 virtualMachineConfiguration 属性的池上受支持。 | PublicIPAddressConfiguration |
subnetId | 虚拟网络必须与 Azure Batch 帐户位于同一区域和订阅中。 指定的子网应有足够的可用 IP 地址来容纳池中的节点数。 如果子网没有足够的可用 IP 地址,池将部分分配计算节点,并发生调整大小错误。 “MicrosoftAzureBatch”服务主体必须具有指定 VNet 的“经典虚拟机参与者”Role-Based 访问控制(RBAC)角色。 指定的子网必须允许来自 Azure Batch 服务的通信,以便能够在计算节点上计划任务。 可以通过检查指定的 VNet 是否具有任何关联的网络安全组(NSG)来验证这一点。 如果 NSG 拒绝与指定子网中的计算节点的通信,Batch 服务会将计算节点的状态设置为不可用。 如果指定的 VNet 具有任何关联的网络安全组(NSG),则必须为入站通信启用一些保留的系统端口。 对于使用虚拟机配置创建的池,请启用端口 29876 和 29877,以及适用于 Linux 的端口 22 和适用于 Windows 的端口 3389。 对于使用云服务配置创建的池,请启用端口 10100、20100 和 30100。 此外,在端口 443 上启用到 Azure 存储的出站连接。 对于 cloudServiceConfiguration 池,仅支持“经典”VNET。 有关详细信息,请参阅:/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration | 字符串 |
NetworkSecurityGroupRule
名字 | 描述 | 价值 |
---|---|---|
访问 | 应对指定 IP 地址、子网范围或标记执行的操作。 | “允许” “拒绝”(必需) |
优先权 | 池中的优先级必须是唯一的,并且按优先级顺序进行评估。 优先级越高的数字越低。 例如,可以使用订单号 150、250 和 350 指定规则。 顺序编号为 150 的规则优先于顺序为 250 的规则。 允许的优先级为 150 到 4096。 如果提供了任何保留值或重复值,则请求失败并显示 HTTP 状态代码 400。 | int (必需) |
sourceAddressPrefix | 有效值为单个 IP 地址(即 10.10.10.10)、IP 子网(即 192.168.1.0/24)、默认标记或 * (适用于所有地址)。 如果提供了任何其他值,请求将失败并显示 HTTP 状态代码 400。 | string (必需) |
sourcePortRanges | 有效值为“*”(对于所有端口 0 - 65535)或端口或端口范围的数组(即 100-200)。 端口应介于 0 到 65535 的范围内,端口范围或端口不能重叠。 如果提供了任何其他值,请求将失败并显示 HTTP 状态代码 400。 默认值为 *。 | string[] |
NFSMountConfiguration
名字 | 描述 | 价值 |
---|---|---|
mountOptions | 这些是 Windows 中的“net use”选项,Linux 中的“装载”选项。 | 字符串 |
relativeMountPath | 所有文件系统都相对于 Batch 装载目录进行装载,可通过AZ_BATCH_NODE_MOUNTS_DIR环境变量进行访问。 | string (必需) |
源 | 要装载的文件系统的 URI。 | string (必需) |
PoolEndpointConfiguration
名字 | 描述 | 价值 |
---|---|---|
inboundNatPools | 每个 Batch 池的最大入站 NAT 池数为 5。 如果超出最大入站 NAT 池数,则请求失败并显示 HTTP 状态代码 400。 | InboundNatPool[] (必需) |
PoolProperties
名字 | 描述 | 价值 |
---|---|---|
applicationLicenses | 应用程序许可证列表必须是可用 Batch 服务应用程序许可证的子集。 如果请求的许可证不受支持,则池创建将失败。 | string[] |
applicationPackages | 对应用程序包引用的更改会影响所有加入池的新计算节点,但在重新启动或重新映像之前,不会影响池中已有的计算节点。 任何给定池上最多有 10 个应用程序包引用。 | ApplicationPackageReference[] |
证书 | 对于 Windows 计算节点,Batch 服务会将证书安装到指定的证书存储和位置。 对于 Linux 计算节点,证书存储在任务工作目录中的目录中,并向任务提供环境变量AZ_BATCH_CERTIFICATES_DIR以查询此位置。 对于可见性为“remoteUser”的证书,将在用户的主目录中(例如 /home/{user-name}/certs)中创建一个“certs”目录,并将证书置于该目录中。 | CertificateReference[] |
deploymentConfiguration | 使用 CloudServiceConfiguration 指定应使用 Azure 云服务(PaaS)创建节点,而 VirtualMachineConfiguration 使用 Azure 虚拟机(IaaS)。 | DeploymentConfiguration |
displayName | 显示名称不一定是唯一的,可以包含最大长度为 1024 的任何 Unicode 字符。 | 字符串 |
interNodeCommunication | 这会对可分配给池的节点施加限制。 启用此值可以减少在池中分配请求的节点数的可能性。 如果未指定,则此值默认为“Disabled”。 | “Disabled” “Enabled” |
maxTasksPerNode | 默认值为 1。 最大值是池的 vmSize 核心数或 256 的 4 倍。 | int |
元数据 | Batch 服务不向元数据分配任何含义;它仅用于使用用户代码。 | MetadataItem[] |
mountConfiguration | 这支持 Azure 文件存储、NFS、CIFS/SMB 和 Blobfuse。 | MountConfiguration[] |
networkConfiguration | 池的网络配置。 | NetworkConfiguration |
scaleSettings | 定义池的所需大小。 这可以是指定所请求的目标DedicatedNode 的“fixedScale”,也可以是定义定期重新计算的公式的“autoScale”。 如果未指定此属性,则池将具有具有 0 个 targetDedicatedNodes 的固定缩放。 | ScaleSettings |
startTask | 在 PATCH(更新)操作中,此属性可以设置为空对象,以从池中删除启动任务。 | StartTask |
taskSchedulingPolicy | 如果未指定,则默认为分散。 | TaskSchedulingPolicy |
userAccounts | 将在池中的每个节点上创建的用户帐户列表。 | UserAccount[] |
vmSize | 有关云服务池(使用 cloudServiceConfiguration 创建的池)的可用虚拟机大小的信息,请参阅云服务的大小(https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/)。 Batch 支持除 ExtraSmall 之外的所有云服务 VM 大小。 有关使用虚拟机市场(使用 virtualMachineConfiguration 创建的池)中的映像的可用 VM 大小的信息,请参阅虚拟机(Linux)(https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/)或虚拟机(Windows)的大小(https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/)。 Batch 支持除STANDARD_A0和具有高级存储(STANDARD_GS、STANDARD_DS和STANDARD_DSV2系列)之外的所有 Azure VM 大小。 | 字符串 |
PublicIPAddressConfiguration
名字 | 描述 | 价值 |
---|---|---|
ipAddressIds | 此处指定的 IP 数限制池的最大大小 - 可以为每个公共 IP 分配 50 个专用节点或 20 个低优先级节点。 例如,需要 150 个专用 VM 的池至少需要指定 3 个公共 IP。 此集合的每个元素都采用以下形式:/subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}。 | string[] |
准备 | 默认值为 BatchManaged | “BatchManaged” “NoPublicIPAddresses” “UserManaged” |
ResourceFile
名字 | 描述 | 价值 |
---|---|---|
autoStorageContainerName | autoStorageContainerName、storageContainerUrl 和 httpUrl 属性互斥,必须指定其中一个属性。 | 字符串 |
blobPrefix | 仅当使用 autoStorageContainerName 或 storageContainerUrl 时,该属性才有效。 此前缀可以是部分文件名或子目录。 如果未指定前缀,则会下载容器中的所有文件。 | 字符串 |
fileMode | 此属性仅适用于下载到 Linux 计算节点的文件。 如果为将下载到 Windows 节点的 resourceFile 指定,将忽略它。 如果未为 Linux 节点指定此属性,则将默认值 0770 应用于该文件。 | 字符串 |
filePath | 如果指定了 httpUrl 属性,则需要 filePath,并描述文件将下载到的路径,包括文件名。 否则,如果指定 autoStorageContainerName 或 storageContainerUrl 属性,则 filePath 是可选的,并且是将文件下载到的目录。 如果 filePath 用作目录,则与输入数据关联的任何目录结构都将完整保留并追加到指定的 filePath 目录。 指定的相对路径不能脱离任务的工作目录(例如,使用'.')。 | 字符串 |
httpUrl | autoStorageContainerName、storageContainerUrl 和 httpUrl 属性互斥,必须指定其中一个属性。 如果 URL 是 Azure Blob 存储,则必须使用匿名访问来读取它;也就是说,下载 Blob 时 Batch 服务不提供任何凭据。 可通过两种方法获取 Azure 存储中 Blob 的此类 URL:包括授予对 Blob 的读取权限的共享访问签名(SAS),或为 Blob 或其容器设置 ACL 以允许公共访问。 | 字符串 |
storageContainerUrl | autoStorageContainerName、storageContainerUrl 和 httpUrl 属性互斥,必须指定其中一个属性。 此 URL 必须使用匿名访问来读取和列出;也就是说,下载 Blob 时 Batch 服务不提供任何凭据。 可通过两种方法获取 Azure 存储中 Blob 的此类 URL:包括授予对 Blob 的读取和列表权限的共享访问签名(SAS),或为 Blob 或其容器设置 ACL 以允许公共访问。 | 字符串 |
ScaleSettings
名字 | 描述 | 价值 |
---|---|---|
autoScale | 此属性和 fixedScale 是互斥的,必须指定其中一个属性。 | AutoScaleSettings |
fixedScale | 此属性和 autoScale 互斥,必须指定其中一个属性。 | FixedScaleSettings |
StartTask
名字 | 描述 | 价值 |
---|---|---|
commandLine | 命令行未在 shell 下运行,因此不能利用 shell 功能(如环境变量扩展)。 如果要利用这些功能,则应在命令行中调用 shell,例如在 Windows 中使用“cmd /c MyCommand”或在 Linux 中使用“/bin/sh -c MyCommand”。 如果指定了 startTask 的任何其他属性,则为必需。 | 字符串 |
containerSettings | 指定此项后,AZ_BATCH_NODE_ROOT_DIR(节点上的 Azure Batch 目录的根目录)以递归方式映射到容器中,所有任务环境变量都映射到容器中,任务命令行在容器中执行。 | TaskContainerSettings |
environmentSettings | 启动任务的环境变量设置列表。 | EnvironmentSetting[] |
maxTaskRetryCount | 如果 Batch 服务退出代码为非零,则重试任务。 请注意,此值专门控制重试次数。 Batch 服务将尝试一次任务,然后最多可以重试此限制。 例如,如果最大重试计数为 3,Batch 将尝试任务最多 4 次(一次初始尝试和 3 次重试)。 如果最大重试计数为 0,Batch 服务不会重试该任务。 如果最大重试计数为 -1,Batch 服务将重试任务,且没有限制。 | int |
resourceFiles | Batch 服务在运行命令行之前将下载到计算节点的文件列表。 | ResourceFile[] |
userIdentity | 如果省略,任务将作为任务唯一的非管理用户运行。 | UserIdentity |
waitForSuccess | 如果 true 并且启动任务在计算节点上失败,Batch 服务将启动任务重试到其最大重试计数(maxTaskRetryCount)。 如果任务在所有重试后仍未成功完成,Batch 服务会将计算节点标记为不可用,并且不会为其计划任务。 可以通过节点状态和计划错误详细信息来检测此条件。 如果为 false,Batch 服务不会等待启动任务完成。 在这种情况下,当启动任务仍在运行时,其他任务可以开始在计算节点上执行;即使启动任务失败,新任务也会继续在节点上计划。 默认值为 true。 | bool |
TaskContainerSettings
名字 | 描述 | 价值 |
---|---|---|
containerRunOptions | 除了 Batch 服务控制的选项外,这些附加选项还作为“docker create”命令的参数提供。 | 字符串 |
imageName | 这是完整的映像引用,如指定为“docker pull”。 如果未将标记作为映像名称的一部分提供,则标记“:latest”用作默认值。 | string (必需) |
注册表 | 如果在创建池时已提供此设置,则可以省略此设置。 | ContainerRegistry |
workingDirectory | 用于指示容器任务工作目录所在的位置的标志。 默认值为“taskWorkingDirectory”。 | “ContainerImageDefault” “TaskWorkingDirectory” |
TaskSchedulingPolicy
名字 | 描述 | 价值 |
---|---|---|
nodeFillType | 如何跨计算节点分配任务。 | “Pack” “分散”(必需) |
UserAccount
名字 | 描述 | 价值 |
---|---|---|
elevationLevel | nonAdmin - 自动用户是没有提升访问权限的标准用户。 管理员 - 自动用户是具有提升访问权限并具有完全管理员权限的用户。 默认值为 nonAdmin。 | “Admin” “NonAdmin” |
linuxUserConfiguration | 如果在 Windows 池上指定此属性,则忽略此属性。 如果未指定,则使用默认选项创建用户。 | LinuxUserConfiguration |
名字 | 用户帐户的名称。 | string (必需) |
密码 | 用户帐户的密码。 | string (必需) |
windowsUserConfiguration | 只有在用户位于 Windows 池中时,才能指定此属性。 如果未指定且在 Windows 池上,则会使用默认选项创建用户。 | WindowsUserConfiguration |
UserIdentity
名字 | 描述 | 价值 |
---|---|---|
autoUser | userName 和 autoUser 属性互斥;必须指定一个,但不能同时指定两者。 | AutoUserSpecification |
userName | userName 和 autoUser 属性互斥;必须指定一个,但不能同时指定两者。 | 字符串 |
VirtualMachineConfiguration
名字 | 描述 | 价值 |
---|---|---|
containerConfiguration | 如果指定,则会在池中的每个节点上执行安装程序,以允许任务在容器中运行。 在此池上运行的所有常规任务和作业管理器任务都必须指定 containerSettings 属性,所有其他任务都可以指定它。 | ContainerConfiguration |
dataDisks | 如果池中的计算节点需要附加空数据磁盘,则必须指定此属性。 | DataDisk[] |
diskEncryptionConfiguration | 如果指定了加密,则会在节点预配期间对池中的每个节点执行加密。 | DiskEncryptionConfiguration |
imageReference | 对 Azure 虚拟机市场映像或自定义虚拟机的 Azure 映像资源的引用。 若要获取 Azure Batch 验证的所有 imageReference 的列表,请参阅“列出支持的节点代理 SKU”操作。 | ImageReference(必需) |
licenseType | 这仅适用于包含 Windows 操作系统的映像,并且仅在为将要部署的节点保留有效的本地许可证时使用。 如果省略,则不会应用本地许可折扣。 值为: Windows_Server - 本地许可证适用于 Windows Server。 Windows_Client - 本地许可证适用于 Windows 客户端。 |
字符串 |
nodeAgentSkuId | Batch 节点代理是在池中的每个节点上运行的程序,并在节点与 Batch 服务之间提供命令和控制接口。 对于不同的操作系统,节点代理(称为 SKU)有不同的实现。 必须指定与所选映像引用匹配的节点代理 SKU。 若要获取支持的节点代理 SKU 及其已验证映像引用列表,请参阅“列出支持的节点代理 SKU”操作。 | string (必需) |
windowsConfiguration | 如果 imageReference 指定 Linux OS 映像,则不能指定此属性。 | WindowsConfiguration |
WindowsConfiguration
名字 | 描述 | 价值 |
---|---|---|
enableAutomaticUpdates | 如果省略,则默认值为 true。 | bool |
WindowsUserConfiguration
名字 | 描述 | 价值 |
---|---|---|
loginMode | 指定用户的登录模式。 VirtualMachineConfiguration 池的默认值为交互式模式,而 CloudServiceConfiguration 池的默认值为批处理模式。 | “Batch” “Interactive” |