使用 PowerShell 部署具有预暂留群集服务对象和 DNS 记录的Azure Kubernetes 服务主机

适用于:Azure Stack HCI 22H2 上的 AKS、Windows Server 上的 AKS

本操作指南介绍如何使用 PowerShell 配置 AKS 主机部署,前提是 Azure Arc 在 AKS 中启用了预暂留群集服务对象和 DNS 记录。

开始之前

步骤 1:准备 Active Directory 和 DNS 服务器以进行部署

如果无法在 DNS 环境中启用动态 DNS 更新以允许 Arc 启用的 AKS 在 Active Directory 和 DNS 系统中注册云代理通用群集名称以供发现,则必须在 Active Directory 和 DNS 中预先创建相应的记录。

在 Active Directory 中创建一个泛型群集服务,其名称 ca-cloudagent (或所选名称) 不超过 32 个字符。 还必须使用提供的 cloudservicecidr 地址创建指向通用群集服务的 FQDN 的关联 DNS 记录。 有关此过程中步骤的更多详细信息,请参阅故障转移群集文档

在继续部署之前,AKS 部署会尝试在 Active Directory 中找到指定的 clusterRoleName

注意

部署 AKS 后,无法更改此信息。

步骤 2:准备要部署的计算机

在每个物理节点上运行检查,以查看是否满足安装 AKS Arc 的所有要求。以管理员身份打开 PowerShell 并运行以下 Initialize-AksHciNode 命令:

Initialize-AksHciNode

步骤 3:创建虚拟网络

若要为部署中的节点创建虚拟网络以供使用,请使用 PowerShell 命令创建环境变量 New-AksHciNetworkSetting 。 此变量稍后用于配置使用静态 IP 的部署。 如果要使用 DHCP 配置 AKS 部署,请参阅 New-AksHciNetworkSetting 获取示例。 还可以查看某些网络节点概念

#static IP
$vnet = New-AksHciNetworkSetting -name mgmt-vnet -vSwitchName "extSwitch" -k8sNodeIpPoolStart "172.16.10.1" -k8sNodeIpPoolEnd "172.16.10.255" -vipPoolStart "172.16.255.0" -vipPoolEnd "172.16.255.254" -ipAddressPrefix "172.16.0.0/16" -gateway "172.16.0.1" -dnsServers "172.16.0.1" 

注意

必须为环境自定义此示例命令中提供的值。

步骤 4:使用预暂暂的群集服务对象和 DNS 记录配置部署

使用 Set-AksHciConfig 命令设置 AKS 主机的配置设置。 必须指定 workingDircloudServiceCidrcloudConfigLocationclusterRoleName 参数。 如果要重置配置详细信息,请使用新参数再次运行该命令。

使用以下命令配置部署:

Set-AksHciConfig -workingDir c:\ClusterStorage\Volume1\workingDir -cloudConfigLocation c:\clusterstorage\volume1\Config -vnet $vnet -cloudservicecidr "172.16.10.10/16" -clusterRoleName "ca-cloudagent"

注意

为环境自定义此示例命令中提供的值。

步骤 5:登录到 Azure 并配置注册设置

使用订阅和资源组名称运行以下 Set-AksHciRegistration PowerShell 命令以登录到 Azure。 必须具有 Azure 订阅以及美国东部、东南亚或西欧 Azure 区域中的现有 Azure 资源组才能继续:

Set-AksHciRegistration -subscriptionId "<subscriptionId>" -resourceGroupName "<resourceGroupName>"

步骤 6:启动新部署

配置你的部署后,你必须启动它。 启动部署会安装 AKS 代理/服务和 AKS 主机。 若要开始部署,请运行以下命令:

Install-AksHci

警告

在安装 AKS 主机期间,会在注册期间设置的资源组中创建 Kubernetes - Azure Arc 资源类型。 请勿删除此资源,因为该资源表示你的 Azure Kubernetes 服务主机。 可以通过查看资源的分布字段的值是否为 aks_management 来识别该资源。 删除此资源会导致部署策略外。

在本操作指南中,你已了解如何使用 PowerShell 设置 AKS 主机(如果你有预暂暂的群集服务对象和 DNS 记录)。

后续步骤