New-AksHciCluster

摘要

创建新的托管 Kubernetes 群集。

语法

New-AksHciCluster -name <String>
                 [-nodePoolName <String>]
                 [-nodeCount <int>]
                 [-osType {linux, windows}]
                 [-kubernetesVersion <String>]
                 [-controlPlaneNodeCount <int>]
                 [-controlPlaneVmSize <VmSize>]
                 [-loadBalancerVmSize <VmSize>]
                 [-loadBalancerSettings <loadBalancer>]
                 [-nodeVmSize <VmSize>]
                 [-taints <Taint>]
                 [-nodeMaxPodCount <int>]
                 [-vnet <Virtual Network>]
                 [-primaryNetworkPlugin <Network Plugin>]   
                 [-enableAdAuth]
                 [-enableMonitoring]
                 [-enableAutoScaler] 
                 [-enableAzureRBAC] 
                 [-autoScalerProfileName]

说明

在 AKS 混合群集上创建新的Azure Kubernetes 服务。

示例

具有所需参数的 Azure 本地和 Windows Server 群集上的新 AKS

New-AksHciCluster -name mycluster

注意

请勿在群集名称中包含连字符,否则群集创建可能会失败。

此示例部署一个群集,其中包含一个控制平面节点、一个名为 mycluster-linux 节点计数为 1 的 Linux 节点池,以及一 mycluster-windows个名为空的 Windows 节点池。 仍可以使用 Set-AksHciCluster 命令缩放工作器节点,也可以使用 Set-AksHciNodePool 命令按节点池进行缩放。

ProvisioningState     : provisioned
KubernetesVersion     : v1.20.7
NodePools             : {mycluster-linux, mycluster-windows}
WindowsNodeCount      : 0
LinuxNodeCount        : 1
ControlPlaneNodeCount : 1
Name                  : mycluster

具有新参数集默认值的 Azure 本地群集上的新 AKS

PS C:\ New-AksHciCluster -name mycluster -nodePoolName nodepool1
ProvisioningState     : provisioned
KubernetesVersion     : v1.20.7
NodePools             : nodepool1
WindowsNodeCount      : 0
LinuxNodeCount        : 0
ControlPlaneNodeCount : 1
Name                  : mycluster

注意

如果使用上述示例所示的新参数集, WindowsNodeCount 则输出中的和 LinuxNodeCount 字段将不准确,并且始终显示为 0。 若要获取 Windows 或 Linux 节点的准确计数,请使用 Get-AksHciNodePool 命令。

此命令部署具有其默认值的群集。 部署的群集与第二个示例命令相同。

具有 Linux 节点池的 Azure 本地群集上的新 AKS

New-AksHciCluster -name mycluster -nodePoolName nodepool1 -nodeCount 1 -nodeVmSize Standard_K8S3_v1 -osType linux

具有 Windows 节点池的 Azure 本地群集上的新 AKS

New-AksHciCluster -name mycluster -nodePoolName nodepool1 -nodeCount 1 -nodeVmSize Standard_K8S3_v1 -osType Windows -osSku Windows2022

具有 Linux 节点池和污点的 Azure 本地群集上的新 AKS

New-AksHciCluster -name mycluster -nodePoolName nodepool1 -nodeCount 1 -osType linux -taints sku=gpu:NoSchedule

具有 Linux 节点池和最大 Pod 计数的 Azure 本地群集上的新 AKS

New-AksHciCluster -name mycluster -nodePoolName nodepool1 -nodeCount 1 -osType linux -nodeMaxPodCount 100

具有自定义 VM 大小的 Azure 本地群集上的新 AKS

New-AksHciCluster -name mycluster -controlPlaneVmSize Standard_D4s_v3 -loadBalancerVmSize Standard_A4_v2 -nodePoolName nodepool1 -nodeCount 3 -nodeVmSize Standard_D8s_v3

具有高可用性控制平面节点的 Azure 本地群集上的新 AKS

New-AksHciCluster -name mycluster -controlPlaneNodeCount 3 -nodePoolName nodepool1 -nodeCount 3

已启用监视的 Azure 本地群集上的新 AKS

New-AksHciCluster -name mycluster -nodePoolName nodepool1 -nodeCount 3 -enableMonitoring

启用了 AD 身份验证的 Azure 本地群集上的新 AKS

New-AksHciCluster -name mycluster -nodePoolName nodepool1 -nodeCount 3 -enableAdAuth

具有特定 Kubernetes 版本的 Azure 本地群集上的新 AKS

New-AksHciCluster -name mycluster -nodePoolName nodepool1 -nodeCount 3 -kubernetesVersion v1.21.2

已启用自动缩放程序和默认自动缩放程序配置文件的 Azure 本地群集上的新 AKS

New-AksHciCluster -name mycluster -enableAutoScaler $true

启用了自动缩放程序的 Azure 本地群集上的新 AKS 和命名的自动缩放程序配置文件

New-AksHciCluster -name mycluster -enableAutoScaler $true -autoScalerProfileName myAutoScalerProfile

参数

-name

Kubernetes 群集的名称。 请勿在群集名称中包含连字符,否则群集创建可能会失败。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-kubernetesVersion

指定要部署的 Kubernetes 版本。 默认值为最新版本。 若要获取可用版本的列表,请运行 Get-AksHciKubernetesVersion

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value:  v1.20.7
Accept pipeline input: False
Accept wildcard characters: False

-controlPlaneNodeCount

控制平面中的节点数。 默认值为 1。

Type: System.Int32
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: 1
Accept pipeline input: False
Accept wildcard characters: False

-controlPlaneVmSize

控制平面 VM 的大小。 默认值为 Standard_A4_V2。 若要获取可用 VM 大小的列表,请运行 Get-AksHciVmSize

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: Standard_A4_V2
Accept pipeline input: False
Accept wildcard characters: False

-loadBalancerVmSize

负载均衡器 VM 的大小。 默认值为 Standard_A4_V2。 若要获取可用 VM 大小的列表,请运行 Get-AksHciVmSize

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: Standard_A4_V2
Accept pipeline input: False
Accept wildcard characters: False

-loadBalancerSettings

使用 New-AksHciLoadBalancerSetting 创建的负载均衡器设置对象。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-taints

节点池的节点排斥。 创建节点池后,无法更改节点排斥。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-nodeMaxPodCount

可部署到节点的最大 Pod 数。 此数字必须大于 50。

Type: System.Int32
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: 110
Accept pipeline input: False
Accept wildcard characters: False

-nodePoolName

节点池的名称。 这是新节点池体验的一部分的新参数。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-nodeCount

节点池中的节点数。 如果使用参数 -nodePoolName ,则默认值为 1。 这是新节点池体验的一部分的新参数。

Type: System.Int32
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: 1
Accept pipeline input: False
Accept wildcard characters: False

-nodeVmSize

节点池中的节点或 VM 的大小。 如果使用参数 -nodePoolName ,则默认值为Standard_K8S3_v1。 这是新节点池体验的一部分的新参数。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: Standard_K8S3_v1
Accept pipeline input: False
Accept wildcard characters: False

-osType

节点池中节点的 OS 类型。 该值必须是“Linux”或“Windows”。 如果使用参数 -nodePoolName ,则默认值为“Linux”。 这是新节点池体验的一部分的新参数。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: Linux
Accept pipeline input: False
Accept wildcard characters: False

vnet-

使用 New-AksHciClusterNetwork 创建的对象的名称AksHciNetworkSetting

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-primaryNetworkPlugin

要用于部署的网络插件。 此参数使用或 flannel calico. Calico 适用于 Linux 和 Windows 工作负荷群集。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: calico
Accept pipeline input: False
Accept wildcard characters: False

-enableADAuth

在 Kubernetes 群集中启用 Active Directory。

Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-enableMonitoring

启用 Prometheus 监视。

Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-enableAutoScaler

启用自动缩放程序。

Type: System.Boolean
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-enableAzureRBAC

在群集上启用 Azure RBAC。

Type: System.Boolean
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-autoScalerProfileName

自动缩放程序配置文件的名称。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

后续步骤

AksHci PowerShell 参考