本文档页面介绍了一些维护包含已部署 Horizon Cloud 容器的 VMware 软件组件时需要了解的重要事项。

简介

系统维护活动包括自动更新容器软件组件以引入新功能、修复和改进服务支持性及弹性。

为了在接近零的停机时间情况下完成容器和网关设备更新,系统使用最终用户会话计数。当只有少量用户连接到具有活动会话的环境时,系统会使用会话计数来确定完成更新的最佳时间。

将现有容器更新到较新清单版本的维护活动是在系统确定的日期和时间由系统在云平面上启动的。

为了表明您希望任何此类系统维护活动在一周中的特定工作日和时间开始,您可以使用控制台指定每个容器的首选维护时段。

对于未在控制台中指定首选维护时段的容器,VMware 可以在方便时随时安排对该容器进行维护。

注:此文档页面中所述,从 2022 日历年年初开始,服务改进了升级代码,以便能以编程方式使用 Azure 应用商店中由 VMware 提供的 VMware 产品。当升级预检查确定订阅禁止以编程方式使用这些 VMware 产品时,您必须按照此文档页面中所述完成相应操作,以解决阻止更新错误。

例如,如果与用于容器及其网关配置的订阅相关联的 Horizon Cloud 服务主体使用自定义角色(非典型),请确保该自定义角色包含以下两项权限。增强的升级 API 代码要求具备这些权限才能从应用商店检索产品列表并获取相应 VMware 产品。如果自定义角色尚未包含这两项权限,请先为该自定义角色添加这两项权限,然后再执行容器和网关升级过程。

Microsoft.MarketplaceOrdering/offertypes/publishers/offers/plans/agreements/read
Microsoft.MarketplaceOrdering/offertypes/publishers/offers/plans/agreements/write

当已部署的容器中使用的软件组件更新到新版本时,该容器的清单版本号会增大到更高的版本号,例如 2632.0。如果有对容器可维护性和支持操作重要的改进,VMware 可以创建新的清单(即,时间点版本,如 2632.1)。控制台将在“容量”页面上显示容器的清单。

有关从低于 3328 的清单版本更新容器的重要信息

从 2022 年 2 月开始,容器管理器虚拟机的网卡遵循与 Unified Access Gateway 虚拟机的网卡相同的基础架构设计模式。

在自此以后的新容器部署中以及从低于 3328 的清单版本进行容器更新时,部署程序会实例化支持运行容器以及后续更新所需的所有必要网络。容器的资源组现在将拥有 8 个网卡:

  • 4 个网卡,从容器的管理子网中保留 4 个 IP 地址
  • 4 个网卡,从容器的主虚拟机子网(过去称为租户子网)中保留 4 个 IP 地址。

这 8 个容器网卡将持续存在,并在容器的生命周期内继续保留为其分配的 IP 地址。

此设计可实现更快、更具弹性的容器更新。在此设计之前,容器更新时,需要在绿色容器增建过程中创建新网卡,并在更新时从容器子网中获取这些网卡的 IP 地址。使用这种设计,Azure 中可能会发生超时并中断更新过程。

在此设计中,部署程序会预先实例化所有必需的网络,并将保留管理子网和虚拟机(租户)子网中的网卡及其 IP 地址,以便在后续容器更新中使用。这种设计与用于 Unified Access Gateway 实例的模式一致。

如果容器的资源组中还没有 8 个网卡,并且计划将该容器更新到清单 3328 或更高版本,您必须执行这些操作。

更新该容器之前,请确保容器管理子网的 IP 地址和主虚拟机(租户)子网的 IP 地址仅由 Horizon Cloud on Microsoft Azure 创建和配置的项目获取
  • 管理子网 - 只有容器部署程序创建和配置的 Horizon Cloud on Microsoft Azure 部署的特定网卡才应使用容器的管理子网中的 IP 地址。这些网卡是容器管理器的网卡和容器 Unified Access Gateway 实例的网卡。容器的管理子网不得附加任何非容器部署的资源或项目,也不能从中获取 IP 地址。
  • 租户子网 - 只有容器部署程序创建和配置的 Horizon Cloud on Microsoft Azure 部署的特定网卡和负载均衡器应使用容器的租户子网中的 IP 地址。容器的租户子网不得附加任何非部署资源或项目,也不能从中获取 IP 地址。

部署指南明确指出,除了容器部署的资源之外,容器使用的子网不应附加任何其他资源。如果已手动创建资源并将容器的管理或租户子网中的 IP 地址分配给此类其他资源,则在运行容器更新之前,必须将这些 IP 地址从这些资源中移除。否则,容器更新将失败,并需要咨询 VMware 技术支持团队。

更新容器后,请确保将容器资源组中部署程序创建的网卡保留的所有 IP 地址添加到执行更新之前已实施的防火墙规则中
您可能已配置了相应的防火墙规则来控制来自容器管理器虚拟机网卡 IP 地址的流量。为了使流量通信在容器更新后能够像更新前一样工作,您必须确保在更新后,容器资源组中网卡保留的所有 8 个 IP 地址都反映在防火墙规则中。

容器维护注意事项

必须维护包含已部署 Horizon Cloud 容器的 VMware 软件组件,才能维护该容器置备的虚拟桌面和应用程序的运行状况和稳定性。如 VMware Horizon Cloud Service - 其他服务详细信息 (87894) 知识库文章中所述,VMware 负责管理位于容器上且从控制平面下载到该容器的软件组件。本知识库文章附带的 VMware Horizon Cloud Service - 其他服务详细信息 PDF 介绍了以下内容:

  • VMware 在用于维护软件组件(已下载到容器)运行状况的变更管理过程方面的角色和职责。维护活动包括更新容器软件组件。
  • 客户(您)在变更管理过程方面的角色和职责,包括在需要计划维护或紧急维护时与 VMware 合作。

VMware Horizon Cloud Service - 其他服务详细信息文档包含了计划维护、维护时段和紧急维护的定义。有关详细信息,请参阅该文档。如果本文档页面的内容与 VMware Horizon Cloud Service - 其他服务详细信息文档的内容之间存在任何差异,则以 VMware Horizon Cloud Service - 其他服务详细信息文档为准。

注意: 在更新容器之前,必须确保容器的映像虚拟机、场虚拟机和 VDI 桌面虚拟机均具有可用于容器的最新代理。如果在更新容器之前没有将它们更新到最新代理,则在更新容器后,它们可能正在运行不兼容的代理版本,这会使容器处于不受支持的状态。如何确定是否需要更新代理?在控制台中,查看映像或分配旁边是否有蓝点。如果您看到任何蓝点,则需要在更新容器之前从控制台中清除所有蓝点。请参阅 Horizon Cloud 容器更新 - 实现持续代理兼容性和支持的步骤

指定容器的首选维护时段

为了表明您希望容器上的任何维护活动在一周中的特定工作日和时间开始,您可以使用控制台为该容器指定首选维护时段。在“容量”页面中,导航到容器详细信息页面中的维护选项卡。找到首选维护时间标签,然后按照屏幕控件选择那一天的工作日名称和时间 (UTC)。您只能从显示的系统预定义默认值中进行选择。

在控制台中每个容器的详细信息页面中单独指定每个容器的首选维护时间。

注: 对于未在控制台中指定首选维护时段的容器,VMware 可以在方便时随时安排对该容器进行维护。

系统将读取您在控制台中指定的工作日和时间,并将该数据合并到其调度算法中。在云平面中将新容器清单设置为默认值时,系统的调度程序将计算出实际更新日期和时间,确定在此日期和时间在容器群中的每个容器上进行更新。虽然系统将尽最大努力满足在该容器的维护选项卡中指定的首选维护开始时间,但无法保证系统能够满足特定更新操作的首选维护开始时间。

撰写本文时,系统的调度程序分配 4 个小时作为维护活动持续期间。容器更新的一般用时不会超过这个持续时间。

维护警示和通知

当系统安排在特定日历日和时间进行给定容器的特定维护时,系统将发出警示并通知租户环境管理员。这些警示和通知包括:

在控制台内
  • 控制台最上方的固定横幅。横幅中的时间是查看控制台时浏览器时区的本地维护时间。以下屏幕截图是一个示例,它安排在美国东部时间 2020 年 7 月 7 日下午 4 点进行容器更新。使用查看按钮可进入容器详细信息页面,并查看有关容器的维护选项卡中计划维护的详细信息。
    控制台中横幅的屏幕截图示例,其中提供了有关容器计划维护的信息
  • 在容器的审核日志选项卡和控制台的活动 > 审核日志中,审核日志将指示 VMware Operations 安排了一次容器升级。审核日志行将包含容器的 UUID。
  • 在容器的维护选项卡上,计划维护部分将显示有关计划维护的信息。
电子邮件
系统将向租户环境管理员(在控制台的 常规设置 > 我的 VMware 帐户设置中指定)发送有关容器维护的电子邮件。其中有一封电子邮件是在系统设置了计划维护的特定日历日和时间后发出的。此类电子邮件的示例包括在安排的日期和时间前几天或前几周发出的定期提醒、维护活动的开始时间以及完成时间。
注: 如果要重新安排计划维护的日期和时间,您必须与 VMware 技术支持部门联系。

在执行容器维护之前进行系统预检查

如果您收到一封通知电子邮件,指出容器出现容器更新错误,或者您看到控制台报告容器更新错误,则必须采取措施来纠正这种情况。如果发生这种情况,请按照控制台的屏幕指导或电子邮件中的说明进行操作。解决此类错误的常用方法是,在 Microsoft Azure 门户的容器订阅中执行一些步骤。有关典型容器更新错误的补救措施的其他信息,请参阅Horizon Cloud容器 - 常见预检查失败的补救措施

这些预检查的作用是什么?容器更新的维护活动是在容器的 Microsoft Azure 订阅和资源组中执行的。在系统为给定容器上的特定更新安排特定的日历日和时间之前,系统会运行预检查操作,以确定是否存在会阻止容器成功更新的任何情况。以其中一项预检查为例,系统会检查您的 Microsoft Azure 订阅针对相应虚拟机系列是否有足够的 vCore 来满足更新要求。如果其中一项预检查失败并且您需要采取措施进行修复,则会出现以下情况:

  • 将向您发送一封通知电子邮件进行提醒,其中包含纠正错误所需操作的详细信息。
  • 控制台会显示一个可视警示,提示您需要采取措施来纠正该容器的预检查错误。
重要说明: 如果您收到有关容器升级错误的任何通知,请执行指定的操作来及时修复错误。时间至关重要。如果在 VMware 要求的时间内未能采取措施纠正这些错误,则由于无法修复容器更新过程而导致容器进入不受支持的状态。

容器更新 - 高级概述

如果维护活动是将容器更新到较新的清单版本,那么系统会将容器的当前基础架构组件相应迁移到更高的软件清单级别。基础架构组件主要包括容器管理器虚拟机以及为容器配置的任何 Unified Access Gateway 虚拟机。例如,容器更新可能包含容器管理软件或 Unified Access Gateway 软件的更新,或者同时包含这两个软件的更新。

容器更新过程遵循一种称为蓝绿部署的软件行业技术模式。现有的待更新容器组件被视为蓝色组件。


蓝绿更新过程的概念示意图。

尽管容器更新在大多数情况下都遵循行业蓝绿部署模式,但与规范的蓝绿更新相比仍存在一些细微差异。容器更新不会 100% 复制绿色增建中的每个蓝色资源。新的绿色增建中会重用部分现有的蓝色资源,例如 Unified Access Gateway 实例的 NIC。例如,在容器更新过程中,如果创建较现有实例更新的实例,则较新的实例将打开电源并一直保持运行,直到容器完成到新实例的迁移为止。此外,在系统将容器迁移到绿色增建并验证该容器是否正在新清单版本上成功运行后,将从资源组中删除旧的蓝色虚拟机。(规范的蓝绿更新通常会在切换到绿色后保留较旧的蓝色项目,使较旧的项目保持空闲状态。)

  • 现有待更新的容器组件(如容器管理器虚拟机和 Unified Access Gateway 虚拟机)被视为蓝色组件。
  • 该服务会自动为 Microsoft Azure 订阅中的容器构建必要的绿色组件集,即新的绿色容器管理器虚拟机、Unified Access Gateway 虚拟机和网关连接器虚拟机(如果在自己的 VNet 上部署了外部网关)。
  • 绿色增建中新创建的组件是与同一资源组中的蓝色组件一同创建的。
  • 创建绿色增建的过程不会导致任何停机或数据丢失,并行虚拟机也不会影响容器的操作。
  • 绿色集是一个并行环境,正在等待计划维护活动准备就绪,从蓝色切换到绿色。前面的部分介绍了系统在容器上调度维护活动的方式。
  • 这些绿色虚拟机已启动并保持运行,直到完成计划维护活动(即,将蓝色迁移到绿色)为止。
  • 完成了用于迁移到绿色增建的计划维护活动,并且容器正在新实例上成功运行后,系统会从容器的资源组中删除蓝色虚拟机。某些资源(例如,Unified Access Gateway 实例的 NIC)仍会保留下一次容器更新所需的配置值。
注: 您必须避免在 Microsoft Azure 门户和容器订阅中进行更改,因为这些更改将影响系统的绿色组件增建或影响系统的容器更新和维护过程。

维护活动顺序

此顺序描述了到绿色增建的迁移过程 - 在容器更新中从蓝色切换到绿色。

  1. 系统将检查在控制台中指定的容器首选维护时段,以在其调度程序算法中使用该信息来安排容器维护活动的实际日历日和时间。
  2. 系统调度程序将选择进行维护的实际日历日和时间。如前面的部分中所述,控制台会直观地显示安排的日期和时间,并向租户管理员发送一封电子邮件。
  3. 重要说明: 在运行计划维护之前:
    • 确保容器的映像虚拟机、场虚拟机和 VDI 桌面虚拟机均具有可用于容器的最新代理。如果您在控制台中看到任何蓝点,则需要在更新容器之前从控制台中清除所有蓝点。请参阅Horizon Cloud 容器更新 - 实现持续代理兼容性和支持的步骤
    • 在 Microsoft Azure 中删除您可能在容器的任何虚拟机 (VM) 上设置的任何管理锁。名称中包含类似 vmw-hcs-podID 部分的任何虚拟机(其中 podID 是容器的 ID 值)都属于该容器。Microsoft Azure 提供了使用 Microsoft Azure 门户锁定资源以防止对资源进行更改的功能。此类管理锁可应用于整个资源组或单个资源。如果您或您的组织已在容器的虚拟机上应用了管理锁,则必须在更新运行之前移除这些锁。否则,更新过程将无法成功完成。您可以从“容量”页面的容器详细信息页面中找到容器的 ID 值。

    如果贵组织需要,您可以在安排的维护时间之前随时与 VMware 技术支持部门联系,让他们为您安排其他维护日期。

    重要说明: 控制台中显示的安排时间是浏览器时区的本地时间。
  4. 在计划的维护时间内,服务将启动更新活动。对于同时具有外部和内部 Unified Access Gateway 配置的容器,整个过程从开始到结束通常需要 20 到 30 分钟时间。
    注: 在该过程完成的 20 到 30 分钟时间内,控制台会阻止您对正在进行更新的容器执行管理任务。例如,在容器管理器设备通知云平面更新已完成之前,您无法单击容器详细信息页面中的 编辑操作来更改该容器的特性。
    关于 Unified Access Gateway 设备上的最终用户会话和更新活动
    为了使最终用户会话在整个维护活动时间内实现接近零的停机时间,系统使用设备上的最终用户会话计数来确定完成这些设备更新的最佳时间。

    完成时间已优化为在只有少数用户连接到具有活动会话的环境时发生。

    在这种接近零的时间段内,具有活动会话的最终用户将断开这些会话的连接。然后在几分钟后,这些用户可以重新连接。

    除非在场和 VDI 桌面分配中为超时处理设置了立即选项,否则,不会丢失数据。在这种场景中,如果在用户的活动会话中使用立即选项进行超时处理,则根据该设置,用户将立即断开连接,而且这些会话也会立即注销。在这些情况下,任何正在进行的用户工作将会丢失。在此场景中,为避免丢失正在使用的最终用户数据,在启动维护活动之前,请在场和 VDI 桌面分配中将注销断开连接的会话设置调整为较大的时间值,以便为这些用户留出时间来保存工作。然后,在更新完成后,您可以将该设置改回到以前的值。

    此外,在这个接近零的时间段内,如果最终用户尚未建立从容器到其虚拟桌面或远程应用程序的连接会话并且尝试进行连接,则在该过程完成之前,该最终用户将无法进行连接。

  5. 完成维护活动后,系统会删除不再需要的组件,例如,不会在绿色增建中重用的蓝色组件(例如容器管理器虚拟机和 Unified Access Gateway 虚拟机)。某些项目(例如,容器管理器实例和 Unified Access Gateway 实例的网卡)仍会保留下一次维护所需的配置值。

执行维护活动后

维护活动完成后,您可以对容器执行管理任务。要查看某个容器当前运行的软件版本,请选择设置 > 容量,然后单击该容器以打开其摘要页面。该页面显示当前正在运行的软件版本。

  • 在更新容器后,请确保所有现有映像、场和 VDI 分配中的代理均更新到最新的可用版本。如果这些虚拟机安装的代理未进行更新,则容器将采用不受支持的配置。维护过程不会自动更新这些已安装的代理。如果在控制台中针对映像或分配显示了任何蓝点,这意味着代理需要更新Horizon Cloud 容器更新 - 实现持续代理兼容性和支持的步骤
  • 如果从 3328 之前的清单版本进行此更新,请在更新容器后,确保将容器资源组中部署程序创建的网卡的所有 IP 地址添加到防火墙规则中。您可能已配置了相应的防火墙规则来控制来自容器管理器虚拟机网卡 IP 地址的流量。为了使流量通信在此容器更新和后续更新后能够像此更新前一样工作,您必须确保在此更新后,容器资源组中网卡保留的所有 8 个 IP 地址都反映在防火墙规则中。
  • 如果配置的双因素身份验证服务器部署在同一个 VNet 中,则在维护活动完成后,必须更新双因素身份验证服务器上的相关设置,以接受新的内部 Unified Access Gateway 虚拟机的新专用 IP 地址。此操作只需执行一次,将来更新该容器时无需重复执行。请参阅使用所需的网关信息更新双因素身份验证系统
  • 从 2019 年 9 月季度服务版本开始,容器架构进行了更新以支持高可用性 (HA) 功能。即使未启用高可用性功能,支持 HA 的新架构也会在容器管理器虚拟机前面包含 Microsoft Azure 负载均衡器。将容器更新到清单版本 1600 后,如果为容器配置了直接连接,则应将 DNS 设置重新映射为指向更新后容器详细信息页面中新显示的容器管理器的 Azure 负载均衡器 IP 地址。在更新 DNS 映射之前,即使这些直连用户连接仍然可以使用,但如果活动容器管理器虚拟机关闭,则这些连接将无法进行启用了 HA 的容器可提供的高可用性故障切换。在此用例中,您可以将 FQDN 映射到容器详细信息页面上显示的容器管理器负载均衡器 IP 字段中的 IP 地址,如直接在容器管理器虚拟机上配置 SSL 证书,例如将 Workspace ONE Access Connector 设备与 Microsoft Azure 中的 Horizon Cloud 容器集成时,该连接器可以信任与容器管理器虚拟机的连接中所述。在清单版本 1600 之前,该 IP 分配给租户子网上该容器的管理器虚拟机的网卡。在容器清单版本 1600 或更高版本中,要映射的容器 IP 地址是用于容器管理器虚拟机的 Microsoft Azure 负载均衡器的专用 IP 地址。对于已更新到此清单版本的现有容器,如果已将 DNS 名称配置为指向清单版本 1493.1 或更早版本容器的租户设备 IP 地址,则应将 DNS 设置重新映射为指向更新后容器详细信息页面中容器管理器负载均衡器 IP 标签显示的 IP 地址。
  • 在 2474.x 清单之前,系统不会在注册的 Active Directory 服务器中检查时钟偏差。在 2474.x 版本中,引入了时钟偏差检查。现在,如果您注册的 Active Directory 服务器在任何时间出现同步问题 (clockSkew > 4 minutes),则在将容器升级到 2474.x 或更高版本后,将在该容器上开始执行此系统验证。因此,在解决时钟偏移问题之前,Active Directory 服务器发现可能启动失败,并且失败的发现将影响最终用户对该容器的桌面连接请求。