部署云模板后,可以运行实施后操作以对部署进行更改。Cloud Assembly 包括许多实施后操作,但您可能希望提供其他操作。可以创建自定义资源操作,并将其作为实施后操作提供给用户。

自定义资源操作可以基于 vRealize Orchestrator 工作流或可扩展性操作。以下自定义实施后资源操作示例旨在介绍基于 vRealize Orchestrator 的资源操作创建过程。

前提条件

过程

  1. 创建一个自定义资源操作,使用 vMotion 将 vSphere 虚拟机从一个主机移至另一个主机。
    1. Cloud Assembly 中,选择设计 > 资源操作,然后单击新建资源操作
    2. 提供以下值。

      请注意,除工作流名称外,这些值都是示例值。

      设置 示例值
      名称 vSphere_VM_vMotion

      这是显示在“资源操作”列表中的名称。

      显示名称 迁移虚拟机

      这是用户在“部署操作”菜单中看到的名称。

    3. 单击激活选项,在“实施后操作”菜单中为与资源类型匹配的资源启用此操作。
    4. 选择用于定义实施后操作的资源类型和工作流。
      设置 示例值
      资源类型 选择 Cloud.vSphere.Machine 资源类型。

      这是部署为云模板组件的资源类型,但不一定是云模板中的资源。例如,您的云模板中可能存在云平台无关的计算机,但在 vCenter Server 上部署该计算机时,该计算机将为 Cloud.vSphere.Machine。由于该操作适用于已部署的类型,因此在定义资源操作时,不要使用云平台无关的类型。

      在此示例中,vMotion 仅适用于 vSphere 计算机,但您可能需要在多个资源类型上运行其他操作。必须为每个资源类型创建一个操作。

      工作流 选择通过 vMotion 迁移虚拟机工作流。

      如果您有多个 vRealize Orchestrator 集成,请在用于运行这些自定义资源操作的集成实例上选择工作流。

  2. 创建 vRealize Orchestrator 属性与 Cloud Assembly 结构定义属性的绑定。Cloud Assembly 实施后操作支持三种类型的绑定。
    绑定类型 说明
    在请求中 默认值绑定类型。如果选择该选项,则会在请求表单中显示输入属性,并且用户必须在请求时提供其值。
    使用绑定操作 此选项仅适用于如下所示的引用类型输入:
    • VC:VirtualMachine
    • VC:Folder

    用户选择执行绑定的操作。所选操作必须返回与输入参数相同的类型。正确的属性定义为 ${properties.someProperty}

    直接 此选项适用于使用基本数据类型的输入属性。如果选择该选项,将直接从输入属性的结构定义映射具有合适类型的属性。用户从结构定义树中选择属性。具有不同类型的属性处于非活动状态。
    在此用例中,绑定是一种 vRealize Orchestrator 操作,可在工作流中使用的 vRealize Orchestrator VC:VirtualMachine 输入类型与 Cloud Assembly Cloud.vSphere.Machine 资源类型之间建立连接。通过设置绑定,对于请求对 vSphere VM 计算机执行 vMotion 操作的用户,您可无缝执行实施后操作。系统会在工作流中提供名称,这样用户无需执行此操作。
    1. 选择通过 vMotion 迁移虚拟机工作流后,导航到属性绑定窗格。
    2. 选择 vm 输入属性的绑定。
    3. 绑定下,选择使用绑定操作
      将自动选择 findVcVmByVcAndVmUuid 操作。此操作在 Cloud Assembly 中预配置了 vRealize Orchestrator 集成。
    4. 单击保存
  3. 要将更改保存到实施后操作,请单击创建
  4. 要考虑工作流中的其他输入参数,可以自定义用户在请求操作时看到的请求表单。
    1. 资源操作中,选择最近创建的实施后操作。
    2. 单击编辑请求参数
      可以自定义向用户显示请求页面的方式。
      默认字段名称 外观 限制
      虚拟机的目标资源池。默认为当前资源池。
      • 标签 = 目标资源池
      • 显示类型 = 值选择器
      要将虚拟机迁移到的目标主机
      • 标签 = 目标主机
      • 显示类型 = 值选择器
      必需 = 是
      迁移任务的优先级 标签 = 任务的优先级 值选项
      • 值源 = 常数
        在文本框中,输入逗号分隔列表。
        lowPriority|Low,defaultPriority|Default,highPriority|High
      必需 = 是
      (可选)仅当虚拟机的打开电源状态符合指定的状态时才迁移虚拟机 删除此文本框。

      vMotion 可移动处于任何电源状态的计算机。

    3. 单击保存
  5. 要限制操作可用的时间,可以配置条件。
    例如,您只希望 vMotion 操作在计算机有四个或更少的 CPU 时可用。
    1. 打开需要条件
    2. 输入条件。
      Key 运算符
      ${properties.cpuCount} lessThan 4

      如果需要复杂条件,请参见如何为 Cloud Assembly 自定义操作构建高级条件

    3. 单击更新
  6. 验证“迁移虚拟机”操作是否可用于符合条件的已部署计算机。
    1. 选择部署
    2. 找到包含与已定义条件匹配的已部署计算机的部署。
    3. 打开该部署并选择计算机。
    4. 在右侧窗格中单击“操作”,然后确认存在 Move VM 操作。
      “操作”菜单中的“迁移虚拟机”操作示例。
    5. 运行该操作。