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

New-AzAksCluster

新建托管 Kubernetes 群集。

cmdlet 可以根据输入参数调用以下Microsoft图形 API:

  • POST /servicePrincipals

语法

New-AzAksCluster
   [-NodeVmSetType <String>]
   [-NodeVnetSubnetID <String>]
   [-NodeMaxPodCount <Int32>]
   [-NodeSetPriority <String>]
   [-NodePoolMode <String>]
   [-NodeOsSKU <String>]
   [-NodeScaleSetEvictionPolicy <String>]
   [-AddOnNameToBeEnabled <String[]>]
   [-WorkspaceResourceId <String>]
   [-SubnetName <String>]
   [-EnableRbac]
   [-WindowsProfileAdminUserName <String>]
   [-NetworkPlugin <String>]
   [-NetworkPolicy <String>]
   [-PodCidr <String>]
   [-ServiceCidr <String>]
   [-DnsServiceIP <String>]
   [-OutboundType <String>]
   [-LoadBalancerSku <String>]
   [-Force]
   [-GenerateSshKey]
   [-EnableNodePublicIp]
   [-NodePublicIPPrefixID <String>]
   [-AvailabilityZone <String[]>]
   [-NodeResourceGroup <String>]
   [-EnableEncryptionAtHost]
   [-EnableUltraSSD]
   [-NodeLinuxOSConfig <LinuxOSConfig>]
   [-NodeKubeletConfig <KubeletConfig>]
   [-NodeMaxSurge <String>]
   [-PPG <String>]
   [-EnableFIPS]
   [-AutoScalerProfile <ManagedClusterPropertiesAutoScalerProfile>]
   [-GpuInstanceProfile <String>]
   [-EnableUptimeSLA]
   [-EdgeZone <String>]
   [-NodeHostGroupID <String>]
   [-NodePodSubnetID <String>]
   [-EnableOidcIssuer]
   [-ResourceGroupName] <String>
   [-Name] <String>
   [[-ServicePrincipalIdAndSecret] <PSCredential>]
   [-Location <String>]
   [-LinuxProfileAdminUserName <String>]
   [-DnsNamePrefix <String>]
   [-KubernetesVersion <String>]
   [-NodeName <String>]
   [-NodeMinCount <Int32>]
   [-NodeMaxCount <Int32>]
   [-EnableNodeAutoScaling]
   [-NodeCount <Int32>]
   [-NodeOsDiskSize <Int32>]
   [-NodeVmSize <String>]
   [-NodePoolLabel <Hashtable>]
   [-NodePoolTag <Hashtable>]
   [-SshKeyValue <String>]
   [-AcrNameToAttach <String>]
   [-AsJob]
   [-Tag <Hashtable>]
   [-LoadBalancerAllocatedOutboundPort <Int32>]
   [-LoadBalancerManagedOutboundIpCount <Int32>]
   [-LoadBalancerOutboundIp <String[]>]
   [-LoadBalancerOutboundIpPrefix <String[]>]
   [-LoadBalancerIdleTimeoutInMinute <Int32>]
   [-ApiServerAccessAuthorizedIpRange <String[]>]
   [-EnableApiServerAccessPrivateCluster]
   [-ApiServerAccessPrivateDnsZone <String>]
   [-EnableApiServerAccessPrivateClusterPublicFQDN]
   [-FqdnSubdomain <String>]
   [-EnableManagedIdentity]
   [-AssignIdentity <String>]
   [-AutoUpgradeChannel <String>]
   [-DiskEncryptionSetID <String>]
   [-DisableLocalAccount]
   [-HttpProxy <String>]
   [-HttpsProxy <String>]
   [-HttpProxyConfigNoProxyEndpoint <String[]>]
   [-HttpProxyConfigTrustedCa <String>]
   [-AksCustomHeader <Hashtable>]
   [-AadProfile <ManagedClusterAADProfile>]
   [-WindowsProfileAdminUserPassword <SecureString>]
   [-EnableAHUB]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [-SubscriptionId <String>]
   [<CommonParameters>]

说明

创建新的Azure Kubernetes 服务(AKS)群集。

示例

示例 1:创建具有默认参数的 AKS。

New-AzAksCluster -ResourceGroupName myResourceGroup -Name myCluster

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

若要在 AKS 上创建 Windows Server 容器,必须在创建 AKS 时至少指定以下四个参数,并且必须 NetworkPlugin 分别指定值和 NodeVmSetType azure VirtualMachineScaleSets 值。 -WindowsProfileAdminUserName *** -WindowsProfileAdminUserPassword *** -NetworkPlugin azure -NodeVmSetType VirtualMachineScaleSets

$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 群集。

创建 AKS 群集时,可以指定 kubelet 和 OS 配置。 类型NodeLinuxOSConfigNodeKubeletConfig以及必须分别和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-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -NodeLinuxOSConfig $linuxOsConfig -NodeKubeletConfig $kubeletConfig

示例 4:使用 AutoScalerProfile 创建 AKS 群集。

创建 AKS 群集时,可以通过更改群集范围的自动缩放程序配置文件中的默认值来配置群集自动缩放程序的精细详细信息。

$AutoScalerProfile=@{
    ScanInterval="30s"
    Expander="least-waste"
}
$AutoScalerProfile=[Microsoft.Azure.Management.ContainerService.Models.ManagedClusterPropertiesAutoScalerProfile]$AutoScalerProfile

New-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -AutoScalerProfile $AutoScalerProfile

示例 5:使用 AadProfile 创建 AKS 群集。

创建 AKS 群集时,可以配置 AAD 配置文件。

$AKSAdminGroup=New-AzADGroup -DisplayName myAKSAdminGroup -MailNickname myAKSAdminGroup
$AadProfile=@{
    managed=$true
    enableAzureRBAC=$false
    adminGroupObjectIDs=[System.Collections.Generic.List[string]]@($AKSAdminGroup.Id)
}
$AadProfile=[Microsoft.Azure.Management.ContainerService.Models.ManagedClusterAADProfile]$AadProfile

New-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -AadProfile $AadProfile

参数

-AadProfile

Azure Active Directory 配置。

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

-AcrNameToAttach

将指定 ACR 的“acrpull”角色授予 AKS 服务主体,例如 myacr

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

-AddOnNameToBeEnabled

创建群集时要启用的加载项名称。

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

-AksCustomHeader

用于生成 Kubernetes 网络的 Aks 自定义标头。

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

-ApiServerAccessAuthorizedIpRange

有权访问 Kubernetes API 服务器的 IP 范围。

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

-ApiServerAccessPrivateDnsZone

群集的专用 DNS 区域模式。

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

-AsJob

在后台运行 cmdlet

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

-AssignIdentity

用户为群集分配托管标识的 ResourceId。

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

-AutoScalerProfile

要应用于群集自动缩放程序的参数。

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

-AutoUpgradeChannel

用于自动升级的升级通道。 有关详细信息,请参阅 https://learn.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel

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

-AvailabilityZone

群集的可用性区域。 必须使用 VirtualMachineScaleSets AgentPoolType。

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

-Confirm

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

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

-DefaultProfile

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

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

-DisableLocalAccount

应在托管群集上禁用本地帐户。

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

-DiskEncryptionSetID

用于启用加密的磁盘加密集的资源 ID。

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

-DnsNamePrefix

群集的 DNS 名称前缀。 如果用户计划添加 Windows 容器,则长度必须为 <9。

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

-DnsServiceIP

用于生成 Kubernetes 网络的 DNS 服务 IP。

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

-EdgeZone

边缘区域的名称。

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

-EnableAHUB

是否为 Windows VM 启用 Azure 混合用户权益(AHUB)。

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

-EnableApiServerAccessPrivateCluster

是否创建群集作为专用群集。

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

-EnableApiServerAccessPrivateClusterPublicFQDN

是否为专用群集创建其他公共 FQDN。

类型: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

-EnableManagedIdentity

使用托管标识管理群集资源组。

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

-EnableNodeAutoScaling

是否启用自动缩放程序

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

-EnableNodePublicIp

是否为节点启用公共 IP。

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

-EnableOidcIssuer

是否使用 enalbe OIDC 颁发者功能。

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

-EnableRbac

是否启用 Kubernetes 基于角色的访问

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

-EnableUltraSSD

是否启用 UltraSSD

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

-EnableUptimeSLA

是否使用运行时间 SLA。

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

-Force

创建群集(即使群集已存在)

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

-FqdnSubdomain

具有自定义专用 DNS 区域的专用群集的 FQDN 子域。

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

-GenerateSshKey

将 ssh 密钥文件生成到 {HOME}/.ssh/id_rsa。

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

-GpuInstanceProfile

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

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

-HttpProxy

要使用的 HTTP 代理服务器终结点。

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

-HttpProxyConfigNoProxyEndpoint

不应通过代理的终结点。

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

-HttpProxyConfigTrustedCa

用于连接到代理服务器的替代 CA 证书。

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

-HttpsProxy

要使用的 HTTPS 代理服务器终结点

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

-KubernetesVersion

用于创建群集的 Kubernetes 版本。

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

-LinuxProfileAdminUserName

Linux 虚拟机的用户名。

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

-LoadBalancerAllocatedOutboundPort

每个 VM 分配的 SNAT 端口的所需数量。

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

-LoadBalancerIdleTimeoutInMinute

所需的出站流空闲超时(以分钟为单位)。

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

-LoadBalancerManagedOutboundIpCount

群集负载均衡器的所需托管出站 IP 计数。

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

-LoadBalancerOutboundIp

群集负载均衡器的所需出站 IP 资源。

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

-LoadBalancerOutboundIpPrefix

群集负载均衡器的所需出站 IP 前缀资源。

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

-LoadBalancerSku

托管群集的负载均衡器 SKU。

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

-Location

群集的 Azure 位置。 默认为资源组的位置。

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

-Name

Kubernetes 托管群集名称。

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

-NetworkPlugin

用于生成 Kubernetes 网络的网络插件。

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

-NetworkPolicy

用于生成 Kubernetes 网络的网络策略。

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

-NodeCount

节点池的默认节点数。

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

-NodeHostGroupID

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

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

-NodeKubeletConfig

代理池节点上的 Kubelet 配置。

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

-NodeLinuxOSConfig

Linux 代理节点的 OS 配置。

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

-NodeMaxCount

自动缩放的最大节点数

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

-NodeMaxPodCount

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

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

-NodeMaxSurge

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

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

-NodeMinCount

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

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

-NodeName

订阅和资源组上下文中代理池配置文件的唯一名称。

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

-NodeOsDiskSize

节点池中每个节点的 OS 磁盘大小(以 GB 为单位)。 最小 30 GB。

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

-NodeOsSKU

节点池的默认 OS SKU。

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

-NodePodSubnetID

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

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

-NodePoolLabel

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

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

-NodePoolMode

NodePoolMode 表示节点池的模式。

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

-NodePoolTag

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

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

-NodePublicIPPrefixID

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

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

-NodeResourceGroup

包含代理池的资源组。

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

-NodeScaleSetEvictionPolicy

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

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

-NodeSetPriority

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

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

-NodeVmSetType

AgentPoolType 表示代理池的类型。 可能的值包括:“VirtualMachineScaleSets”、“AvailabilitySet”

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

-NodeVmSize

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

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

-NodeVnetSubnetID

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

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

-OutboundType

出站(出口)路由方法。

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

-PodCidr

用于生成 Kubernetes 网络的 Pod cidr。

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

-PPG

邻近放置组的 ID。

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

-ResourceGroupName

资源组名称。

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

-ServiceCidr

用于生成 Kubernetes 网络的服务 cidr。

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

-ServicePrincipalIdAndSecret

与 AAD 应用程序/服务主体关联的客户端 ID 和客户端密码。

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

-SshKeyValue

SSH 密钥文件值或密钥文件路径。 默认为 {HOME}/.ssh/id_rsa.pub。

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

-SubnetName

VirtualNode 加载项的子网名称。

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

-SubscriptionId

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

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

-Tag

要应用于资源的标记

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

-WhatIf

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

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

-WindowsProfileAdminUserName

用于 Windows VM 的管理员用户名。

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

-WindowsProfileAdminUserPassword

要用于 Windows VM 的管理员密码,其长度必须至少为 12,包含至少一个小写字符,即 [a-z][A-Z] 个和一个特殊字符 [!@#$%^&*()]

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

-WorkspaceResourceId

监视加载项工作区的资源 ID。

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

输入

None

输出

PSKubernetesCluster