通过 Azure 资源管理器部署模板部署 Azure Stack HCI 版本 23H2
适用于:Azure Stack HCI 版本 23H2
本文详细介绍了如何使用 Azure 门户 中的 Azure 资源管理器 模板在环境中部署 Azure Stack HCI。 本文还包含开始部署所需的先决条件和准备步骤。
重要
Azure 资源管理器 Azure Stack HCI 版本 23H2 系统的模板部署面向大规模部署。 此部署的预期受众是具有部署 Azure Stack HCI 群集经验的 IT 管理员。 建议先通过 Azure 门户 部署版本 23H2 系统,然后通过资源管理器模板执行后续部署。
先决条件
- 完成 向 Azure Arc 注册服务器并分配部署权限。 确保:
- 所有必需的扩展都已成功安装。 必需的扩展包括:Azure Edge 生命周期管理器、Azure Edge 设备管理、遥测和诊断,以及 Azure Edge 远程支持。
- 所有服务器都运行相同的操作系统版本。
- 所有服务器都具有相同的网络适配器配置。
步骤 1:准备 Azure 资源
按照以下步骤准备部署所需的 Azure 资源:
创建服务主体和客户端机密
若要对群集进行身份验证,需要为 Arc 资源桥(ARB)创建服务主体和相应的 客户端机密 。
为 ARB 创建服务主体
按照创建Microsoft Entra 应用程序和服务主体中的步骤操作,该主体可以通过Azure 门户访问资源,以创建服务主体并分配角色。 或者,使用 PowerShell 过程通过 Azure PowerShell 创建 Azure 服务主体。
此处还汇总了这些步骤:
以至少云应用程序管理员身份登录到 Microsoft Entra 管理中心 。 浏览到标识>应用程序>应用注册然后选择“新建注册”。
为应用程序提供名称,选择受支持的帐户类型,然后选择“注册”。
创建服务主体后,转到 “企业应用程序 ”页。 搜索并选择创建的 SPN。
在属性下,复制 此服务主体的应用程序(客户端)ID 和 对象 ID 。
对参数使用应用程序(客户端)ID
arbDeploymentAppID
,对资源管理器模板中的参数使用对象 IDarbDeploymentSPNObjectID
。
为 ARB 服务主体创建客户端密码
转到你创建的应用程序注册并浏览到 证书和机密 > 客户端机密。
选择 + 新客户端密码。
为客户端机密添加说明,并在其过期时提供时间范围。 选择 添加 。
复制客户端机密值,以供稍后使用。
注意
对于应用程序客户端 ID,需要它是机密值。 除非创建后立即查看客户端机密值。 在离开页面之前,请务必保存此值。
对资源管理器模板中的参数使用客户端机密值
arbDeploymentAppSecret
。
获取 Azure Stack HCI 资源提供程序的对象 ID
Azure Stack HCI RP 的此对象 ID 对于每个 Azure 租户是唯一的。
在 Azure 门户中,搜索并选择“Microsoft Entra ID”。
转到 “概述 ”选项卡,搜索 Microsoft.AzureStackHCI 资源提供程序。
选择列出的 SPN 并复制 对象 ID。
或者,可以使用 PowerShell 获取 Azure Stack HCI RP 服务主体的对象 ID。 在 PowerShell 中运行以下命令:
Get-AzADServicePrincipal -DisplayName "Microsoft.AzureStackHCI Resource Provider"
对资源管理器模板中的参数使用对象 ID
hciResourceProviderObjectID
。
步骤 2:使用 Azure 资源管理器 模板进行部署
资源管理器模板创建并分配部署所需的所有资源权限。
完成所有先决条件和准备步骤后,即可使用已知良好且经过测试资源管理器部署模板和相应的参数 JSON 文件进行部署。 使用 JSON 文件中包含的参数填写所有值,包括之前生成的值。
重要
在此版本中,请确保填写 JSON 值中包含的所有参数,包括具有 null 值的参数。 如果存在 null 值,则需要填充这些值或验证失败。
在Azure 门户中,转到“主页”并选择“+ 创建资源”。
在“模板部署”下选择“创建”(使用自定义模板进行部署)。
在页面底部附近,找到 快速入门模板或模板规格 部分的“开始”。 选择 “快速入门模板 ”选项。
使用快速入门模板(免责声明)字段筛选相应的模板。 键入 筛选器的 azurestackhci/create-cluster 。
完成后, 选择模板。
在 “基本信息 ”选项卡上,可以看到“ 自定义部署 ”页。 可以通过下拉列表选择各种参数,或选择“ 编辑参数”。
编辑网络意向或存储网络意向等参数。 填写参数后, 保存 参数文件。
为环境选择适当的资源组。
滚动到底部,确认 部署模式 = 验证。
选择“查看 + 创建”。
在“查看 + 创建”选项卡中,选择“创建”。 这会创建剩余的先决条件资源并验证部署。 验证需要大约 10 分钟才能完成。
验证完成后,选择“ 重新部署”。
在 “自定义部署 ”屏幕上,选择“ 编辑参数”。 加载以前保存的参数,然后选择“ 保存”。
在工作区底部,将 JSON 中的最终值从“验证”更改为“部署”,其中部署模式 = 部署。
验证参数 JSON 是否填充了资源管理器部署模板的所有字段。
为环境选择适当的资源组。
滚动到底部,确认 部署模式 = 部署。
选择“查看 + 创建”。
选择“创建”。 部署开始,使用在“验证”步骤中创建的现有先决条件资源。
部署期间群集资源上的部署屏幕周期。
部署启动后,将运行有限的环境检查器、完整的环境检查器运行和云部署启动。 几分钟后,可以在门户中监视部署。
在新的浏览器窗口中,导航到环境的资源组。 选择群集资源。
选择“部署”。
刷新并观察第一台服务器的部署进度(也称为种子服务器,也是部署群集的第一台服务器)。 部署需要 2.5 到 3 小时。 几个步骤需要 40-50 分钟或更多时间。
部署中花费时间最长的步骤是 部署 Moc 和 ARB Stack。 此步骤需要 40-45 分钟。
完成后,顶部的任务会更新状态和结束时间。
还可以查看此社区源模板,以 使用 Bicep 部署 Azure Stack HCI 版本 23H2 群集。
排查部署问题
如果部署失败,则应在部署页上看到一条错误消息。
ARM 模板部署的已知问题
本部分包含 ARM 模板部署的已知问题和解决方法。
角色分配已存在
问题:在此版本中,你可能会看到 角色分配已存在 错误。 如果首先尝试从门户进行 Azure Stack HCI 群集部署,并且用于 ARM 模板部署的同一资源组,则会发生此错误。 在适用资源的“概述>部署详细信息”页上看到此错误。 此错误表示同一资源组范围的另一个标识已完成等效的角色分配,ARM 模板部署无法执行角色分配。
解决方法:尽管可以忽略这些错误,但部署可以通过 ARM 模板继续,但我们强烈建议不要在门户和 ARM 模板之间交换部署模式。
不允许更新租户 ID、应用程序 ID、主体 ID 和范围
问题:角色分配失败, 租户 ID、应用程序 ID、主体 ID 和作用域不允许更新。 在适用资源的“概述>部署详细信息”页上看到此错误。 当同一资源组中存在僵尸角色分配时,可能会显示此错误。 例如,执行之前部署时,删除了与该部署对应的资源,但角色分配资源会保留。
解决方法:若要标识僵尸角色分配,请转到 访问控制(IAM) > 角色分配 > 类型:未知 选项卡。这些分配被列为 *找不到标识。找不到标识。 删除此类角色分配,然后重试 ARM 模板部署。
许可证同步问题
问题:在此版本中,使用 ARM 模板部署时可能会遇到许可证同步问题。
解决方法:群集完成验证阶段后,如果群集处于部署失败状态,建议不要在“验证”模式下启动另一个 ARM 模板部署。 启动另一个部署会重置群集属性,这可能会导致许可证同步问题。