本页介绍了有关涉及 Azure 灵活服务器 PostgreSQL 的 Horizon Cloud 容器升级的重要事项。本页还介绍了为第一代租户启用包含使用 Azure 灵活服务器 PostgreSQL 的容器升级时的必备条件和所需过程。
要使用该功能,Horizon Cloud 运营团队必须明确为第一代租户启用该功能。
简介
使用 Microsoft Azure 单服务器 PostgreSQL 服务部署在 2024 年 9 月之前部署和升级的 Horizon Cloud 容器。
从 2024 年 9 月开始,如果您的租户支持使用 Microsoft Azure 灵活服务器 PostgreSQL 服务,则在升级您的容器时,这些容器将改用 Microsoft Azure 灵活服务器 PostgreSQL 服务。
下图展示了升级后容器的架构。此图与预升级容器的图之间的区别在于子网标记为 Database Network。连接到 Azure 灵活服务器 PostgreSQL 数据库服务需要此子网。有关此数据库子网的详细信息,请参阅以下部分。
容器清单信息
向启用了此功能的客户发布的工具名为 Omnissa Horizon Cloud on Microsoft Azure 2408,其中包括:
- 容器清单 5041.x。此清单包括对上述功能以及平台代码改进的支持(通常包含在已发布的清单中)
- Horizon Agents Installer (HAI) 24.2.0 清单兼容版本。
- 除非文档中另有说明,否则此 HAI 版本将内置到清单 5041.x 中。在清单为 5041.x 的容器中运行“导入虚拟机”向导将会从此 HAI 版本安装代理。对于在清单为 5041.x 的容器中已导入的虚拟机,也支持手动安装此 HAI 版本。
只有明确启用了 Azure 灵活服务器 PostgreSQL 功能的客户才能访问此版本车辆和容器清单。
必备条件
如果您的租户允许使用此功能,则必须先满足以下必备条件,然后才能升级容器。
-
在容器的 Azure 订阅中,对于要升级以使用此功能的每个容器,创建一个 CIDR /28 子网,然后在子网的属性中选择端点
Microsoft.Storage并将子网委派Microsoft.DBforPosgreSQL/flexibleServers设置为。Azure 灵活服务器 PostgreSQL 数据库服务将使用此子网,而不是使用容器的管理子网。在上面的架构图中,此新子网标记为Database Network。此子网可以驻留在容器的 VNet 中,也可以驻留在单独的 VNet 中。 -
如果容器的服务主体使用自定义角色,请向该自定义角色添加以下权限:
Microsoft.Network/privateDnsZones/virtualNetworkLinks/read和Microsoft.Network/privateDnsZones/read -
在 DNS 服务器中将 Azure IP
168.63.129.16添加为 IP 转发器或条件转发器。此必备条件为 DNS 服务器解析 Azure 专用 DNS 区域提供了条件,这是此容器清单的一项要求,如以下项目符号中所述。
- 如果 VNet 中有多个 DNS 服务器作为 VNet DNS 服务器,请将 IP 转发器或条件转发器添加到所有这些 DNS 服务器。
- 如果您的环境使用本地 DNS 服务器,并且 Azure 中未部署任何 DNS 服务器虚拟机,则可以与 Omnissa 支持部门合作,实施以下 Microsoft 建议的选项之一:
- 在 Azure 中部署自定义 DNS 服务器。
- 使用 Azure 专用 DNS 解析器服务
-
使用 Azure 门户,为要升级以使用此功能的每个容器创建一个具有以下特征的专用 DNS 区域:
- 专用 DNS 区域的名称必须采用以下模式,具体取决于容器的部署位置:
-
部署在 Azure 商业云中:
name.postgres.database.azure.com,其中 name 是您选择的名称,例如。hcspod1.postgres.database.azure.com当容器的订阅位于 Azure 商业云中时,专用 DNS 区域名称的模式*.postgres.database.azure.com必须满足 Horizon Universal Console 的验证和容器升级过程要求。 -
部署在 Azure 政府云中:
name.postgres.database.usgovcloudapi.net,其中 name 是您选择的名称,例如hcspod1.postgres.database.usgovcloudapi.net。当容器的订阅位于 Azure 商业云中时,专用 DNS 区域名称的模式*.postgres.database.usgovcloudapi.net必须满足 Horizon Universal Console 的验证和容器升级过程要求。
-
- 在专用 DNS 区域中,创建一个虚拟网络链接,该链接指向具有
Database Network必备子网(针对上述第一个必备条件创建的)的 VNet。 - 在专用 DNS 区域的记录集中,添加一个 A 类型的占位符记录集,其名称为 ,例如
hcs-pgflex-test,其 IP 为0.0.0.0。在升级过程开始之前,将使用此占位符进行主动验证检查。 - 从专用 DNS 区域的属性部分中,复制专用 DNS 区域的资源 ID。您需要在 Horizon Universal Console 的“编辑容器”流程中输入此资源 ID,以便在升级之前将该值存储在容器详细信息中。
- 专用 DNS 区域的名称必须采用以下模式,具体取决于容器的部署位置:
-
如果您的 DNS 服务器位于不同的 VNet 中,您还必须在专用 DNS 区域中创建一个虚拟网络链接以指向该 DNS 服务器。如果您有多个 DNS 服务器,并且它们属于不同的 VNet,请为其中每个 VNet 创建虚拟网络链接。
添加所需的数据库网络子网
创建子网以用于 Database Network CIDR /28,然后在子网的属性 Microsoft.Storage 中选择端点并将子网委派 Microsoft.DBforPosgreSQL/flexibleServers设置为。


使用必备条件设置创建专用 DNS 区域
以下屏幕截图显示了 Azure 门户中用于创建专用 DNS 区域的向导。在这些屏幕截图中,所选资源组与容器的 VNet 是同一个资源组,并且输入的名称为 hcspod1.postgres.database.azure.com。您可以选择在专用 DNS 区域自己的资源组中创建专用 DNS 区域。
注意: Azure 门户可能会显示一条与 azure.com 作为 Azure 基础架构域相关的消息。您可以忽略此消息。Microsoft 建议对 Azure 灵活服务器 PostgreSQL 服务使用专用 DNS 区域。

当门户指示已创建专用 DNS 区域时,转到该专用 DNS 区域并满足以下条件。
创建虚拟网络链接
在专用 DNS 区域中,创建一个虚拟网络链接,该链接指向具有 Database Network 必备子网(针对上述第一个必备条件创建的)的 VNet。向导会要求提供链接名称。以下屏幕截图说明创建名为 并选择了相应 VNet 的链接 hcspod1-vnetlink 。单击 创建 以完成添加链接。


注意: 如果您的 DNS 服务器位于不同的 VNet 中,您还必须在专用 DNS 区域中创建一个虚拟网络链接以指向该 DNS 服务器。如果您有多个 DNS 服务器,并且它们属于不同的 VNet,请为每个服务器创建虚拟网络链接。
添加占位符记录集
在专用 DNS 区域的记录集中,添加一个 A 类型的占位符记录集,其名称为 ,例如 hcs-pgflex-test,其 IP 为 0.0.0.0。在升级过程开始之前,将使用此占位符进行主动验证检查。以下屏幕截图说明了如何创建此占位符记录集。


复制专用 DNS 区域的资源 ID
从专用 DNS 区域的属性部分中,复制专用 DNS 区域的资源 ID。在升级准备流程中,您需要将此资源 ID 输入到 Horizon Universal Console 中,以便在升级之前将该值存储在容器详细信息中。
此资源 ID 将是 /subscriptions/UUID/resourceGroups/resourcegroup-name/providers/Microsoft.Network/privateDnsZones/name.postgres.database.azure.com 模式的长字符串,其中 UUID 是专用 DNS 区域的订阅的 UUID,resourcegroup-name 是专用 DNS ** 区域的资源组,而 name.postgres.database.azure.com 是专用 DNS 区域的名称。

在运行容器升级之前,请将所需的信息添加到容器详细信息中
在升级容器以使用灵活服务器 PostgreSQL 之前,您必须将有关数据库网络子网和专用 DNS 区域的信息添加到该容器的详细信息中。
UI 流程从以下横幅中的 升级 按钮开始。当 Horizon Cloud Operations 为您的租户启用此功能后,第一代 Horizon Universal Console 将显示有关升级到 PostgreSQL 灵活服务器的横幅,如以下屏幕截图中所示。

- 单击横幅的 升级 按钮以开始将有关数据库网络子网和专用 DNS 区域的所需信息添加到容器详细信息的 UI 流程。
控制台会显示一个对话框,其中介绍了必备条件并列出了租户的 Horizon Cloud 容器。状态列指示是否已将必备信息添加到该容器的详细信息中。

-
单击 容器对应的编辑 。此时将启动“编辑容器”向导。
-
在向导中,移动到容器详细信息步骤。在该步骤中,滚动到可以看到 “数据库 ”部分的位置。在此部分中,您将选择必备子网,然后粘贴从 Azure 门户复制的专用 DNS 区域的资源 ID。
第一个屏幕截图显示 “数据库 ”部分,第二个屏幕截图显示指定了值的 部分。


- 单击 保存并退出 以将数据保存到容器的详细信息中。
退出向导后,当您通过单击横幅的 升级 按钮重新打开对话框时,该对话框现在显示容器的状态为 Complete。

列出的状态为 Complete 的容器符合升级条件。
Horizon Cloud 运维团队将根据他们与您和 的通信情况,开始升级容器 标准容器升级过程。容器升级完成后,Horizon Cloud Operations 将向您发送通知。
成功升级后
为了在升级过程中遇到问题时支持容器回滚,在容器升级完成后,容器的 Azure 资源组将在容器的 Azure 资源组中包含以前清单的单服务器 PostgreSQL 和虚拟机磁盘。
当您向 Horizon Cloud 运维团队确认升级后一切正常后,运维团队将运行 API 以从资源组中删除这些项目。
此页面对您有帮助吗?