映像映射使用自然语言命名对 VMware Aria Automation 中特定云帐户/区域使用的一组预定义目标操作系统规范进行分组。

诸如 Microsoft AzureAmazon Web Services 等云供应商帐户使用映像将一组目标部署条件(包括操作系统和相关配置设置)分组到一起。基于 vCenterNSX 的环境(包括 VMware Cloud on AWS)使用类似的分组机制定义一组操作系统部署条件。生成并最终部署和迭代模板时,您可以选择最符合需求的可用映像。

可以按相似操作系统设置、标记策略和功能部署意向组织项目的映像映射。

要简化模板创建,可以在添加新的云帐户时选择预配置选项。选择预配置选项时,将选择指定区域的组织最常用的特定实例映射和映像映射。

将映像信息添加到模板时,可以使用计算机组件 properties 部分中的 imageimageRef 条目。例如,如果要从快照克隆,请使用 imageRef 属性。

有关模板代码中的 imageimageRef 条目的示例,请参见设计 Automation Assembler 部署

要分配内容库的权限,管理员必须将该权限作为全局权限授予用户。有关相关信息,请参见位于 VMware vSphere 文档《vSphere 虚拟机管理》中的内容库权限的层次结构继承

将映像映射应用于多个区域

可以将映像映射应用于多个区域中的云帐户。使用映像映射 UI 按帐户类型(例如 AWS 或 Azure)筛选和搜索云帐户,然后同时在多个区域中选择要应用于该云帐户类型的映像。例如,您可以指定所有 ubuntu20 映像都可用于一个或多个特定 AWS AMI 区域中的所有 AWS 云帐户。此功能还支持一次显示、编辑和删除一个或多个区域的映像映射。

  • 跨属性(例如帐户类型、区域名称等)搜索和筛选可配置的云帐户和区域。
  • 根据搜索筛选器结果,选择和取消选择要应用映像映射的区域。
  • 将更新的映像映射同时应用于多个区域。

要显示未分组的映像映射,请在筛选器下拉菜单中选择查看未分组项

未分组的映像

查看未分组项选项将显示未按名称或区域分组的所有映像映射。

显示所有未分组映像映射的示例页面

选择某个未分组页面上的所有项目时,将显示一个信息标签,允许您选择所有页面上的所有项目。

选择区域 us-east-1 的所有映像映射

可以编辑或删除选定的映像映射。下面显示了一个示例编辑映射菜单。

“编辑映像映射”菜单上介绍了“映像”字段

请注意,某些编辑选项不可用于某些选择方案。例如,如果选择了多个云帐户类型,在这种选择方案下,无法编辑映像(在编辑映射菜单上),因为这些云帐户类型没有通用映像。可使用下表确定是否可以编辑所选项目的映像(在编辑映射菜单上)。

同步云帐户/区域的映像

要确保正在 Automation Assembler 基础架构 > 配置 > 映像映射页面上为给定云帐户/区域添加或移除的映像为最新映像,请运行映像同步。
  1. 通过在 Automation Assembler 中选择基础架构 > 连接 > 云帐户,打开关联的云帐户/区域
  2. 选择现有的云帐户/区域。
  3. 单击同步映像按钮,然后等待操作完成。

    云帐户页面上“同步映像”图标的图片

  4. 操作完成后,单击基础架构 > 配置 > 映像映射
  5. 定义新映像映射或编辑现有映像映射,然后选择步骤 1 中的云帐户/区域。
  6. 单击映像映射页面上的映像同步图标。

    “映像映射”页面上显示的映像同步图标

  7. 映像映射页面上为指定云帐户/区域配置映像映射设置。

查看 OVF 详细信息

可以在 Automation Assembler 模板对象(如 vCenter 计算机组件和映像)中包含 OVA/OVF 规范。

如果映像包含 OVF 文件,还可以通过以下方式探索其内容:将鼠标悬停在查看 OVF 详细信息选项上,以显示 OVF 详细信息(如名称和位置)。有关 OVF 文件格式的详细信息,请参见 vcenter ovf: property。要查看 OVF 详细信息,映像映射必须驻留在 Web 服务器上。

将鼠标指针悬停在“查看 OVF 详细信息”符号上并单击可查看 OVF 内容

注:VMware Aria Automation 云模板置备时,无法使用 vCenter 内容库中映像的 OVF 属性。如果 OVF 直接托管在 vCenter 中, 查看 OVF 详细信息选项将不可见,也无法以其他方式使用。 查看 OVF 详细信息选项不适用于内容库中的映像。

有关通过在映射字段中使用 OVF 链接查看 OVF 详细信息的相关信息,请参见外部文章 OVA 中的云模板

使用 Microsoft Azure 映像库中的共享和最新映像

Microsoft Azure 创建映像映射时,可以在订阅中从共享 Azure 映像库选择映像。下拉菜单中的映像已进行数据收集,并基于所选区域提供。

虽然共享映像库可以在多个订阅中使用,但无法跨订阅在映像映射下拉菜单中列出。只有特定订阅的映像进行了数据收集,并列在映像映射列表中。要在其他订阅中使用映像库中的映像,请在映像映射中提供映像 ID,并在模板中使用该映像映射。

使用限制和标记为映像选择合适的计算资源

可以使用映像限制根据计算资源的标记选择合适的计算资源。例如,如果在特定映像上具有 tag1 限制,并且在分配期间选择了该映像,则会选择具有标记 tag1 的计算资源来放置正在置备的计算机。如果不存在此类计算资源,则计算机的分配将失败。

使用云配置脚本控制部署

您可以在映像映射和/或模板中使用云配置脚本,来定义要在 Automation Assembler 部署中使用的自定义操作系统特性。例如,基于要将模板部署到公有云还是私有云,可以对映像应用特定的用户权限、操作系统权限或其他条件。云配置脚本遵循 cloud-init 格式(适用于基于 Linux 的映像)或 cloudbase-init 格式(适用于基于 Windows 的映像)。Automation Assembler 支持适用于 Linux 系统的 cloud-init 工具和适用于 Windows 系统的 cloudbase-init 工具。

对于 Windows 计算机,可以使用 cloudbase-init 支持的任何云配置脚本格式。

以下示例模板代码中的计算机资源使用包含云配置脚本的映像,该映像的内容显示在 image 条目中。
resources:
  demo-machine:
    type: Cloud.vSphere.Machine
    properties:
      flavor: small
      image: MyUbuntu16 
        https://cloud-images.ubuntu.com/releases/16.04/release-20170307/ami-ubuntu-16.04-1.10.3-00-15269239.ova
      cloudConfig: |
        ssh_pwauth: yes
        chpasswd:
          list: |
            ${input.username}:${input.password}
          expire: false
        users:
          - default
          - name: ${input.username}
            lock_passwd: false
            sudo: ['ALL=(ALL) NOPASSWD:ALL']
            groups: [wheel, sudo, admin]
            shell: '/bin/bash'
        runcmd:
          - echo "Defaults:${input.username}  !requiretty" >> /etc/sudoers.d/${input.username}

在模板中直接使用 cloudConfig 时,动态属性评估将起作用,但对于映像映射中的 cloudConfig,不支持此评估。

在模板代码中,可以使用 image 设置引用定义为映像映射的映像。可以使用 imageRef 设置标识包含快照(对于链接克隆)、映像模板或内容库模板 OVF 的模板。

映像映射和模板包含云配置脚本时会出现什么情况

当包含云配置脚本的模板使用包含云配置脚本的映像映射时,这两个脚本将合并。合并操作首先处理映像映射脚本的内容,再处理模板脚本的内容,同时考虑脚本的格式是否为 #cloud-config

  • 对于采用 #cloud-config 格式的脚本,合并会按如下方式组合每个模块(例如 runcmduserswrite_files)的内容:
    • 对于内容为列表的模块,将合并映像映射和模板中的命令列表,不包括两个列表中相同的命令。
    • 对于内容为字典的模块,将合并命令,结果为两个字典的组合。如果两个字典中都存在相同的键,则将保留映像映射脚本字典中的键,而忽略模板脚本字典中的键。
    • 对于内容为字符串的模块,将保留映像映射脚本中的内容值,而忽略模板脚本中的内容值。
  • 对于采用非 #cloud-config 格式的脚本,或者当一个脚本采用 #cloud-config 格式,而另一个脚本不采用此格式时,按以下方式将两个脚本组合在一起:先运行映像映射脚本,映像映射脚本完成后再运行模板脚本。

添加 vCenter 内容库中的映像

当本地或发布者内容库位于由 VMware Aria Automation 组织管理的 vCenter 中时,内容库模板映像将显示在映像下拉菜单中。列出的映像包括本地或发布者 vCenter 内容库中的 OVF 和虚拟机模板映像。订阅者内容库中的映像不会显示在下拉菜单中。从其克隆虚拟机的模板将显示在计算机部署用户界面的计算机详细信息部分中。

注:

如果发布者内容库 vCenterVMware Aria Automation 管理,则发布者信息将按以下格式显示在映像映射选择网格中:publisher_content_library_name/content_item_name

要分配内容库的权限,管理员必须将该权限作为全局权限授予用户。有关相关信息,请参见位于 VMware vSphere 文档《vSphere 虚拟机管理》中的内容库权限的层次结构继承

如果发布者内容库 vCenter 未由 VMware Aria Automation 管理,则订阅者信息将按以下格式显示在映像映射选择网格中:subscriber_content_library_name/content_item_name

例如,在以下场景中,只有订阅者内容库项目显示在 VMware Aria Automation 映像映射列表中:
  • 对于名为 VC-1 的 vCenter,VC 中有一个订阅者内容库,并在 VMware Aria Automation 中创建了一个与 VC-1 关联的云帐户。
  • 对于名为 VC-2 的 vCenter,VC 中有一个发布者内容库,VC-1 的订阅者内容库已订阅该发布者内容库。但是,VMware Aria Automation 中没有与 VC-2 关联的云帐户。

    由于 VC-1 与 VMware Aria Automation 云帐户相关联,因此订阅者内容库在 VMware Aria Automation 中可用。将收集其内容并显示在 VMware Aria Automation 映像映射列表中。但是,由于 VC-2 未与云帐户关联,VMware Aria Automation 不了解其发布者内容库。要在映像映射列表中显示发布者内容库项目,您必须将云帐户与 VC-2 vCenter 相关联。

部署包含虚拟机模板映像映射的模板时,VMware Aria Automation 将尝试按以下顺序访问内容库中的映射映像:先访问与要置备计算机的数据存储距离最近的内容库,再访问与该计算机的主机距离最近的内容库。这可能包括本地内容库以及发布者或订阅者内容库。

部署包含 OVF 模板映像映射的模板时,如果 OVF 映像位于本地内容库或是指定远程发布者内容库的本地订阅者,则按映像映射行中指定的方式访问这些映像。

vCenter 中的虚拟机模板包含多个磁盘,称为映像磁盘。从 VMware Aria Automation 使用虚拟机模板作为映像部署虚拟机时,会选择其中一个映像磁盘作为引导磁盘。可以通过添加限制来控制引导磁盘的分配和放置。要添加限制,请选择您的云模板,然后导航到 vSphere 计算机 > 属性 > 存储 > 限制。其他映像磁盘遵循为引导磁盘所制定的分配和放置决策。无法控制每个单独映像磁盘的放置。

有关创建和使用 vCenter 内容库的相关信息,请参见 vSphere 产品文档中的使用内容库以及 VMware 博客帖子如何使用内容库使用 vSphere 内容库管理模板

有关配置和使用云配置脚本的更多信息

有关在模板中使用云配置脚本的详细信息,请参见Automation Assembler 中的计算机初始化

另请参见 VMware 博客文章 vSphere 自定义与 Cloud-init使用 Cloud-Init 自定义部署

映像映射的批处理操作

VMware Aria Automation 支持批量操作,通过这些操作,您可以轻松管理大量映像映射组。这些操作可创建、克隆、编辑和删除多个映像映射。要访问这些批处理操作,请在网格视图中选择 查看未分组项。例如,选择 编辑可对多个映像映射执行批量编辑。
注: 不能为来自同一区域的多个映像映射指定相同的名称。

在映像映射编辑器中,还可以使用按名称匹配功能根据指定的名称跨云帐户和提供程序创建或编辑多个映射。执行此操作时,VMware Aria Automation 先搜索专用映像。如果没有可用的专用映像,服务将搜索公共映像或 vSphere 数据中心之间共享的映像。