VMware vRealize Automation(vRA,,以前稱為vCloud Automation Center)是VMware公司開發(fā)的虛擬環(huán)境自動化軟件。vRealize提供了一個安全門戶,,用戶可以在其中請求新的IT服務(wù)并管理特定的云和IT資源,。應(yīng)用程序開發(fā)人員使用vRealize REST(表述性狀態(tài)傳遞)API,可以在虛擬,、物理和云環(huán)境中部署和實現(xiàn)虛擬機/物理機自動化,。
本文面向希望使用vRealize Automation REST API進(jìn)行編程部署和管理vRealize Automation的軟件工程師和應(yīng)用程序開發(fā)人員,。
本文介紹如何逐步使用vRealize Automation REST API來部署藍(lán)圖,包括如何使用REST API服務(wù)和資源,,如何創(chuàng)建HTTP承載令牌以進(jìn)行身份驗證和授權(quán),,以及如何構(gòu)建REST API服務(wù)調(diào)用。演示步驟如下所示:
從藍(lán)圖部署虛擬機,。
在部署過程中監(jiān)視請求狀態(tài),。
最后,在過程結(jié)束時返回有關(guān)已部署虛擬機的網(wǎng)絡(luò)信息,。
目標(biāo)受眾
本文適用于需要創(chuàng)建客戶端應(yīng)用程序,、Web界面、Web服務(wù)(連接到vAPI端點以使用VMware vSphere Automation SDK進(jìn)行REST服務(wù))的應(yīng)用程序開發(fā)人員和軟件工程師,,以及任何想要使用vRA管理其資源但又希望資源部署可適應(yīng)其當(dāng)前流程的人員,。
為何選擇vRealize Automation,而不是vCloud Director (vCD)
VMware已宣布vCloud Director將不再是vCloud Suite 6.x產(chǎn)品許可證的一部分,。對于企業(yè)客戶而言,,vCloud Director即將終結(jié)。vCloud Director將繼續(xù)通過云打包中的VMware服務(wù)提供商計劃(VSPP)提供,。
對于目前使用vCloud Director的用戶而言,,vRealize Automation將是后續(xù)替代產(chǎn)品。vRealize Automation可以加快應(yīng)用程序和計算服務(wù)的部署和管理,。
為何選擇REST API而不是SOAP
SOAP(簡單對象訪問協(xié)議)和REST都是Web服務(wù)通信協(xié)議,。REST通過一個單獨、統(tǒng)一的接口來訪問命名資源,。它在通過互聯(lián)網(wǎng)發(fā)布公有API時,,最為常用。SOAP則與之不同,,它將應(yīng)用程序邏輯的組件作為服務(wù)發(fā)布,,而不是數(shù)據(jù)。
REST允許更多種類的數(shù)據(jù)格式,,而SOAP只允許XML,。
通常認(rèn)為REST與JSON(通常可以更好地處理數(shù)據(jù)并提供更快的解析)相結(jié)合,,更易于使用,。
REST以JSON格式輸出,為瀏覽器客戶端提供更好的支持,。
REST提供卓越的性能,,特別是緩存未變化的非動態(tài)信息時。
它是雅虎,、eBay,、亞馬遜甚至谷歌等主要服務(wù)商最常用的協(xié)議,。
REST通常更快并且占用帶寬更少。與現(xiàn)有網(wǎng)站集成也更容易,,無需重構(gòu)站點基礎(chǔ)架構(gòu),。這使開發(fā)人員能夠更快地工作,無需花時間從頭開始重構(gòu)站點,。不僅如此,,他們還可以輕松添加功能。
藍(lán)圖
圖1.一個典型的簡單藍(lán)圖
藍(lán)圖是包含一個或多個物理機,、虛擬機或云計算機方案的規(guī)范,,包括網(wǎng)絡(luò)配置和相應(yīng)的生命周期信息。在典型的軟件開發(fā)過程中,,用戶調(diào)用REST API來部署藍(lán)圖,。
vRealize Automation: REST API
目錄服務(wù)REST API旨在供服務(wù)目錄的使用者使用;例如,,想要請求目錄項的最終用戶將是此API的使用者,。當(dāng)最終用戶請求目錄項時,將調(diào)用目錄使用者REST API,。
開發(fā)中使用的技術(shù)適用于希望以編程方式管理vRealize Automation以便為軟件開發(fā)配置VM的開發(fā)人員,。使用vRA REST API請求目錄項的過程有以下五個步驟:
圖2.請求和部署藍(lán)圖的五個步驟
第1步:獲取HTTP承載令牌進(jìn)行身份驗證
URL: https://<vrafqdn>/identity/api/tokens
類型:Get
類型:Post
報頭:Content-type: application/json
第2步:使用藍(lán)圖名稱獲取藍(lán)圖id
URL: https://<vrafqdn>/catalog-service/api/consumer/entitledCatalogItems?$filter=name+eq+'name'
類型:Get
報頭:
Content-type: application/json,
Authorization: Bearer <token>,
Accept: application/json
第3步:獲取請求目錄項所需的JSON模板
URL: https://<vrafqdn>/catalog-service/api/consumer/entitledCatalogItems/{id}/requests/template
類型:Get
報頭:
Content-type: application/json,
Authorization: Bearer <token>,
Accept: application/json
第4步:請求目錄項
URL: https://<vrafqdn>/catalog-service/api/consumer/entitledCatalogItems/{id}/requests
類型:Post
報文:json response received from request template(之前步驟)
第5步:檢查請求狀態(tài)
URL: https://<vrafqdn/catalog-service/api/consumer/requests/{requestid}
類型:Get
圖3.Cyber Range通過REST API與vRA交互
REST客戶端程序
任何可以發(fā)送HTTPS請求的客戶端應(yīng)用程序都是適用的工具平臺,可以使用vRealize Automation API開發(fā)REST應(yīng)用程序,。一些常用的開源軟件包括:
CURL(命令行工具和庫):curl.haxx.se/
Postman application: getpostman.com/
API參考
vRealize Automation API參考列出了所有的REST API服務(wù)調(diào)用。它以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?軟件為客戶提供可擴(kuò)展的虛擬化平臺,適用于網(wǎng)絡(luò)安全培訓(xùn),、建模,、仿真和高級分析。我們?yōu)槎嗉铱蛻籼峁┙鉀Q方案,,包括美國國防部,、新加坡網(wǎng)絡(luò)安全局(CSA/SITSA)和日本九州大學(xué)。
用戶單擊開始按鈕以部署實驗室或應(yīng)對挑戰(zhàn),。
Cyber Range軟件調(diào)用相應(yīng)的vRA REST API,。
REST API調(diào)用相應(yīng)的vRA藍(lán)圖。
vRealize開始部署屬于特定藍(lán)圖的所有VM,。
vRealize Orchestrator在VM的生命周期中運行自定義腳本(如果有),。
REST API將狀態(tài)返回給Cyber Range軟件。
如果狀態(tài)檢查成功,,則會顯示W(wǎng)indows或Linux圖標(biāo),,從而啟用超鏈接以打開控制臺,。
結(jié)論
vRealize通過使用藍(lán)圖,可以作為能夠在更直觀且用戶友好的環(huán)境中運行基礎(chǔ)架構(gòu)的存儲庫,。這有助于我們及時定制或添加更多內(nèi)容以滿足用戶需求,。此外,我們的解決方案集成了vRealize Orchestrator,,可提供應(yīng)用于運行虛擬環(huán)境的常見自動化任務(wù),,能夠利用大部分代碼進(jìn)行部署。它面向JavaScript,,可以幫助我們管理VMware解決方案中的任何自定義腳本,,并針對不同的場景進(jìn)行重復(fù)利用。此外,,使用vRA REST API部署藍(lán)圖,,獲取部署狀態(tài)或銷毀藍(lán)圖可大幅縮短軟件開發(fā)過程的時間。
作者簡介
Moinul Islam是ADI公司可信安全解決方案(TSS)部門(位于美國坦帕市)的軟件工程師,。他在軟件工程,、設(shè)計和開發(fā)方面擁有20年的經(jīng)驗。他于1997年畢業(yè)于俄亥俄州克利夫蘭州立大學(xué),,擁有計算機和信息科學(xué)(MCIS)碩士學(xué)位,。作為坦帕可信安全解決方案部門的一員,他專注于設(shè)計和開發(fā)獨特的軟件解決方案,,以提供對實際可操作網(wǎng)絡(luò)安全培訓(xùn)場景以及基礎(chǔ)知識培訓(xùn)便捷持續(xù)的訪問,。