你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

适用于 Azure VMware 解决方案企业规模方案的平台自动化

企业规模登陆区域使用了一系列自动化和 DevOps 最佳做法。 这些最佳做法有助于部署 Azure VMware 解决方案私有云。 本指南概述了 Azure VMware 解决方案初始部署的部署注意事项。 还提供了有关操作自动化的指导。 此实现遵循云采用框架的体系结构和最佳做法,侧重于针对缩放进行设计。

此解决方案由两个关键部分组成。 第一部分是有关 Azure VMware 解决方案的部署和自动化实践的指南。 第二部分是一组开源项目,可进行调整以帮助部署私有云。 虽然此解决方案旨在启动端到端的自动化历程,但组织可以根据本文中的注意事项决定手动部署哪些组件。

Azure VMware 解决方案登陆区域加速器自动化旨在帮助你开始使用此存储库中的模板和脚本部署 Azure VMware 解决方案。 在部署之前,建议查看模板以了解已部署的资源和相关成本。

本文涵盖以下方面的注意事项和建议:

  • Azure VMware 解决方案的部署选项,包括手动和自动部署。
  • 自动缩放注意事项和实现详细信息。
  • 私有云中 VMware SDDC 级别自动化的注意事项。
  • 关于从企业登陆区域扩展的自动化方法的建议。
  • 有关用于部署和管理的自动化技术的注意事项,例如 Azure CLI、Azure 资源管理器、Bicep 和 PowerShell。

部署策略

Azure VMware 解决方案可以手动部署,也可以使用特选的自动化工具进行部署。

手动部署

可以通过 Azure 门户以图形方式配置和部署 Azure VMware 解决方案私有云。 此选项适用于较小规模的部署。 如果要以可重复的方式部署大规模 Azure VMware 解决方案拓扑,请考虑自动部署。 还可以配置与私有云的连接,然后通过 Azure 门户手动缩放。

注意事项:

  • 可以将手动部署用于初始试验和小规模环境。 还可以在没有现有的自动化或基础结构即代码实践的地方使用它们。
  • 通过 Azure 门户、Azure CLIAzure PowerShell 模块部署Azure VMware 解决方案时,会看到解决方案中有关数据保护的一系列条款和条件。 如果直接使用 Azure 资源管理器 API 或通过 Azure 资源管理器 或 Bicep 模板进行部署,请考虑在部署自动化之前查看这些条款和条件
  • 对于按需启动的按需环境,请考虑自动化 Azure VMware 解决方案私有云创建过程,以限制手动交互量。
  • 可以使用 Azure 门户中目标资源组的部署边栏选项卡来监视私有云的创建过程。 部署私有云后,请确认它处于“成功”状态,然后再继续操作。 如果私有云显示 “失败” 状态,则可能无法连接到 vCenter Server。 可能需要移除并重新部署私有云。

建议:

  • 如果选择手动部署方法,请务必记录用于预配私有云的配置。 部署后,下载用于记录目的的部署模板。 此模板项目包含用于部署私有云的 ARM 模板。 模板项目还有一个参数文件,其中包含所选的配置。
  • 如果要定期与 Azure 门户中的私有云交互,建议设置一个资源锁来限制资源删除。 还可以使用只读资源锁来限制缩放操作。

自动化部署

可以使用自动化部署以可重复的方式部署 Azure VMware 解决方案环境。 然后,可以按需设计和部署环境。 这种用法提供了有效的部署机制,可以大规模推出多个环境和区域。 它们还提供了低风险、按需和可重复的部署过程。

自动化Azure VMware 解决方案实现选项

实现选项 说明 GitHub 存储库的部署链接
通过连接到 Azure 部署Azure VMware 解决方案和依赖项 此部署最适合预配新的Azure VMware 解决方案私有云。 它是一个完整的部署版本,可帮助你创建所有不同的支持组件。 这些组件包括 Azure 连接、监视和加载项。

有三个部署选项:Azure 门户 UI、PowerShell 和 Terraform。 每个部署选项都允许你选择部署以下资源:

▪ Azure VMware 解决方案私有云
▪ 选择“新建”或“现有虚拟网络 (VNet)
▪ 为 VPN 连接部署 Azure 路由服务器 (可选)
▪ 部署Azure VMware 解决方案监视 (可选)
▪ 部署 HCX 和 SRM (可选)
部署到 Azure (Azure 门户 UI)

部署到 Azure (PowerShell)

部署到 Azure (Terraform 模块)
在没有连接到 Azure 的情况下部署Azure VMware 解决方案 此部署是一个更轻的版本。 它更适用于 POC) 或试点 (概念证明。 它允许部署以下资源:

▪ 新Azure VMware 解决方案私有云: (1) 自定义资源组名称和私有云名称, (2) 选择现有Azure VMware 解决方案私有云。
▪ 部署Azure VMware 解决方案监视 (可选) 。
▪ 部署 HCX 和 SRM (可选) 。
部署到 Azure (Azure 门户 UI)

注意事项:

  • Azure VMware 解决方案私有云部署可能需要几个小时才能完成。 请考虑使用 Azure 资源管理器部署状态或私有云上的 status 属性来监视此过程。 可以使用部署管道,或通过 PowerShell 或 Azure CLI 以编程方式进行部署。 如果是这样,请确保选择适当的超时值以适应私有云预配过程。
  • 可以按照网络拓扑和连接性中的建议提前为私有云和工作负载网络分配地址范围。 然后,将它们添加到环境配置或参数文件中。 部署时不会验证地址范围重叠。 如果两个私有云具有相同的地址范围,则由于缺少验证,可能会导致问题。 如果范围与 Azure 或本地的现有网络重叠,也可能会出现问题。
  • 可以使用服务主体进行部署以提供最低特权访问。 还可以使用 Azure 基于角色的访问控制 (RBAC) 来限制部署过程的访问权限。
  • 可以将 DevOps 策略用于私有云部署,并使用管道进行自动化和可重复的部署,而无需依赖本地工具。

建议:

  • 部署最小的私有云,然后根据需要进行缩放。
  • 提前请求主机配额或容量以确保成功部署。
  • 部署子资源之前,监视私有云的部署过程和私有云的状态。 只有在私有云处于“成功”状态时,才能处理对私有云的进一步配置更新。 对于处于 “失败” 状态的私有云,我们建议你停止任何进一步的操作,并提交支持票证来解决。
  • 在自动化部署中包含相关资源锁,或确保通过策略应用它们。

自动连接

部署 Azure VMware 解决方案私有云后,可以通过 ExpressRoute 设置连接。 此构造集中描述的网络连接有两个关键路径:

  • 通过虚拟网络网关连接到虚拟网络或 Azure 虚拟 WAN。
  • Azure VMware 解决方案与现有 ExpressRoute 之间通过 Global Reach 的连接。

有关建议的网络拓扑的详细信息,请参阅网络拓扑和连接

注意事项:

  • 可以将 Azure VMware 解决方案私有云连接到 Azure 虚拟网络或现有 ExpressRoute。 此连接会自动播发来自私有云中管理网络和工作负载网络的路由。 由于没有重叠检查,因此请考虑在连接之前验证播发网络。
  • 可以将 ExpressRoute 授权密钥的名称与它们连接到的资源的现有命名方案协调。 这种协调方式可以轻松识别相关资源。
  • ExpressRoute 虚拟网络网关和 ExpressRoute 线路可能位于与 Azure VMware 解决方案私有云不同的订阅中。 确定是否希望单个服务主体有权访问所有这些资源,或者是否希望将它们分开。
  • 通过Azure 门户的 NSX-T 数据中心工作负载网络可以将基本网络资源部署到私有云,但 NSX-T Manager 可以更好地控制 NSX-T 数据中心组件。 值得考虑需要对网段进行何种级别的控制。
    • 使用Azure 门户中的 NSX-T 数据中心工作负载网络为专用 DNS 集成设置域名系统 (DNS) 区域。
    • 对于只需要单个第一层网关的网络拓扑,请在Azure 门户中使用 NSX-T 数据中心工作负载网络。
    • 对于高级配置,可以直接使用 NSX-T Manager。
    • 考虑网络管理员的技能水平。 如果网络管理员对 VMware NSX-T 数据中心知之甚少或完全不知道,请考虑改用Azure 门户来降低网络操作的风险。

建议:

  • 如果为 Azure VMware 解决方案部署使用单独的服务主体而不是 ExpressRoute 配置,请使用 Azure Key Vault 或类似的机密存储在部署之间传递授权密钥(如有必要)。
  • 随时可以通过 Azure VMware 解决方案私有云完成的并行操作的数量存在限制。 对于定义许多 Azure VMware 解决方案私有云子资源的模板,建议使用依赖项以串行方式进行部署。

自动缩放

默认情况下,Azure VMware 解决方案群集具有由群集规模定义的固定数量的主机。 可以以编程方式修改每个群集的缩放,以便可以通过自动化进行横向缩减和横向扩展。 此自动化可以按需、按计划,也可以响应 Azure Monitor 警报。

注意事项:

  • 自动横向扩展可以按需提供更多容量,但重要的是要考虑更多主机的成本。 此成本仅限于为订阅提供的配额,但应设置手动限制。
  • 在自动执行横向缩减之前,请考虑对群集内应用的运行工作负载和存储策略的影响。 例如,分配了 RAID-5 的工作负荷无法扩展到三节点群集。 考虑内存和存储使用情况也很重要,因为这种使用可能会阻止横向缩减操作。
  • 一次只能完成一个单一缩放操作,因此请务必考虑多个群集之间的缩放操作业务流程。
  • Azure VMware 解决方案缩放操作不是即时的,必须考虑将另一个节点添加到现有群集所需的时间。
  • 第三方解决方案和集成可能不希望不断删除和添加主机。 请考虑验证所有第三方产品的行为。 此验证可确保在添加或删除主机时无需执行更多步骤来刷新或重新配置产品。

建议:

  • 对超出配额的横向缩减和横向扩展操作实施硬性限制。
  • 提前请求配额,使其不会影响缩放操作。 配额不是容量的保证,而是部署达到特定限制的能力。 请定期查看配额限制,确保始终有空余空间。
  • 确保监视任何自动缩放系统,并确保它在完成缩放操作时发出警报。 此警报可确保没有意外的缩放事件。
  • 在横向缩减操作之前使用 Azure Monitor 指标确认群集容量,以确保有足够的空余空间。 请在任何缩放操作之前、期间和之后注意 CPU、内存和存储。 这种对容量的关注可确保它不会影响服务级别协议 (SLA) 。

Azure 集成

Azure VMware 解决方案私有云还可以使用多种不同的 Azure 本机服务。 可以将这些服务包含在 Azure VMware 解决方案部署中或部署为单独的组件。 如果超出本文的范围,我们建议使用企业规模登陆区域体系结构中的现有模式来与这些服务集成。

注意事项:

请考虑计划自动化的每个组件的部署生命周期。 应将与其生命周期紧密绑定的组组件组合在一起,以便作为一个单元进行部署。 分离具有不同生命周期的组件。

自动化工具

Azure VMware 解决方案私有云作为 Azure 资源管理器中的资源存在,通过多种不同的自动化工具提供交互。 从 Azure 资源管理器规范生成的第一方 Microsoft 工具往往在发布后不久就支持功能。 从自动化的角度来看,本文中的注意事项以一种可以应用于不同工具集的方式提供。

注意事项:

  • 使用 Azure 资源管理器 和 Bicep 模板等声明性工具,以便可以将配置定义为单个项目。 Azure CLI 和 PowerShell 等基于命令行和脚本的工具需要采用更符合手动部署的分步执行方法。
  • 可以使用 Terraform 等第三方自动化工具来部署 Azure VMware 解决方案和 Azure 本机服务。 请务必确保要在 Azure VMware 解决方案中使用的功能当前包含在可用资源中。
  • 在采用基于脚本的方法进行部署时,请始终考虑部署失败的影响并进行适当的监视。 对于 Azure VMware 解决方案,请考虑同时监视部署和私有云状态。 有关监视 Azure VMware 解决方案的更多信息,请参阅 Azure VMware 解决方案的管理和监视

建议:

  • 使用 Azure CLIPowerShellAzure 资源管理器 或 Bicep 等声明性模板以自动化方式部署Azure VMware 解决方案。
  • 在可能的情况下,使用 what-if 在执行前确认更改,在删除​​资源时暂停以进行验证。
  • 对于单一部署但仍需要基础结构即代码的操作,请使用 Azure 蓝图。 Azure 蓝图无需自动化管道即可提供已标记且可重复的部署。

DevOps 方法

应将 Azure VMware 解决方案部署自动化实现为一系列可重复的步骤,最好是通过工作流或管道来实现。 请务必确定计划在部署中包括的所需步骤的范围。 这些步骤可能包括:

  • 私有云部署。
  • ExpressRoute 网关连接。
  • Global Reach 连接。
  • 简化的 NSX-T 数据中心 DHCP、DNS 和段创建。

部署私有云后,可以在私有云中部署资源。 有关详细信息,请参阅 VMware SDDC 平台自动化

注意事项:

  • 你可能有现有的自动化实践,或者你生成了一个 DevOps 策略作为企业规模登陆区域的一部分。 如果是这样,请考虑为 Azure VMware 解决方案部署重复使用相同的模式,以保持全面一致的自动化风格。
  • 有关详细信息,请参阅企业规模登陆区域的平台自动化和 DevOps 文档

VMware 平台自动化

在Azure VMware 解决方案私有云中,还可以选择在 vCenter Server 和 NSX-T Manager 中自动创建资源。 下面列出了一系列注意事项,以帮助设计 VMware SDDC 级别的自动化。

vCenter Server 自动化 - PowerCLI

注意事项:

  • 使用 PowerCLI 创建和配置虚拟机 (VM) 、资源池和 VM 模板,使你能够完全以编程方式控制 vCenter Server。
  • 由于 vCenter Server 只能通过专用连接或专用 IP 使用,因此必须在与Azure VMware 解决方案管理网络有联系的计算机上运行 PowerCLI。 请考虑使用自托管代理来执行管道。 使用此代理,可以在虚拟网络或 NSX-T 数据中心段内的 VM 上运行 PowerCLI。
  • 你可能无权执行某些操作,因为受到 CloudAdmin 角色的限制。 请考虑为计划实现的自动化制定所需的权限,并根据 CloudAdmin 权限对其进行验证。
  • 对于最低特权访问,请考虑使用服务帐户通过 Active Directory 集成实现 vCenter Server 级别自动化。

NSX-T 数据中心自动化 - PowerCLI

注意事项:

  • 在Azure VMware 解决方案私有云中,管理员用户默认具有对 NSX-T 数据中心的管理访问权限。 由于这种默认访问,请考虑通过 PowerCLI 或 NSX-T 数据中心 API 直接所做的更改的影响。 不允许对 Microsoft 托管的组件(如传输区域和零层网关)进行修改,建议谨慎操作。
  • 需要从运行 PowerCLI 的 VM 到Azure VMware 解决方案私有云建立专用连接,才能与 NSX-T Data Center 交互。
  • 可以通过 Azure 资源管理器 控制工作负荷网络。 此控件允许通过 Azure 资源管理器 API 完成一部分操作,然后使用 Azure RBAC(而不是 NSX-T 数据中心标识)通过 Azure CLI 和 PowerShell 启用操作。

Terraform vSphere 和 NSX-T Data Center 提供程序

注意事项:

  • 可以使用适用于 Terraform 的 vSphereNSX-T 数据中心 提供程序来部署资源。 这些资源以声明方式部署在私有云范围内。
  • 由于 Terraform 需要与 vCenter Server 和 NSX-T Manager 中的 API 终结点通信,因此它需要与私有云管理网络建立专用连接。 请考虑从可以路由到私有云的 Azure 虚拟机进行部署。

vRealize 自动化和 vRealize 操作

注意事项:

  • 可以像使用本地环境一样使用 vRealize 自动化,以便在 Azure VMware 解决方案中自动配置虚拟机。
  • Azure VMware 解决方案支持的部署模型存在限制。 请考虑使用 vRealize 云管理,或在本地托管 vRealize 自动化设备。
  • 与 PowerCLI 一样,需要从 vRealize 自动化和 vRealize 操作设备所在的环境与 Azure VMware 解决方案建立专用连接。

工作负载级自动化

在 Azure VMware 解决方案上的单个工作负载中,可以选择在每个 VM 级别上设置自动化。 这种自动化的实现方式与本地相同,超出了本文的范围。 此自动化的示例包括 Microsoft Configuration Manager、Chef、Puppet 和 Ansible。 还可以使用本地代理将 Azure 自动化用于 VM 级别的配置。

后续步骤

现在你已通读设计领域,了解了 Azure VMware 解决方案在企业规模方案中的架构方法和实现。