VMware vRealize Automation(vRA,以前称为vCloud Automation Center)是VMware公司开发的虚拟环境自动化软体。vRealize提供了一个安全门户,让用户可以在其中请求新的IT服务,并管理特定的云端和IT资源。应用程式开发人员使用vRealize REST(表述性状态传递)API,将可以在虚拟、物理和云端环境中部署和实现虚拟机器/物理机自动化。
本文针对希??使用vRealize Automation REST API进行编程部署和管理vRealize Automation的软体工程师和应用程式开发人员介绍如何逐步使用vRealize Automation REST API来部署蓝图,包括如何使用REST API服务和资源,如何创建HTTP承载权杖以进行身份验证和授权,以及如何构建REST API服务调用。相关展示步骤如下所示:
从蓝图部署虚拟机器。
在部署过程中监视请求状态。
最後,在过程结束时返回有关已部署虚拟机器的网路资讯。
目标对象
本文适用於需要创建用户端应用程式、Web介面、Web服务(连接到vAPI端点以使用VMware vSphere Automation SDK进行REST服务)的应用程式开发人员和软体工程师,以及任何想要使用vRA管理其资源、但又希??资源部署可适应其当前流程的人员。
为何选择vRealize Automation,而不是vCloud Director (vCD)
VMware已宣布vCloud Director将不再是vCloud Suite 6.x产品许可证的一部分。对於企业客户而言,vCloud Director即将终结。vCloud Director将继续透过云端打包中的VMware服务提供者计画(VSPP)提供。
对於目前使用vCloud Director的用户而言,vRealize Automation将是後续替代产品。vRealize Automation可以加快应用程式和计算服务的部署和管理。
为何选择REST API而不是SOAP
SOAP(简单物件存取协定)和REST都是Web服务通讯协定。REST透过一个单独、统一的介面来存取命名资源。它在透过互联网发布公有API时最为常用。SOAP则与之不同,它将应用程式逻辑的元件作为服务发布,而不是资料。
REST允许更多种类的资料格式,而SOAP只允许XML。
通常认为REST与JSON(通常可以更好地处理资料并提供更快的解析)相结合,更易於使用。
REST以JSON格式输出,为流览器用户端提供更好的支援。
REST提供卓越的性能,特别是缓存未变化的非动态资讯时。
它是Yahoo、eBay、亚马逊甚至Google等主要服务供应商最常使用的协定。
REST通常更快并且占用频宽更少。与现有网站整合也更容易,无需重构网站基础架构。这使开发人员能够更快地工作,无需花时间从头开始重构网站。不仅如此,他们还可以轻松添加功能。
?
蓝图
蓝图是包含一个或多个物理、虚拟机器或云电脑方案的规范,包括网路配置和相应的生命周期资讯。在典型的软体发展过程中,用户是调用REST API来部署蓝图。
vRealize Automation: REST API
目录服务REST API旨在供服务目录的使用者使用;例如,想要请求目录项的最终使用者将是此API的使用者。当最终使用者请求目录项时,将调用目录使用者REST API。
开发中使用的技术适用於希??以程式设计方式管理vRealize Automation以便为软体发展配置VM的开发人员。使用vRA REST API请求目录项的过程有以下五个步骤:
第1步:获取HTTP承载权杖进行身份验证
URL: https:///identity/api/tokens
类型:Get
类型:Post
报头:Content-type: application/json
第2步:使用蓝图名称获取蓝图id
URL: https:///catalog-service/api/consumer/entitledCatalogItems?$filter=name+eq+'name'
类型:Get
报头:
Content-type: application/json,
Authorization: Bearer ,
Accept: application/json
第3步:获取请求目录项所需的JSON范本
URL: https:///catalog-service/api/consumer/entitledCatalogItems/{id}/requests/template
类型:Get
报头:
Content-type: application/json,
Authorization: Bearer ,
Accept: application/json
第4步:请求目录项
URL: https:///catalog-service/api/consumer/entitledCatalogItems/{id}/requests
类型:Post
报文:json response received from request template(之前步骤)
第5步:检查请求状态
URL: https://
类型:Get

图三 : Cyber Range通过REST API与vRA交互。 |
|
REST用户端程式
任何可以发送HTTPS请求的用户端应用程式都是适用的工具平台,可以使用vRealize Automation API开发REST应用程式。一些常用的开源软体包括:
CURL(命令列工具和库):curl.haxx.se/
Postman application: getpostman.com/
API叁考
vRealize Automation API叁考列出了所有的REST API服务调用。它以Swagger文档的形式提供,可透过以下任一方式获得:
如果在本地安装vRealize:https:// {server} /vco/api/docs/index.html
Vmware web资源:pubs.vmware.com/vra-62/index.jsp - com.vmware.vra.restapi. doc/index.html
Cyber Range: 一款ADI公司的实际软体
什麽是Cyber Range?
ADI 的Cyber Range?软体为客户提供可扩展的虚拟化平台,适用於网路安全培训、建模、模拟和高级分析。我们为多家客户提供解决方案,包括美国国防部、新加坡网路安全局(CSA/SITSA)和日本九州大学。
使用者可按一下开始按钮,以部署实验室或因应挑战。
Cyber Range软体调用相应的vRA REST API。
REST API调用相应的vRA蓝图。
vRealize开始部署属於特定蓝图的所有VM。
vRealize Orchestrator在VM的生命周期中运行自订脚本(如果有)。
REST API将状态返回给Cyber Range软体。
如果状态检查成功,则会显示Windows或Linux图示,从而启用超连结以打开控制台。
结论
vRealize透过使用蓝图,可以作为能够在更直观且用户友好的环境中运行基础架构的存储库。这有助於我们及时定制或添加更多内容以满足使用者需求。此外,我们的解决方案整合了vRealize Orchestrator,可提供应用於运行虚拟环境的常见自动化任务,能够利用大部分代码进行部署。它因应JavaScript,可以帮助我们管理VMware解决方案中的任何自订脚本,并针对不同的场景进行重复利用。此外,使用vRA REST API部署蓝图,获取部署状态或销毁蓝图可大幅缩短软体发展过程的时间。
(本文作者Moinul Islam为ADI公司可信安全解决方案(TSS)部门软体工程师)