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

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

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

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

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

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

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

同步云帐户/区域的映像

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

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

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

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

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

查看 OVF 详细信息

可以在 Cloud Assembly 云模板对象(如 vCenter 计算机组件和映像映射)中包含 OVF 规范。如果您的映像包含 OVF 文件,则无需打开文件即可发现其内容。将鼠标指针悬停在 OVF 上可显示 OVF 详细信息,包括其名称和位置。有关 OVF 文件格式的详细信息,请参见 vcenter ovf: property

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

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

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

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

使用限制和标记细化映像选择

要在云模板中进一步细化映像选择,可以添加一项或多项限制,以便对可部署的映像类型指定基于标记的限制。在创建或编辑映像映射配置时显示的限制示例为 !license:none:hard。提供的示例说明了基于标记的限制,在该示例中,仅当云模板中存在 license:none 标记时,才可以使用映像。如果添加标记(例如 license:88license:92),则仅当 license:88license:92 标记存在于云模板中时,才能使用指定的映像。

上面讨论的映像映射限制示例图片

使用云配置脚本控制部署

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

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

映像显示一个库项目,其中映像名称以库名称开头,并用正斜杠字符分隔

注:

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

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

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

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

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

有关创建和使用 vCenter 内容库的相关信息,请参见 vSphere 产品文档中的使用内容库以及如何在 vRealize Automation 8 和 vRealize Automation Cloud 中使用内容库博客帖子。

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

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

另请参见 VMware 博客文章使用 vRealize Automation 8 或 vRealize Automation Cloud 时通过 Cloud-init 实现 vSphere 自定义使用 Cloud-Init 自定义 Cloud Assembly 部署