使用vRealize Automation REST API置备虚拟机以进行软件开发

描述

VMware vRealize Automation (vRA),以前称为vCloud Automation Center,是由VMware, Inc.开发的虚拟环境自动化软件,vRealize 提供了一个安全的门户,用户可以在其中请求新的IT服务并管理特定的云和IT资源。使用 vRealize REST(具象状态传输)API,应用程序开发人员可以在虚拟、物理和云环境中置备和自动化虚拟机/物理机。

本文面向希望使用 vRealize Automation REST API 以编程方式配置和管理 vRealize Automation 的软件工程师和应用程序开发人员。

本文逐步介绍如何使用 vRealize Automation REST API 置备蓝图,包括如何使用 REST API 服务和资源、创建用于身份验证和授权的 HTTP 持有者令牌,以及构造 REST API 服务调用。本文演示的步骤如下:

从蓝图部署虚拟机。

通过部署监视请求的状态。

最后,在该过程结束时返回有关已置备虚拟机的网络信息。

目标受众

本文适用于应用程序开发人员、创建客户端应用程序、Web 界面、连接到 vAPI 端点以使用 VMware vSphere Automation SDK for REST 服务的 Web 服务的软件工程师,以及希望使用 vRA 管理其资源但希望资源置备适合其当前流程的任何人。

为什么选择 vRealize Automation,而不是 vCloud Director (vCD)

VMware宣布vCloud Director将不再是vCloud Suite 6.x代许可证的一部分。对于企业客户来说,vCloud Director 正处于生命周期的尽头阶段。vCloud Director 将继续通过云捆绑包中的 VMware 服务提供商计划 (VSPP) 提供。vRealize Automation 是当前使用 vCloud Director 的用户的预期继任者。vRealize Automation 可加速应用和计算服务的部署和管理。

为什么 REST API over SOAP

SOAP(简单对象访问协议)和 REST 都是 Web 服务通信协议。REST 通过单独、一致的接口运行,以访问命名资源。当您通过互联网公开公共 API 时,它最常使用。另一方面,SOAP 将应用程序逻辑的组件公开为服务而不是数据。

REST 允许更多种类的数据格式,而 SOAP 只允许 XML。

再加上 JSON(通常可以更好地处理数据并提供更快的解析),REST 通常被认为更容易使用。

REST 为浏览器客户端提供了更好的支持,因为它的输出是 JSON 格式的。

REST 提供了卓越的性能,特别是通过缓存未更改且非动态的信息。

它是雅虎、eBay、亚马逊甚至谷歌等主要服务最常使用的协议。

REST 通常速度更快,使用更少的带宽。与现有网站集成也更容易,无需重构站点基础结构。这使开发人员能够更快地工作,而不是花时间从头开始重写站点。相反,他们可以简单地添加功能。

蓝图

蓝图是包含一台或多台物理、虚拟或云计算机(包括网络配置和相应的生命周期信息)的方案的规范。在典型的软件开发过程中,用户调用 REST API 来预配蓝图。

API

图1.典型的简单蓝图。

vRealize Automation: REST API

目录服务 REST API 旨在供服务目录的使用者使用;例如,想要请求目录项的最终用户将是此 API 的使用者。当最终用户请求目录项时,将调用目录使用者 REST API。

我们开发中使用的技术适用于希望以编程方式管理 vRealize Automation 以置备用于软件开发的虚拟机的开发人员。使用 vRA REST API 请求目录项的过程可以通过以下五个步骤完成:

步骤 1:获取用于身份验证的 HTTP 持有者令牌

URL: https:///identity/api/tokens

类型:获取

类型:邮政

标头:内容类型:应用程序/JSON

步骤 2:使用蓝图名称获取蓝图 ID

URL: https:///catalog-service/api/consumer/entitledCatalogIt ems?$filter=name+eq+'name'

类型:获取

标头:内容类型:应用程序/json,
授权:
持有者<令牌>,
接受:应用程序/json

步骤 3:获取请求目录项所需的 JSON 模板

URL: https:///catalog-service/api/consumer/entitledCatalogItems/{id}/requests/template

类型:获取

标头:内容类型:应用程序/json,
授权:
持有者<令牌>,
接受:应用程序/json

步骤 4:请求目录项

URL: https:///catalog-service/api/consumer entitledCatalogItems/{id}/requests

类型:邮政

正文:从请求模板收到的 json 响应(上一步)

步骤 5:检查请求的状态

URL: https://

类型:获取

API

图2.请求和部署蓝图的五个步骤。

REST 客户端程序

任何可以发送 HTTPS 请求的客户端应用程序都是使用 vRealize Automation API 开发 REST 应用程序的合适工具。一些常用的开源软件是:

CURL(命令行工具和库):curl.haxx.se

邮递员申请:getpostman.com

接口参考

vRealize Automation API 参考列出了所有 REST API 服务调用。它作为 Swagger 文档提供,可通过以下任一方式获得:

如果 vRealize 已安装在本地:https://{服务器}/vco/api/docs/index.html

VMware Web 资源:pubs.vmware.com/vra-62/index.jsp#com.vmware.vra.restapi.doc/index.html

网络靶场:ADI公司的真实软件

什么是网络靶场?

ADI公司网络靶场™软件为客户提供可扩展的虚拟化平台,用于网络安全培训、建模、模拟和高级分析。我们为多个客户提供解决方案,包括美国国防部、新加坡网络安全局 (CSA/SITSA) 和日本九州大学。

用户单击“开始”按钮以预配实验室或质询。

Cyber Range软件调用相应的vRA REST API。

REST API 调用相应的 vRA 蓝图。

vRealize 开始置备属于特定蓝图的所有虚拟机。

vRealize Orchestrator 在虚拟机的生命周期内运行自定义脚本(如果有)。

REST API将状态返回给Cyber Range软件。

如果状态检查成功,它将显示一个 Windows 或 Linux 图标,该图标启用超链接以打开控制台。

API

图3.Cyber Range 通过 REST API 与 vRA 交互。

结论

vRealize 通过使用蓝图,在更直观、用户友好的环境中充当我们的锻炼基础设施的存储库。这有助于我们及时定制或添加更多内容,以满足用户需求。此外,vRealize Orchestrator 集成到我们的解决方案中,通过提供要应用于练习虚拟环境的常见自动化任务,利用大部分代码进行配置。面向JavaScript,它可以帮助我们管理VMware解决方案中的任何自定义脚本,并针对不同的场景进行回收。此外,使用 vRA REST API 置备蓝图、获取置备状态或销毁蓝图可显著缩短软件开发过程中的时间。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分