你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

New-AzBatchPool

在 Batch 服务中创建池。

语法

New-AzBatchPool
   [-Id] <String>
   -VirtualMachineSize <String>
   [-DisplayName <String>]
   [-ResizeTimeout <TimeSpan>]
   [-TargetDedicatedComputeNodes <Int32>]
   [-TargetLowPriorityComputeNodes <Int32>]
   [-TaskSlotsPerNode <Int32>]
   [-UpgradePolicy <PSUpgradePolicy>]
   [-TaskSchedulingPolicy <PSTaskSchedulingPolicy>]
   [-ResourceTag <IDictionary>]
   [-Metadata <IDictionary>]
   [-InterComputeNodeCommunicationEnabled]
   [-StartTask <PSStartTask>]
   [-CertificateReferences <PSCertificateReference[]>]
   [-ApplicationPackageReferences <PSApplicationPackageReference[]>]
   [-ApplicationLicenses <System.Collections.Generic.List`1[System.String]>]
   [-CloudServiceConfiguration <PSCloudServiceConfiguration>]
   [-NetworkConfiguration <PSNetworkConfiguration>]
   [-MountConfiguration <PSMountConfiguration[]>]
   [-UserAccount <PSUserAccount[]>]
   [-CurrentNodeCommunicationMode <NodeCommunicationMode>]
   [-TargetNodeCommunicationMode <NodeCommunicationMode>]
   -BatchContext <BatchAccountContext>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzBatchPool
   [-Id] <String>
   -VirtualMachineSize <String>
   [-DisplayName <String>]
   [-ResizeTimeout <TimeSpan>]
   [-TargetDedicatedComputeNodes <Int32>]
   [-TargetLowPriorityComputeNodes <Int32>]
   [-TaskSlotsPerNode <Int32>]
   [-UpgradePolicy <PSUpgradePolicy>]
   [-TaskSchedulingPolicy <PSTaskSchedulingPolicy>]
   [-ResourceTag <IDictionary>]
   [-Metadata <IDictionary>]
   [-InterComputeNodeCommunicationEnabled]
   [-StartTask <PSStartTask>]
   [-CertificateReferences <PSCertificateReference[]>]
   [-ApplicationPackageReferences <PSApplicationPackageReference[]>]
   [-ApplicationLicenses <System.Collections.Generic.List`1[System.String]>]
   [-VirtualMachineConfiguration <PSVirtualMachineConfiguration>]
   [-NetworkConfiguration <PSNetworkConfiguration>]
   [-MountConfiguration <PSMountConfiguration[]>]
   [-UserAccount <PSUserAccount[]>]
   [-CurrentNodeCommunicationMode <NodeCommunicationMode>]
   [-TargetNodeCommunicationMode <NodeCommunicationMode>]
   -BatchContext <BatchAccountContext>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzBatchPool
   [-Id] <String>
   -VirtualMachineSize <String>
   [-DisplayName <String>]
   [-AutoScaleEvaluationInterval <TimeSpan>]
   [-AutoScaleFormula <String>]
   [-TaskSlotsPerNode <Int32>]
   [-UpgradePolicy <PSUpgradePolicy>]
   [-TaskSchedulingPolicy <PSTaskSchedulingPolicy>]
   [-ResourceTag <IDictionary>]
   [-Metadata <IDictionary>]
   [-InterComputeNodeCommunicationEnabled]
   [-StartTask <PSStartTask>]
   [-CertificateReferences <PSCertificateReference[]>]
   [-ApplicationPackageReferences <PSApplicationPackageReference[]>]
   [-ApplicationLicenses <System.Collections.Generic.List`1[System.String]>]
   [-CloudServiceConfiguration <PSCloudServiceConfiguration>]
   [-NetworkConfiguration <PSNetworkConfiguration>]
   [-MountConfiguration <PSMountConfiguration[]>]
   [-UserAccount <PSUserAccount[]>]
   [-CurrentNodeCommunicationMode <NodeCommunicationMode>]
   [-TargetNodeCommunicationMode <NodeCommunicationMode>]
   -BatchContext <BatchAccountContext>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzBatchPool
   [-Id] <String>
   -VirtualMachineSize <String>
   [-DisplayName <String>]
   [-AutoScaleEvaluationInterval <TimeSpan>]
   [-AutoScaleFormula <String>]
   [-TaskSlotsPerNode <Int32>]
   [-UpgradePolicy <PSUpgradePolicy>]
   [-TaskSchedulingPolicy <PSTaskSchedulingPolicy>]
   [-ResourceTag <IDictionary>]
   [-Metadata <IDictionary>]
   [-InterComputeNodeCommunicationEnabled]
   [-StartTask <PSStartTask>]
   [-CertificateReferences <PSCertificateReference[]>]
   [-ApplicationPackageReferences <PSApplicationPackageReference[]>]
   [-ApplicationLicenses <System.Collections.Generic.List`1[System.String]>]
   [-VirtualMachineConfiguration <PSVirtualMachineConfiguration>]
   [-NetworkConfiguration <PSNetworkConfiguration>]
   [-MountConfiguration <PSMountConfiguration[]>]
   [-UserAccount <PSUserAccount[]>]
   [-CurrentNodeCommunicationMode <NodeCommunicationMode>]
   [-TargetNodeCommunicationMode <NodeCommunicationMode>]
   -BatchContext <BatchAccountContext>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

New-AzBatchPool cmdlet 在 Azure Batch 服务中创建池,该池位于 BatchContext 参数指定的帐户下。

示例

示例 1:使用 CloudServiceConfiguration 使用 TargetDedicated 参数集创建新池

$configuration = New-Object -TypeName "Microsoft.Azure.Commands.Batch.Models.PSCloudServiceConfiguration" -ArgumentList @(4,"*")
New-AzBatchPool -Id "MyPool" -VirtualMachineSize "STANDARD_D1_V2" -CloudServiceConfiguration $configuration  -TargetDedicatedComputeNodes 3 -BatchContext $Context

池配置为将STANDARD_D1_V2虚拟机与系列 4 的操作系统版本配合使用。

示例 2:使用 VirtualMachineConfiguration 使用 TargetDedicated 参数集创建新池

$imageReference = New-Object -TypeName "Microsoft.Azure.Commands.Batch.Models.PSImageReference" -ArgumentList @("WindowsServer", "MicrosoftWindowsServer", "2016-Datacenter", "*")
$configuration = New-Object -TypeName "Microsoft.Azure.Commands.Batch.Models.PSVirtualMachineConfiguration" -ArgumentList @($imageReference, "batch.node.windows amd64")
New-AzBatchPool -Id "MyPool" -VirtualMachineSize "STANDARD_D1_V2" -VirtualMachineConfiguration $configuration -TargetDedicatedComputeNodes 3 -BatchContext $Context

此命令使用 TargetDedicated 参数集创建 ID 为 MyPool 的新池。 目标分配为三个计算节点。 池配置为将STANDARD_D1_V2虚拟机与 Windows-2016-Datacenter 操作系统映像配合使用。

示例 3:使用自动缩放参数集创建新池

$imageReference = New-Object -TypeName "Microsoft.Azure.Commands.Batch.Models.PSImageReference" -ArgumentList @("WindowsServer", "MicrosoftWindowsServer", "2016-Datacenter", "*")
$configuration = New-Object -TypeName "Microsoft.Azure.Commands.Batch.Models.PSVirtualMachineConfiguration" -ArgumentList @($imageReference, "batch.node.windows amd64")
New-AzBatchPool -Id "AutoScalePool" -VirtualMachineSize "STANDARD_D1_V2" -VirtualMachineConfiguration $configuration -AutoScaleFormula '$TargetDedicated=2;' -BatchContext $Context

此命令使用 AutoScale 参数集创建 ID 为 AutoScalePool 的新池。 池配置为使用具有 Windows-2016-Datacenter 操作系统映像的STANDARD_D1_V2虚拟机,并且计算节点的目标数由自动缩放公式决定。

示例 4:创建包含子网中的节点的池

$imageReference = New-Object -TypeName "Microsoft.Azure.Commands.Batch.Models.PSImageReference" -ArgumentList @("WindowsServer", "MicrosoftWindowsServer", "2016-Datacenter", "*")
$configuration = New-Object -TypeName "Microsoft.Azure.Commands.Batch.Models.PSVirtualMachineConfiguration" -ArgumentList @($imageReference, "batch.node.windows amd64")
$networkConfig = New-Object Microsoft.Azure.Commands.Batch.Models.PSNetworkConfiguration
$networkConfig.SubnetId = "/subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}"
New-AzBatchPool -Id "AutoScalePool" -VirtualMachineSize "STANDARD_D1_V2" -VirtualMachineConfiguration $configuration -TargetDedicatedComputeNodes 3 -NetworkConfiguration $networkConfig -BatchContext $Context

示例 5:使用自定义用户帐户创建池

$imageReference = New-Object -TypeName "Microsoft.Azure.Commands.Batch.Models.PSImageReference" -ArgumentList @("WindowsServer", "MicrosoftWindowsServer", "2016-Datacenter", "*")
$configuration = New-Object -TypeName "Microsoft.Azure.Commands.Batch.Models.PSVirtualMachineConfiguration" -ArgumentList @($imageReference, "batch.node.windows amd64")
$userAccount = New-Object Microsoft.Azure.Commands.Batch.Models.PSUserAccount -ArgumentList @("myaccount", "mypassword")
New-AzBatchPool -Id "AutoScalePool" -VirtualMachineSize "STANDARD_D1_V2" -VirtualMachineConfiguration $configuration -TargetDedicatedComputeNodes 3 -UserAccount $userAccount

参数

-ApplicationLicenses

Batch 服务将在池中的每个计算节点上可用的应用程序许可证列表。

类型:List<T>[String]
别名:ApplicationLicense
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ApplicationPackageReferences

类型:PSApplicationPackageReference[]
别名:ApplicationPackageReference
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-AutoScaleEvaluationInterval

指定池大小根据自动缩放公式自动调整之前经过的时间(以分钟为单位)。 默认值为 15 分钟,最小值为 5 分钟。

类型:Nullable<T>[TimeSpan]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-AutoScaleFormula

指定用于自动缩放池的公式。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-BatchContext

指定 此 cmdlet 用于与 Batch 服务交互的 BatchAccountContext 实例。 如果使用 Get-AzBatchAccount cmdlet 获取 BatchAccountContext,Microsoft 则在与 Batch 服务交互时将使用 entra 身份验证。 若要改用共享密钥身份验证,请使用 Get-AzBatchAccountKey cmdlet 获取填充其访问密钥的 BatchAccountContext 对象。 使用共享密钥身份验证时,默认使用主访问密钥。 若要更改要使用的密钥,请设置 BatchAccountContext.KeyInUse 属性。

类型:BatchAccountContext
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-CertificateReferences

指定与池关联的证书。 Batch 服务在池的每个计算节点上安装引用的证书。

类型:PSCertificateReference[]
别名:CertificateReference
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-CloudServiceConfiguration

根据 Azure 云服务平台指定池的配置设置。

类型:PSCloudServiceConfiguration
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Confirm

提示你在运行 cmdlet 之前进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-CurrentNodeCommunicationMode

当前池通信模式。

类型:NodeCommunicationMode
接受的值:Default, Classic, Simplified
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DefaultProfile

用于与 Azure 通信的凭据、帐户、租户和订阅。

类型:IAzureContextContainer
别名:AzContext, AzureRmContext, AzureCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DisplayName

指定池的显示名称。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Id

指定要创建的池的 ID。

类型:String
Position:0
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-InterComputeNodeCommunicationEnabled

指示此 cmdlet 为专用计算节点之间的直接通信设置池。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Metadata

指定要添加到新池的元数据作为键/值对。 密钥是元数据名称。 该值是元数据值。

类型:IDictionary
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-MountConfiguration

要安装在池中每个节点上的文件系统列表。 这支持 Azure 文件存储、NFS、CIFS/SMB 和 Blobfuse。

类型:PSMountConfiguration[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-NetworkConfiguration

池的网络配置。

类型:PSNetworkConfiguration
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ResizeTimeout

指定将计算节点分配到池的超时。

类型:Nullable<T>[TimeSpan]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ResourceTag

要与 Azure Batch 池关联的用户定义的标记。指定后,这些标记将传播到与池关联的支持 Azure 资源。仅当使用 poolAllocationMode 属性设置为“UserSubscription”创建的 Batch 帐户时,才能指定此属性。

类型:IDictionary
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-StartTask

指定池的启动任务规范。 当计算节点加入池或重启或重新映像计算节点时,将运行启动任务。

类型:PSStartTask
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-TargetDedicatedComputeNodes

指定要分配给池的专用计算节点的目标数目。

类型:Nullable<T>[Int32]
别名:TargetDedicated
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-TargetLowPriorityComputeNodes

指定要分配给池的低优先级计算节点的目标数目。

类型:Nullable<T>[Int32]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-TargetNodeCommunicationMode

池的所需节点通信模式。

类型:NodeCommunicationMode
接受的值:Default, Classic, Simplified
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-TaskSchedulingPolicy

指定任务计划策略,例如 ComputeNodeFillType。

类型:PSTaskSchedulingPolicy
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-TaskSlotsPerNode

可用于在池中单个计算节点上运行并发任务的任务槽数。 默认值是 1秒。 最大值是池的 vmSize 核心数或 256 的 4 倍。

类型:Nullable<T>[Int32]
别名:MaxTasksPerComputeNode
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-UpgradePolicy

NewBatchPoolCommand.cs 中池的升级策略。

类型:PSUpgradePolicy
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-UserAccount

将在池中的每个节点上创建的用户帐户列表。

类型:PSUserAccount[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-VirtualMachineConfiguration

指定虚拟机基础结构上池的配置设置。

类型:PSVirtualMachineConfiguration
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-VirtualMachineSize

指定池中虚拟机的大小。 有关虚拟机大小的详细信息,请参阅 azure 站点Microsoft中虚拟机 的大小。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

输入

BatchAccountContext

输出

Void