VMware vRealize Automation (vRA),以前稱(chēng)為vCloud Automation Center,是由VMware, Inc.開(kāi)發(fā)的虛擬環(huán)境自動(dòng)化軟件,vRealize 提供了一個(gè)安全的門(mén)戶(hù),用戶(hù)可以在其中請(qǐng)求新的IT服務(wù)并管理特定的云和IT資源。使用 vRealize REST(具象狀態(tài)傳輸)API,應(yīng)用程序開(kāi)發(fā)人員可以在虛擬、物理和云環(huán)境中置備和自動(dòng)化虛擬機(jī)/物理機(jī)。
本文面向希望使用 vRealize Automation REST API 以編程方式配置和管理 vRealize Automation 的軟件工程師和應(yīng)用程序開(kāi)發(fā)人員。
本文逐步介紹如何使用 vRealize Automation REST API 置備藍(lán)圖,包括如何使用 REST API 服務(wù)和資源、創(chuàng)建用于身份驗(yàn)證和授權(quán)的 HTTP 持有者令牌,以及構(gòu)造 REST API 服務(wù)調(diào)用。本文演示的步驟如下:
從藍(lán)圖部署虛擬機(jī)。
通過(guò)部署監(jiān)視請(qǐng)求的狀態(tài)。
最后,在該過(guò)程結(jié)束時(shí)返回有關(guān)已置備虛擬機(jī)的網(wǎng)絡(luò)信息。
目標(biāo)受眾
本文適用于應(yīng)用程序開(kāi)發(fā)人員、創(chuàng)建客戶(hù)端應(yīng)用程序、Web 界面、連接到 vAPI 端點(diǎn)以使用 VMware vSphere Automation SDK for REST 服務(wù)的 Web 服務(wù)的軟件工程師,以及希望使用 vRA 管理其資源但希望資源置備適合其當(dāng)前流程的任何人。
為什么選擇 vRealize Automation,而不是 vCloud Director (vCD)
VMware宣布vCloud Director將不再是vCloud Suite 6.x代許可證的一部分。對(duì)于企業(yè)客戶(hù)來(lái)說(shuō),vCloud Director 正處于生命周期的盡頭階段。vCloud Director 將繼續(xù)通過(guò)云捆綁包中的 VMware 服務(wù)提供商計(jì)劃 (VSPP) 提供。vRealize Automation 是當(dāng)前使用 vCloud Director 的用戶(hù)的預(yù)期繼任者。vRealize Automation 可加速應(yīng)用和計(jì)算服務(wù)的部署和管理。
為什么 REST API over SOAP
SOAP(簡(jiǎn)單對(duì)象訪(fǎng)問(wèn)協(xié)議)和 REST 都是 Web 服務(wù)通信協(xié)議。REST 通過(guò)單獨(dú)、一致的接口運(yùn)行,以訪(fǎng)問(wèn)命名資源。當(dāng)您通過(guò)互聯(lián)網(wǎng)公開(kāi)公共 API 時(shí),它最常使用。另一方面,SOAP 將應(yīng)用程序邏輯的組件公開(kāi)為服務(wù)而不是數(shù)據(jù)。
REST 允許更多種類(lèi)的數(shù)據(jù)格式,而 SOAP 只允許 XML。
再加上 JSON(通??梢愿玫靥幚頂?shù)據(jù)并提供更快的解析),REST 通常被認(rèn)為更容易使用。
REST 為瀏覽器客戶(hù)端提供了更好的支持,因?yàn)樗妮敵鍪?JSON 格式的。
REST 提供了卓越的性能,特別是通過(guò)緩存未更改且非動(dòng)態(tài)的信息。
它是雅虎、eBay、亞馬遜甚至谷歌等主要服務(wù)最常使用的協(xié)議。
REST 通常速度更快,使用更少的帶寬。與現(xiàn)有網(wǎng)站集成也更容易,無(wú)需重構(gòu)站點(diǎn)基礎(chǔ)結(jié)構(gòu)。這使開(kāi)發(fā)人員能夠更快地工作,而不是花時(shí)間從頭開(kāi)始重寫(xiě)站點(diǎn)。相反,他們可以簡(jiǎn)單地添加功能。
藍(lán)圖
藍(lán)圖是包含一臺(tái)或多臺(tái)物理、虛擬或云計(jì)算機(jī)(包括網(wǎng)絡(luò)配置和相應(yīng)的生命周期信息)的方案的規(guī)范。在典型的軟件開(kāi)發(fā)過(guò)程中,用戶(hù)調(diào)用 REST API 來(lái)預(yù)配藍(lán)圖。
圖1.典型的簡(jiǎn)單藍(lán)圖。
vRealize Automation: REST API
目錄服務(wù) REST API 旨在供服務(wù)目錄的使用者使用;例如,想要請(qǐng)求目錄項(xiàng)的最終用戶(hù)將是此 API 的使用者。當(dāng)最終用戶(hù)請(qǐng)求目錄項(xiàng)時(shí),將調(diào)用目錄使用者 REST API。
我們開(kāi)發(fā)中使用的技術(shù)適用于希望以編程方式管理 vRealize Automation 以置備用于軟件開(kāi)發(fā)的虛擬機(jī)的開(kāi)發(fā)人員。使用 vRA REST API 請(qǐng)求目錄項(xiàng)的過(guò)程可以通過(guò)以下五個(gè)步驟完成:
步驟 1:獲取用于身份驗(yàn)證的 HTTP 持有者令牌
URL: https:///identity/api/tokens
類(lèi)型:獲取
類(lèi)型:郵政
標(biāo)頭:內(nèi)容類(lèi)型:應(yīng)用程序/JSON
步驟 2:使用藍(lán)圖名稱(chēng)獲取藍(lán)圖 ID
URL: https:///catalog-service/api/consumer/entitledCatalogIt ems?$filter=name+eq+'name'
類(lèi)型:獲取
標(biāo)頭:內(nèi)容類(lèi)型:應(yīng)用程序/json,
授權(quán):
持有者<令牌>,
接受:應(yīng)用程序/json
步驟 3:獲取請(qǐng)求目錄項(xiàng)所需的 JSON 模板
URL: https:///catalog-service/api/consumer/entitledCatalogItems/{id}/requests/template
類(lèi)型:獲取
標(biāo)頭:內(nèi)容類(lèi)型:應(yīng)用程序/json,
授權(quán):
持有者<令牌>,
接受:應(yīng)用程序/json
步驟 4:請(qǐng)求目錄項(xiàng)
URL: https:///catalog-service/api/consumer entitledCatalogItems/{id}/requests
類(lèi)型:郵政
正文:從請(qǐng)求模板收到的 json 響應(yīng)(上一步)
步驟 5:檢查請(qǐng)求的狀態(tài)
URL: https://
類(lèi)型:獲取
圖2.請(qǐng)求和部署藍(lán)圖的五個(gè)步驟。
REST 客戶(hù)端程序
任何可以發(fā)送 HTTPS 請(qǐng)求的客戶(hù)端應(yīng)用程序都是使用 vRealize Automation API 開(kāi)發(fā) REST 應(yīng)用程序的合適工具。一些常用的開(kāi)源軟件是:
CURL(命令行工具和庫(kù)):curl.haxx.se
郵遞員申請(qǐng):getpostman.com
接口參考
vRealize Automation API 參考列出了所有 REST API 服務(wù)調(diào)用。它作為 Swagger 文檔提供,可通過(guò)以下任一方式獲得:
如果 vRealize 已安裝在本地:https://{服務(wù)器}/vco/api/docs/index.html
VMware Web 資源:pubs.vmware.com/vra-62/index.jsp#com.vmware.vra.restapi.doc/index.html
網(wǎng)絡(luò)靶場(chǎng):ADI公司的真實(shí)軟件
什么是網(wǎng)絡(luò)靶場(chǎng)?
ADI公司網(wǎng)絡(luò)靶場(chǎng)?軟件為客戶(hù)提供可擴(kuò)展的虛擬化平臺(tái),用于網(wǎng)絡(luò)安全培訓(xùn)、建模、模擬和高級(jí)分析。我們?yōu)槎鄠€(gè)客戶(hù)提供解決方案,包括美國(guó)國(guó)防部、新加坡網(wǎng)絡(luò)安全局 (CSA/SITSA) 和日本九州大學(xué)。
用戶(hù)單擊“開(kāi)始”按鈕以預(yù)配實(shí)驗(yàn)室或質(zhì)詢(xún)。
Cyber Range軟件調(diào)用相應(yīng)的vRA REST API。
REST API 調(diào)用相應(yīng)的 vRA 藍(lán)圖。
vRealize 開(kāi)始置備屬于特定藍(lán)圖的所有虛擬機(jī)。
vRealize Orchestrator 在虛擬機(jī)的生命周期內(nèi)運(yùn)行自定義腳本(如果有)。
REST API將狀態(tài)返回給Cyber Range軟件。
如果狀態(tài)檢查成功,它將顯示一個(gè) Windows 或 Linux 圖標(biāo),該圖標(biāo)啟用超鏈接以打開(kāi)控制臺(tái)。
圖3.Cyber Range 通過(guò) REST API 與 vRA 交互。
結(jié)論
vRealize 通過(guò)使用藍(lán)圖,在更直觀(guān)、用戶(hù)友好的環(huán)境中充當(dāng)我們的鍛煉基礎(chǔ)設(shè)施的存儲(chǔ)庫(kù)。這有助于我們及時(shí)定制或添加更多內(nèi)容,以滿(mǎn)足用戶(hù)需求。此外,vRealize Orchestrator 集成到我們的解決方案中,通過(guò)提供要應(yīng)用于練習(xí)虛擬環(huán)境的常見(jiàn)自動(dòng)化任務(wù),利用大部分代碼進(jìn)行配置。面向JavaScript,它可以幫助我們管理VMware解決方案中的任何自定義腳本,并針對(duì)不同的場(chǎng)景進(jìn)行回收。此外,使用 vRA REST API 置備藍(lán)圖、獲取置備狀態(tài)或銷(xiāo)毀藍(lán)圖可顯著縮短軟件開(kāi)發(fā)過(guò)程中的時(shí)間。
審核編輯:郭婷
-
API
+關(guān)注
關(guān)注
2文章
1487瀏覽量
61833 -
虛擬機(jī)
+關(guān)注
關(guān)注
1文章
908瀏覽量
28109
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論