适用于 VMware vRealize 的 Google Cloud 插件

简介

借助适用于 VMware vRealize Orchestrator 的 Google Cloud 插件,您可以使用 vRealize Orchestrator 和 VMware vRealize Automation 预配和管理 Google Cloud 资源,包括 Compute Engine 实例、GKE 集群、Cloud Spanner 和 Cloud SQL 实例以及 Cloud Storage 存储分区。

优势

适用于 vRealize 的 Google Cloud 插件可在本地环境和基于 Google Cloud 的 IT 环境中提供一致的管理和治理体验。例如,您可以使用 Google 提供的蓝图,或者为 Compute Engine 资源构建自定义蓝图,并发布到 vRealize 服务目录。这意味着,当您在本地 VMware 环境中编排虚拟机时,可以使用您已熟悉的工具以可预测的方式选择和启动资源。

前提条件

您需要具备 Google 结算帐号,才能按照本指南中的说明进行操作。 如果您没有帐号,请参阅创建、修改或关闭您的结算帐号。 Google Cloud 新用户可能有资格申请免费试用

本指南假定您具备以下方面的实际运用知识:

支持的 Google Cloud 产品

该插件支持以下 Google Cloud 资源:

  • BigQuery
  • Filestore
  • Cloud KMS
  • Pub/Sub
  • Spanner
  • Cloud SQL
  • Cloud Storage
  • Compute Engine
  • IAM 服务帐号和密钥
  • Google Kubernetes Engine 集群
  • Virtual Private Cloud 网络和防火墙规则
  • 基于虚拟机的一站式应用服务器:
    • ASP.NET
    • MS SQLServer 企业版
    • WordPress
    • LAMP
    • 经过 HA 负载平衡处理的 Compute Engine 虚拟机集群

设置适用于 vRealize 的 Google Cloud 插件

本部分介绍了如何安装和配置该插件。

设置 Google Cloud 环境

  1. 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  3. 确保您的 Google Cloud 项目已启用结算功能

  4. 启用 Compute Engine API。

    启用 API

  5. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  6. 确保您的 Google Cloud 项目已启用结算功能

  7. 启用 Compute Engine API。

    启用 API

下载插件

创建和下载服务帐号 JSON

为了让适用于 vRealize 的 Google Cloud 插件与您的 Google Cloud 资源进行交互,该插件需要具有服务帐号凭据,此凭据用于对面向 Google Cloud 的 API 调用进行身份验证。

  1. 在 Google Cloud 控制台中,转到选择 IAM 和管理页面

    转到“IAM 和管理”页面

  2. 选择服务帐号,然后点击创建服务帐号

  3. 为服务帐号命名,同时可以选择提供相关说明。

  4. 点击创建

  5. 向服务帐号授予以下角色。(使用顶部的过滤框来查找这些角色。)

    • 要使插件能够创建和管理 Compute Engine 实例,请添加 Compute Engine 管理员服务帐号用户角色。
    • 要使插件能够管理 GKE 集群,请添加 Kubernetes Engine 管理员角色。
    • 要使插件能够管理 Pub/Sub 主题和订阅,请添加 Pub/Sub 管理员角色。

    要使插件能够管理其他资源类型,请添加适当的角色。如需了解详情,请参阅了解服务帐号

  6. 或者,要使插件能够管理所有 Google Cloud 资源类型,请为服务帐号指定项目的编辑者角色。但最佳做法是为服务帐号授予插件管理 Google Cloud 资源所需的最少权限。

  7. 完成角色分配后,点击继续

  8. 点击创建密钥,然后选择 JSON 选项。

您的浏览器会以 JSON 格式下载新服务帐号凭据文件,其中包含服务帐号私钥。请将该文件存储在安全的位置,因为稍后您需要使用它在插件中创建 Google Cloud 连接。

在 vRealize Orchestrator 中安装插件

现在,您可以在 vRealize Orchestrator 中配置插件。

  1. 在浏览器中,以管理员身份登录 vRealize Orchestrator 控制中心。网址通常如下所示:

    https://hostname:8283/vco-controlcenter
  2. 转到 Manage Plug-Ins 页面。

  3. 浏览以查找您下载的插件文件,然后点击 Upload

  4. 如果您接受最终用户许可协议,请点击 Install

  5. 如果出现提示,请点击 Save Changes

    在使用插件之前,请等待 vRealize Orchestrator 重新启动其服务。重启可能需要几分钟时间。当您在 Validate Configuration 页面中看到所有项都显示绿色对号时,即表示 vRealize Orchestrator 已重新启动。

    vRealize Orchestrator 中的“Validate Configuration”页面,显示所有验证任务均为成功状态

在 vRealize Orchestrator 中建立 Google Cloud 连接

设置过程的最后一个阶段是使用先前下载的服务帐号凭据文件在 vRealize Orchestrator 中建立连接。这样,插件便可代表任何已登录的 vRealize Orchestrator 用户执行操作。

  1. 在 vRealize Orchestrator 的 Workflows 标签页中,选择 Library > GCP > Configuration > Create GCP Connection
  2. 提供连接的名称。
  3. 通过以下任一方式提供密钥:

    • 附加先前下载的服务帐号凭据文件
    • 将凭据粘贴到 Paste JSON-encoded Service Account 字段中。

    “Create Google Cloud Connection”页面,其中显示要上传的 .json 文件

  4. 如果 vRealize Orchestrator 服务器需要在接入公共互联网之前连接到代理服务器,请选中 Use proxy? 选项并提供代理服务器详细信息:

    此页面显示了已选中的“使用代理”选项、代理端口 (2832)、选择的基本身份验证以及用户名和经过遮盖的密码

  5. 此工作流完成后,转到 vRealize Orchestrator 客户端中的 Inventory 标签页。

    Google Cloud Platform 树条目中,您会看到一个包含您的连接名称和项目 ID 的新子树。除非您已拥有 Google Cloud 资源,否则大部分树节点都是空节点,项目中默认可用的树节点除外。这些非空节点包括计算区域/地区、默认的网络和防火墙规则,以及您创建后用于从 vRealize Orchestrator 建立连接的服务帐号。

    vRealize Orchestrator 映像客户端,显示已选中“VM Instances”的“Inventory”标签页

现在,您已完成插件的配置,接下来可以运行 Google Cloud 目录中提供的其他任何工作流。

在 vRealize Orchestrator 和 vRealize Automation 中处理 Google Cloud 资源

本部分简要介绍了如何使用适用于 vRealize 的 Google Cloud 插件提供的工作流。

对用户进行身份验证并向其授权

vRealize Orchestrator 和 vRealize Automation 均使用 vRealize 基于角色的访问权限管理机制对 vRealize 管理员和用户进行身份验证。vRealize 角色不会映射到 IAM 权限。相反,所有 vRealize 用户和管理员操作都使用创建连接时使用的同一 Google Cloud 服务帐号来执行。如上文所述,服务帐号必须具有适当的 IAM 权限才能允许 vRealize 用户预配 Google Cloud 中的资源。

您可以创建多个连接,每个连接使用不同的 Google Cloud 项目和服务帐号。这样,您可以为特定用户组授予对某一连接的访问权限,从而隔离用户和管理员操作。 您可以为用于创建新资源的每个工作流指定不同的连接;对现有资源进行操作的每个工作流都会通过资源所在的项目 ID 推断出连接。

在 vRealize Orchestrator 中运行 Google Cloud 工作流

借助适用于 vRealize Orchestrator 的 Google Cloud 插件中包含的工作流,您的用户可以创建许多常见的 Google Cloud 资源,包括 Compute Engine 实例、GKE 集群、Virtual Private Cloud 防火墙规则、Cloud Storage 存储分区。通常,您可以在与资源类型相对应的文件夹(例如,Compute Engine 实例所对应的 Instances 文件夹)中访问用于创建上述资源的工作流。

以下部分提供有关如何运行 Google Cloud 工作流的一个例子,介绍了如何构建 Compute Engine 实例。

创建 Compute Engine 实例

  1. 在 vRealize Orchestrator 文件夹中,打开 GCP > Instances,然后点击 Create Instance

    “Create Instance”" class="l10n-absolute-url-src screenshot" l10n-attrs-original-order="src,alt,class" src="https://cloud.google.com/static/architecture/images/vmware_vrealize_plugin_workflows_create_instance.png" />

  2. 选择 Google Cloud 连接。系统会提供授权凭据,以便能够与 Google Cloud API 进行交互。

    在启动工作流的“Create Network”步骤中选择“Google Cloud 连接”对话框

  3. 使用相关字段自定义虚拟机实例的配置,例如指定区域、地区、实例名称、机器类型等。 必填字段标有红色星号。

    指定 Google Cloud 虚拟机实例选项,例如名称、机器类型和操作系统

  4. 点击 Next 将转到其他页面,您可以在这些页面上指定启动脚本、标记、外部 IP 地址和 SSH 密钥等选项。

    指定 Google Cloud 虚拟机实例选项,例如启动脚本

  5. (可选)检查 Price estimate 表单中的信息。 此页面会提供运行虚拟机的每月费用的估算值。其目的并不是准确衡量您的预期结算费用,而是提供用于预算目的的粗略估算值。

    价格估算器,显示每月费用为 $24.67

  6. 指定完选项后,点击 Submit

    在工作流执行页面的 Logs 标签页中,您将看到表示创建操作状态的诊断信息。

    此日志列表显示了创建实例的结果,其中多个条目显示为“RUNNING”

    工作流在几秒钟后完成。然后,您可以重新加载 VM instances 节点,以在 vRealize Orchestrator 清单树中查看新实例。

    “Default”>“VM Instances”>“instance-1”" class="l10n-absolute-url-src screenshot" l10n-attrs-original-order="src,alt,class" src="https://cloud.google.com/static/architecture/images/vmware_vrealize_plugin_vro_inventory_new_instance.png" />

  7. 要显示新实例的属性,请在列表中点击该实例。

    此对话框显示了新实例的属性,例如创建时间、外部 IP 地址和地区

  8. (可选)在 Google Cloud 控制台中,转到虚拟机实例页面并找到新实例。

    Google Cloud 控制台展示了新的虚拟机映像

在现有 Compute Engine 实例上执行“第 2 天”工作流

在 VMware 文档中,“第 2 天”操作是指您在初始预配之后执行的操作。本部分介绍了如何在 Google Cloud 资源上执行操作工作流。

以下过程提供一个例子,说明了如何在现有 Compute Engine 实例上运行工作流。

  1. 在 vRealize Orchestrator 中,右键点击相应资源,然后选择 Run workflow

    点击右键后显示的菜单,已选中“Run workflow”

  2. 点击要执行的工作流,然后点击 Select

    vRealize Orchestrator 的“Chooser”对话框,显示已选中“Reset Instance”工作流

    虚拟机实例将填充到表单字段中。

  3. 运行工作流以执行操作。(在本例中,操作是重置相关实例。)

    “Start Workflow”流程的“Reset Instance”步骤,显示已选择“instance-1”

    屏幕上会出现一个对话框,该对话框会持续显示,直到此工作流完成。 若要在工作流运行期间执行其他任务,您可以选择将工作流发送到后台。

  4. (可选)转到 Google Cloud 控制台,以查看运行工作流所产生的效果。

    Google Cloud 控制台展示了 vRealize Orchestrator 中工作流的结果(停止映像)

将 vRealize Automation 与 Google Cloud 配合使用

借助适用于 vRealize Orchestrator 的 Google Cloud 插件,vRealize Automation 管理员可以创建 Google Cloud 资源的蓝图,并将其发布到 vRealize Automation 目录。最终用户可以请求和部署蓝图。

如需了解详情,请参阅 VMware 文档中的设计和发布蓝图

通过 vRealize Orchestrator 在 vRealize Automation 中创建 XaaS 蓝图

本部分介绍了如何使用由 vRealize Orchestrator 以及适用于 vRealize Orchestrator 的 Google Cloud 插件提供的工作流导入要在 vRealize Automation 中使用的 XaaS 资源类型和蓝图。

添加 vRealize Automation 主机

  1. 在 vRealize Orchestrator 中,转到 Workflows 标签页,然后打开 vRealize Automation > Configuration
  2. 运行 Add a vRA Host 工作流。

    “Configuration”>“Add a vRA host”" class="l10n-absolute-url-src screenshot" l10n-attrs-original-order="src,alt,class" src="https://cloud.google.com/static/architecture/images/vmware_vrealize_plugin_workflows_add_vra_host.png" />

  3. 提供 vRealize Automation 主机的信息。请务必使用已分配 IaaS 管理角色的用户帐号。

导入 XaaS 自定义资源

  1. 在 vRealize Orchestrator 中,转到 Workflows 标签页,然后打开 GCP > vRA Blueprints
  2. 运行 Import XaaS Custom Resources 工作流。

    “Import XaaS Custom Resources”" class="l10n-absolute-url-src screenshot" l10n-attrs-original-order="src,alt,class" src="https://cloud.google.com/static/architecture/images/vmware_vrealize_plugin_workflows_import_custom_resources.png" />

  3. 选择 vRealize Automation 主机,然后选择要在 vRealize Automation 中提供的 Google Cloud 资源类型。例如,如果要在 vRealize Automation 中管理 Cloud Storage 资源,请选择 Google Cloud:BucketGoogle Cloud:StorageObject。默认情况下,插件中可用的所有 Google Cloud 类型都会被选中。

    此对话框显示了 vRA 主机、Google Cloud 类型,并且已选中“Google Cloud:Bucket”

  4. 提交工作流。

    工作流完成后,您将在 vRealize Automation 的 Design > XaaS > Custom Resources 部分中看到导入的自定义资源。

    vRealize Automation Development 页面,显示了“Custom Resources”窗格和各种 Google Cloud 存储桶特性

导入 XaaS 服务蓝图

  1. 在 vRealize Orchestrator 中,转到 Workflows 标签页,然后打开 GCP > vRA Blueprints
  2. 运行 Import XaaS Services Blueprints 工作流。

    “Import XaaS Services Blueprints”" class="l10n-absolute-url-src screenshot" l10n-attrs-original-order="src,alt,class" src="https://cloud.google.com/static/architecture/images/vmware_vrealize_plugin_workflows_import_blueprints.png" />

  3. 选择 vRealize Automation 主机,然后选择工作流,以创建先前导入的自定义资源类型的实例。例如,可以使用 BigQuery > Create Dataset 工作流,因为该工作流用于创建 Google Cloud:Dataset

    您可以根据 vRealize Automation 主机已知的自定义资源类型选择任意数量的工作流。服务名称字段用于定义 vRealize Automation 服务目录的名称。

    “Array of string”对话框,显示工作流列表

  4. 提交工作流。

    工作流完成后,您将在 vRealize Orchestrator 的 Design > XaaS > XaaS Blueprints 部分下看到所有已导入的蓝图。

    XaaS 的“Blueprints”对话框,显示可用蓝图列表

  5. 要验证工作流,请在 vRealize Orchestator 中转到 Administration > Catalog Management > Catalog Items

    您会看到其中已添加新的 Google Cloud 服务,并且每个 XaaS 蓝图已添加为新服务中的目录项。

    vRealize Automation Development 页面,显示“Catalog Items”窗格和目录项列表

为 Google Cloud 服务目录项创建权益

为了让用户能够创建和管理 Google Cloud 资源,您需要创建一项权益,用于指定 Google Cloud 服务以及可用的目录项和操作。

如需了解详情,请参阅 VMware 文档中的权益

创建权益并将其激活后,指定的业务组中的用户将会看到以选项形式列出的 Google Cloud 目录项。

vRealize Automation Development 页面,显示“Catalog”窗格和各种目录项作为卡片

为自定义资源创建操作

您需要创建针对自定义资源的“第 2 天”操作

  1. 在 vRealize Orchestrator 中,转到 Workflows 标签页,然后打开 GCP > vRA Blueprints
  2. 运行 Create Actions for Custom Resource 工作流。

    “Create Actions For Custom Resource”" class="l10n-absolute-url-src screenshot" l10n-attrs-original-order="src,alt,class" src="https://cloud.google.com/static/architecture/images/vmware_vrealize_plugin_workflows_create_actions.png" />

  3. 选择 vRealize Automation 主机,然后输入要为其创建操作的自定义资源类型的名称。

    此对话框显示了工作流参数、主机名和资源类型

  4. 提交工作流。

    工作流完成后,您会在 vRealize Automation 的 Design > XaaS > Resource Actions 部分中看到这些操作显示为已发布的资源操作。

    vRealize Automation Development 页面,显示“Resource Actions”窗格和操作列表,例如“Delete Dataset”和“Update Cluster”

  5. (可选)在为用户创建的权益中启用这些操作。这样可确保这些操作将显示在由 vRealize Automation 管理的已创建的资源上。

    “Entitled Actions”对话框,显示操作列表(例如“Create Table”)和相应的批准政策

在 vRealize Automation 中手动创建 XaaS 蓝图

本部分介绍了如何手动配置 vRealize Automation,以允许用户在 vRealize Automation 服务目录中运行适用于 VMware vRealize Orchestrator 的 Google Cloud 插件中的工作流。本指南假定您具有 XaaS 管理员权限,并且熟悉 VMWare 文档中创建 XaaS 蓝图和操作部分所述的说明。

为了以更高效的方法构建 vRealize Automation XaaS 工件,我们建议您按照上文通过 vRealize Orchestrator 在 vRealize Automation 中创建 XaaS 蓝图部分的步骤进行操作。

创建多资源蓝图

您可以使用 vRealize Automation 蓝图设计器来构建由多个 XaaS 蓝图组件构成的可重复使用的模板。

例如,您可以创建一个蓝图,用于创建运行 Microsoft SQL Server 且具有关联的网络和防火墙规则的 Compute Engine 实例。您可以使用蓝图设计器界面添加 Google Cloud 资源并创建自定义蓝图。

蓝图设计器显示了一些框,其中,箭头从“Network”指向“SQL Server”再指向“Firewall Rules”

更新和版本说明

要获取适用于 vRealize 的 Google Cloud 插件的最新版本,请从以下 Cloud Storage 存储分区下载该插件:

https://storage.googleapis.com/cpe-ti-vmware/signed/o11nplug-in-gcp-plug-in-for-vro.vmoapp

如果您运行的是旧版插件,那么在运行工作流时,您将收到一条警告消息,告知您有可用的新版本。

您可以使用 vRealize Orchestrator 下载最新版插件。

  1. 在 Google Cloud 控制台中,确保已启用 Cloud Storage JSON API。

    转到 Cloud Storage JSON API 页面

  2. 在 vRealize Orchestrator 中,转到 GCP > Configuration 文件夹。

  3. 运行 Download Latest Plugin 工作流,并提供您的 Google Cloud 连接。

    “Configuration”>“Download Latest Plugin”" class="l10n-absolute-url-src screenshot" l10n-attrs-original-order="src,alt,class" src="https://cloud.google.com/static/architecture/images/vmware_vrealize_plugin_workflows_download_latest.png" />

    运行此工作流后,插件的 .dar 文件会被下载到临时文件夹。

  4. 按照此 VMware 知识库文章 2151653 中的步骤进行操作,以将插件的文件复制到 vRealize Orchestrator 服务器上的相应位置。在步骤 4 中用 cp 代替 rm,以便将下载的 .dar 文件移动到 /usr/lib/vco/app-server/plugins/ 文件夹。

    此列表显示了复制到插件文件夹的 .dar 文件

您可以通过以下网址查看版本说明:https://storage.googleapis.com/cpe-ti-vmware/RELEASE_NOTES.txt

问题

要反映产品缺陷问题,请向 gcp-vrealize-feedback@google.com 发送电子邮件。