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

New-AzAksNodePool

在指定的群集中创建新的节点池。

语法

New-AzAksNodePool
   -ResourceGroupName <String>
   -ClusterName <String>
   -Name <String>
   [-Count <Int32>]
   [-OsDiskSize <Int32>]
   [-VmSize <String>]
   [-VnetSubnetID <String>]
   [-MaxPodCount <Int32>]
   [-OsType <String>]
   [-OsSKU <String>]
   [-EnableNodePublicIp]
   [-NodePublicIPPrefixID <String>]
   [-ScaleSetPriority <String>]
   [-ScaleSetEvictionPolicy <String>]
   [-VmSetType <String>]
   [-AvailabilityZone <String[]>]
   [-Force]
   [-EnableEncryptionAtHost]
   [-EnableUltraSSD]
   [-LinuxOSConfig <LinuxOSConfig>]
   [-KubeletConfig <KubeletConfig>]
   [-MaxSurge <String>]
   [-PPG <String>]
   [-SpotMaxPrice <Double>]
   [-EnableFIPS]
   [-GpuInstanceProfile <String>]
   [-HostGroupID <String>]
   [-PodSubnetID <String>]
   [-KubernetesVersion <String>]
   [-MinCount <Int32>]
   [-MaxCount <Int32>]
   [-EnableAutoScaling]
   [-Mode <String>]
   [-NodeLabel <Hashtable>]
   [-Tag <Hashtable>]
   [-NodeTaint <String[]>]
   [-AksCustomHeader <Hashtable>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [-SubscriptionId <String>]
   [<CommonParameters>]
New-AzAksNodePool
   -Name <String>
   -ClusterObject <PSKubernetesCluster>
   [-Count <Int32>]
   [-OsDiskSize <Int32>]
   [-VmSize <String>]
   [-VnetSubnetID <String>]
   [-MaxPodCount <Int32>]
   [-OsType <String>]
   [-OsSKU <String>]
   [-EnableNodePublicIp]
   [-NodePublicIPPrefixID <String>]
   [-ScaleSetPriority <String>]
   [-ScaleSetEvictionPolicy <String>]
   [-VmSetType <String>]
   [-AvailabilityZone <String[]>]
   [-Force]
   [-EnableEncryptionAtHost]
   [-EnableUltraSSD]
   [-LinuxOSConfig <LinuxOSConfig>]
   [-KubeletConfig <KubeletConfig>]
   [-MaxSurge <String>]
   [-PPG <String>]
   [-SpotMaxPrice <Double>]
   [-EnableFIPS]
   [-GpuInstanceProfile <String>]
   [-HostGroupID <String>]
   [-PodSubnetID <String>]
   [-KubernetesVersion <String>]
   [-MinCount <Int32>]
   [-MaxCount <Int32>]
   [-EnableAutoScaling]
   [-Mode <String>]
   [-NodeLabel <Hashtable>]
   [-Tag <Hashtable>]
   [-NodeTaint <String[]>]
   [-AksCustomHeader <Hashtable>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [-SubscriptionId <String>]
   [<CommonParameters>]

说明

在指定的群集中创建新的节点池。

示例

示例 1:使用默认参数创建节点池

New-AzAksNodePool -ResourceGroupName myResouceGroup -ClusterName myCluster -Name mydefault

示例 2:在 AKS 上创建 Windows Server 容器

$cred = ConvertTo-SecureString -String "****" -AsPlainText -Force
New-AzAksCluster -ResourceGroupName myResourceGroup -Name myCluster -WindowsProfileAdminUserName azureuser -WindowsProfileAdminUserPassword $cred -NetworkPlugin azure -NodeVmSetType VirtualMachineScaleSets
New-AzAksNodePool -ResourceGroupName myResourceGroup -ClusterName myCluster -Name win1 -OsType Windows -VmSetType VirtualMachineScaleSets

示例 3:使用 LinuxOSConfig 和 KubeletConfig 创建节点池。

创建 AKS 节点池时,可以指定 kubelet 和 OS 配置。 类型LinuxOSConfigKubeletConfig以及必须分别和Microsoft.Azure.Management.ContainerService.Models.LinuxOSConfigMicrosoft.Azure.Management.ContainerService.Models.KubeletConfig分别。

$linuxOsConfigJsonStr = @'
            {
             "transparentHugePageEnabled": "madvise",
             "transparentHugePageDefrag": "defer+madvise",
             "swapFileSizeMB": 1500,
             "sysctls": {
              "netCoreSomaxconn": 163849,
              "netIpv4TcpTwReuse": true,
              "netIpv4IpLocalPortRange": "32000 60000"
             }
            }
'@
$linuxOsConfig = [Microsoft.Azure.Management.ContainerService.Models.LinuxOSConfig] ($linuxOsConfigJsonStr | ConvertFrom-Json)
$kubeletConfigStr = @'
            {
             "failSwapOn": false
            }
'@
$kubeletConfig = [Microsoft.Azure.Management.ContainerService.Models.KubeletConfig] ($kubeletConfigStr | ConvertFrom-Json)

New-AzAksNodePool -ResourceGroupName myResourceGroup -ClusterName myAKSCluster -Name mypool -LinuxOSConfig $linuxOsConfig -KubeletConfig $kubeletConfig

参数

-AksCustomHeader

Aks 自定义标头

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

-AvailabilityZone

节点的可用性区域。 必须使用 VirtualMachineScaleSets AgentPoolType。

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

-ClusterName

托管群集资源的名称。

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

-ClusterObject

指定要在其中创建节点池的群集对象。

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

-Confirm

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

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

-Count

节点池的默认节点数。

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

-DefaultProfile

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

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

-EnableAutoScaling

是否启用自动缩放程序

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

-EnableEncryptionAtHost

是否启用基于主机的 OS 和数据驱动器

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

-EnableFIPS

是否使用已启用 FIPS 的 OS

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

-EnableNodePublicIp

是否为节点启用公共 IP。

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

-EnableUltraSSD

是否启用 UltraSSD

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

-Force

即使节点池已存在,也创建节点池

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

-GpuInstanceProfile

用于为支持的 GPU VM SKU 指定 GPU MIG 实例配置文件的 GpuInstanceProfile。

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

-HostGroupID

专用主机组的完全限定资源 ID,用于预配虚拟机,仅在创建方案中使用,不允许在设置后更改。

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

-KubeletConfig

代理池节点上的 Kubelet 配置。

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

-KubernetesVersion

用于创建群集的 Kubernetes 版本。

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

-LinuxOSConfig

Linux 代理节点的 OS 配置。

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

-MaxCount

自动缩放的最大节点数

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

-MaxPodCount

可在节点上运行的 Pod 的最大数目。

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

-MaxSurge

升级期间激增的最大节点数或百分比。

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

-MinCount

用于自动缩放的最小节点数。

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

-Mode

池模式

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

-Name

节点池的名称。

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

-NodeLabel

用于生成 Kubernetes 网络的节点池标签。

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

-NodePublicIPPrefixID

节点池的公共 IP 前缀的资源 ID。

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

-NodeTaint

节点池创建和缩放期间添加到新节点的节点污点

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

-OsDiskSize

节点池的默认节点数。

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

-OsSKU

用于指定 OS SKU 的 OsSKU。 如果 OSType 为 Linux,则默认值为 Ubuntu。 当 Kubernetes <= 1.24 或 Windows2022(如果 OSType 为 Windows)时 >,默认值为 Windows2019。

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

-OsType

用于指定 os 类型的 OsType。 从 Linux 和 Windows 中进行选择。 默认为 Linux。

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

-PodSubnetID

启动时 Pod 将加入的子网的 ID。

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

-PPG

邻近放置组的 ID。

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

-ResourceGroupName

资源组的名称。

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

-ScaleSetEvictionPolicy

用于为低优先级虚拟机规模集指定逐出策略的 ScaleSetEvictionPolicy。 默认为 Delete。

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

-ScaleSetPriority

用于指定虚拟机规模集优先级的 ScaleSetPriority。 默认为常规。

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

-SpotMaxPrice

你愿意支付现成实例的最大价格(以美元为单位)。 可能的值是大于零或 -1 的任何小数值,指示默认价格是按需的。

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

-SubscriptionId

订阅 ID。 默认情况下,cmdlet 在当前上下文中设置的订阅中执行。 如果用户指定另一个订阅,则当前 cmdlet 在用户指定的订阅中执行。 重写订阅仅在当前 cmdlet 的生命周期内生效。 它不会更改上下文中的订阅,并且不会影响后续 cmdlet。

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

-Tag

要保留在代理池虚拟机规模集上的标记。

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

-VmSetType

表示节点池的类型。 可能的值包括:“VirtualMachineScaleSets”、“AvailabilitySet”

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

-VmSize

虚拟机的大小。 默认值为Standard_D2_v2。

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

-VnetSubnetID

VNet SubnetID 指定 VNet 的子网标识符。

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

-WhatIf

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

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

输入

PSKubernetesCluster

输出

PSNodePool