企业规模登陆区域使用了一系列自动化和 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 CLI 或 Azure PowerShell 模块部署Azure VMware 解决方案时,可以在解决方案中看到有关数据保护的一系列条款和条件。 如果直接使用 Azure 资源管理器 API 或通过 Azure 资源管理器 或 Bicep 模板进行部署,请考虑在部署自动化之前查看这些条款和条件。
- 对于按需启动的按需环境,请考虑自动化 Azure VMware 解决方案私有云创建过程,以限制手动交互量。
- 可以使用 Azure 门户中目标资源组的部署边栏选项卡来监视私有云的创建过程。 部署私有云后,请确认它处于“成功”状态,然后再继续操作。 如果私有云显示 “失败 ”状态,则可能无法连接到 vCenter Server。 可能需要移除并重新部署私有云。
建议:
- 如果选择手动部署方法,请务必记录用于预配私有云的配置。 部署后,下载用于记录目的的部署模板。 此模板项目包含用于部署私有云的 ARM 模板。 模板项目还有一个参数文件,其中包含所选的配置。
- 如果要定期与 Azure 门户中的私有云交互,建议设置一个资源锁来限制资源删除。 还可以使用只读资源锁来限制缩放操作。
自动化部署
可以使用自动化部署以可重复的方式部署 Azure VMware 解决方案环境。 然后,可以按需设计和部署环境。 这种用法提供了有效的部署机制,可以大规模推出多个环境和区域。 它们还提供了低风险、按需和可重复的部署过程。
自动化Azure VMware 解决方案实现选项
注意事项:
- 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 管理器可以更好地控制 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 CLI、PowerShell 或 Azure 资源管理器或 Bicep 等声明性模板以自动化方式部署Azure VMware 解决方案。
- 在可能的情况下,使用 what-if 在执行前确认更改,在删除资源时暂停以进行验证。
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 数据中心交互。
- 可以通过 Azure 资源管理器控制工作负荷网络。 此控件允许通过 Azure 资源管理器 API 完成一部分操作,然后通过 Azure CLI 和 PowerShell 使用 Azure RBAC 而不是 NSX-T 数据中心标识来启用操作。
Terraform vSphere 和 NSX-T 数据中心提供程序
注意事项:
- 可以使用 适用于 Terraform 的 vSphere 和 NSX-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 解决方案在企业规模方案中的架构方法和实现。