VMware Aria Automation 可以利用基于插件的架构更快速、更全面地支持云提供商功能。基于插件的设计可以访问完全由公有云提供商自己定义和存档的资源和属性,而不仅仅是 VMware Aria Automation 定义的属性。

注: 基于插件的设计是一种测试版产品,会随时更改,当前仅支持 AWS 插件和 Google Cloud Platform (GCP) 插件。

关于插件

VMware Aria Automation 支持专用于公有云提供商的单独插件。利用插件架构,可以更快地访问更新的提供商设置,并提供更敏捷的 Automation Assembler 用户体验。当云提供程序添加更多资源和属性时,这些资源和属性可以轻松添加到关联的插件。

许多插件都是开源插件,可从 pypi.org 获取。每个新版本的 VMware Aria Automation 通常都包含更新的插件。

关于分配

分配设置通常集成到每个资源中。插件方法则代表着另外一种设计分配方式。分配可以与资源分离,采用帮助程序的形式,帮助程序充当资源与已分区和已分析基础架构之间的桥梁。

可以通过一对多配置使用帮助程序,即一个帮助程序为多个资源提供分配逻辑,例如区域放置。之后,可以根据由云提供商定义并由关联插件支持的完整属性列表进一步自定义资源。

图 1. 来自云提供商的原生属性
来自云提供商的属性。

由于属性来自云提供商,因此分配帮助程序仅适用于设计画布中特定于供应商的选择。无法在云平台无关的设计中使用它们。如果需要云平台无关的模板,请继续使用云平台无关的资源元素和经典的资源内分配方法。

可以对基于插件的资源、Terraform 资源和自定义资源使用分配帮助程序。

可用的分配帮助程序

帮助器提供以下分配功能。

  • 云区域帮助程序

    根据帐户类型和限制标记选择用于置备的帐户和区域。还解析项目中设置的置备优先级。

  • 计算帮助程序

    查找用于置备的帐户和区域。还解析项目中设置的置备优先级。

  • 自定义命名帮助程序

    为您的资源生成自定义名称。

  • 特定实例帮助程序

    将特定实例映射名称解析为计算所选区域中 instanceType

  • 映像帮助程序

    将映像映射名称解析为计算所选区域中的 imageId

  • 网络帮助程序

    如果为区域创建了网络配置文件,部署将从这些网络进行选择。否则,区域中发现的所有网络都是符合条件的候选网络。网络帮助程序的唯一必需属性是网络类型。

  • 存储帮助程序

    从存储配置文件中选择存储项。它没有必需属性,但可以通过使用标记或指定 storageAttributes 设置限制。selectedStorage 的输入和输出因云提供商而异,应使用正确的输入和输出。

您可以在代码编辑器中查看分配帮助器的属性。此外,还可以通过在部署页面上打开最近部署并打开右侧窗格,查看分配帮助程序的属性。

基于插件的资源

VMware Aria Automation 最多支持 250,000 个基于插件的资源。设计画布可用的资源与云提供商直接提供的资源相同。

例如,使用 AWS,可以置备:

  • EC2 实例
  • EC2 卷
  • EC2 VPC
  • RDS 数据库集群
  • RDS 数据库实例
  • S3 存储桶
  • 等等

基于插件的虚拟机(如 EC2 实例)是计费对象。可以在 Automation Assembler资源页面上查看计费对象。

经典资源

Automation Assembler 左侧菜单中,早期的设计资源标记为 (Classic)。可以对基于插件的资源、Terraform 资源和自定义资源使用分配帮助程序,但无法对经典资源使用。

仍然可以将经典资源添加到模板。此外,还可以在经典资源与使用帮助程序的资源之间设置依赖关系

如何设计

插件资源工作流
  1. 基础架构中,以您已经习惯使用的经典方式添加帐户、区域、项目、映射、配置文件和功能标记。
  2. 在设计画布中,拖入分配帮助程序。
  3. 拖入非经典资源。
  4. 向帮助程序添加绑定。

    您可以在代码编辑器中手动编写属性绑定,或者将分配帮助程序连接到画布中的非经典资源。

    某些属性绑定是在代码编辑器中自动创建的。这些属性绑定是预定义绑定,将来可以扩展。有关详细信息,请参见将分配帮助程序链接到资源

    重要说明:

    如果将多个分配帮助程序连接到一个非经典资源,将替代共享值。例如,如果连接计算资源分配帮助程序,然后连接映像分配帮助程序,则 region 属性的值将从 resource.Allocations_Compute_1.selectedRegion.id 更改为 resource.Allocations_Flavor_1.selectedRegion.id

  5. 在代码编辑器中,配置分配帮助者和非经典资源。

将分配帮助程序链接到资源

将分配帮助程序链接到资源时,将在代码编辑器中自动为您创建以下属性绑定:

  • Allocations.CloudZone
    • Avi Load Balancer 资源:accountcloud_reftenant_ref
  • Allocations.Compute
    • AWS EC2 实例:accountregionavailability_zone
    • AWS EC2 卷:accountregionavailability_zone
    • AWS S3 存储桶:accountregion
    • GCP 计算实例:accountzone
    • GCP 计算磁盘:accountzone
    • GCP 计算网络:account
    • GCP 计算子网:account
  • Allocations.Flavor
    • AWS EC2 实例:accountregioninstance_type
  • Allocations.Image
    • AWS EC2 实例:accountregionimage_id
  • Allocations.Network
    • AWS EC2 实例:accountregionsubnet_id
    • GCP 计算网络:account
    • GCP 计算子网:account