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

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

本操作指南介绍如何使用 PowerShell 在 Azure Arc 启用的 AKS 中预先暂存群集服务对象和 DNS 记录来配置 AKS 主机部署。

开始之前

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

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

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

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

注意

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

步骤 2:准备计算机进行部署

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

Initialize-AksHciNode

步骤 3:创建虚拟网络

若要为要使用的部署中的节点创建虚拟网络,请使用 New-AksHciNetworkSetting PowerShell 命令创建环境变量。 此变量稍后用于配置使用静态 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 。 删除此资源会导致策略外部署。

后续步骤