《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 解決方案 > 使用面向軟件開(kāi)發(fā)的vRealize Automation REST API部署虛擬機(jī)

使用面向軟件開(kāi)發(fā)的vRealize Automation REST API部署虛擬機(jī)

2018-12-17
作者:Moinul Islam
關(guān)鍵詞: ADI Vmware

  VMware vRealize Automation(vRA,以前稱為vCloud Automation Center)是VMware公司開(kāi)發(fā)的虛擬環(huán)境自動(dòng)化軟件。vRealize提供了一個(gè)安全門(mén)戶,用戶可以在其中請(qǐng)求新的IT服務(wù)并管理特定的云和IT資源。應(yīng)用程序開(kāi)發(fā)人員使用vRealize REST(表述性狀態(tài)傳遞)API,可以在虛擬、物理和云環(huán)境中部署和實(shí)現(xiàn)虛擬機(jī)/物理機(jī)自動(dòng)化。

  本文面向希望使用vRealize Automation REST API進(jìn)行編程部署和管理vRealize Automation的軟件工程師和應(yīng)用程序開(kāi)發(fā)人員。

  本文介紹如何逐步使用vRealize Automation REST API來(lái)部署藍(lán)圖,包括如何使用REST API服務(wù)和資源,如何創(chuàng)建HTTP承載令牌以進(jìn)行身份驗(yàn)證和授權(quán),以及如何構(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)受眾

  本文適用于需要?jiǎng)?chuàng)建客戶端應(yīng)用程序、Web界面、Web服務(wù)(連接到vAPI端點(diǎn)以使用VMware vSphere Automation SDK進(jìn)行REST服務(wù))的應(yīng)用程序開(kāi)發(fā)人員和軟件工程師,以及任何想要使用vRA管理其資源但又希望資源部署可適應(yīng)其當(dāng)前流程的人員。

  為何選擇vRealize Automation,而不是vCloud Director (vCD)

  VMware已宣布vCloud Director將不再是vCloud Suite 6.x產(chǎn)品許可證的一部分。對(duì)于企業(yè)客戶而言,vCloud Director即將終結(jié)。vCloud Director將繼續(xù)通過(guò)云打包中的VMware服務(wù)提供商計(jì)劃(VSPP)提供。

  對(duì)于目前使用vCloud Director的用戶而言,vRealize Automation將是后續(xù)替代產(chǎn)品。vRealize Automation可以加快應(yīng)用程序和計(jì)算服務(wù)的部署和管理。

  為何選擇REST API而不是SOAP

  SOAP(簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議)和REST都是Web服務(wù)通信協(xié)議。REST通過(guò)一個(gè)單獨(dú)、統(tǒng)一的接口來(lái)訪問(wèn)命名資源。它在通過(guò)互聯(lián)網(wǎng)發(fā)布公有API時(shí),最為常用。SOAP則與之不同,它將應(yīng)用程序邏輯的組件作為服務(wù)發(fā)布,而不是數(shù)據(jù)。

  REST允許更多種類的數(shù)據(jù)格式,而SOAP只允許XML。

  通常認(rèn)為REST與JSON(通??梢愿玫靥幚頂?shù)據(jù)并提供更快的解析)相結(jié)合,更易于使用。

  REST以JSON格式輸出,為瀏覽器客戶端提供更好的支持。

  REST提供卓越的性能,特別是緩存未變化的非動(dòng)態(tài)信息時(shí)。

  它是雅虎、eBay、亞馬遜甚至谷歌等主要服務(wù)商最常用的協(xié)議。

  REST通常更快并且占用帶寬更少。與現(xiàn)有網(wǎng)站集成也更容易,無(wú)需重構(gòu)站點(diǎn)基礎(chǔ)架構(gòu)。這使開(kāi)發(fā)人員能夠更快地工作,無(wú)需花時(shí)間從頭開(kāi)始重構(gòu)站點(diǎn)。不僅如此,他們還可以輕松添加功能。

  

  藍(lán)圖

1.jpg

  圖1.一個(gè)典型的簡(jiǎn)單藍(lán)圖

  藍(lán)圖是包含一個(gè)或多個(gè)物理機(jī)、虛擬機(jī)或云計(jì)算機(jī)方案的規(guī)范,包括網(wǎng)絡(luò)配置和相應(yīng)的生命周期信息。在典型的軟件開(kāi)發(fā)過(guò)程中,用戶調(diào)用REST API來(lái)部署藍(lán)圖。

  vRealize Automation: REST API

  目錄服務(wù)REST API旨在供服務(wù)目錄的使用者使用;例如,想要請(qǐng)求目錄項(xiàng)的最終用戶將是此API的使用者。當(dāng)最終用戶請(qǐng)求目錄項(xiàng)時(shí),將調(diào)用目錄使用者REST API。

  開(kāi)發(fā)中使用的技術(shù)適用于希望以編程方式管理vRealize Automation以便為軟件開(kāi)發(fā)配置VM的開(kāi)發(fā)人員。使用vRA REST API請(qǐng)求目錄項(xiàng)的過(guò)程有以下五個(gè)步驟:

2.jpg

  圖2.請(qǐng)求和部署藍(lán)圖的五個(gè)步驟

  第1步:獲取HTTP承載令牌進(jìn)行身份驗(yàn)證

  URL: https://<vrafqdn>/identity/api/tokens

  類型:Get

  類型:Post

  報(bào)頭:Content-type: application/json

  第2步:使用藍(lán)圖名稱獲取藍(lán)圖id

  URL: https://<vrafqdn>/catalog-service/api/consumer/entitledCatalogItems?$filter=name+eq+'name'

  類型:Get

  報(bào)頭:

  Content-type: application/json,

  Authorization: Bearer <token>,

  Accept: application/json

  第3步:獲取請(qǐng)求目錄項(xiàng)所需的JSON模板

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

  類型:Get

  報(bào)頭:

  Content-type: application/json,

  Authorization: Bearer <token>,

  Accept: application/json

  第4步:請(qǐng)求目錄項(xiàng)

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

  類型:Post

  報(bào)文:json response received from request template(之前步驟)

  第5步:檢查請(qǐng)求狀態(tài)

  URL: https://<vrafqdn/catalog-service/api/consumer/requests/{requestid}

  類型:Get

3.jpg

  圖3.Cyber Range通過(guò)REST API與vRA交互

  REST客戶端程序

  任何可以發(fā)送HTTPS請(qǐng)求的客戶端應(yīng)用程序都是適用的工具平臺(tái),可以使用vRealize Automation API開(kāi)發(fā)REST應(yīng)用程序。一些常用的開(kāi)源軟件包括:

  CURL(命令行工具和庫(kù)):curl.haxx.se/ 

  Postman application: getpostman.com/

  API參考

  vRealize Automation API參考列出了所有的REST API服務(wù)調(diào)用。它以Swagger文檔的形式提供,可通過(guò)以下任一方式獲得:

  如果在本地安裝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公司的實(shí)際軟件

  什么是Cyber Range?

  ADI公司Cyber Range?軟件為客戶提供可擴(kuò)展的虛擬化平臺(tái),適用于網(wǎng)絡(luò)安全培訓(xùn)、建模、仿真和高級(jí)分析。我們?yōu)槎嗉铱蛻籼峁┙鉀Q方案,包括美國(guó)國(guó)防部、新加坡網(wǎng)絡(luò)安全局(CSA/SITSA)和日本九州大學(xué)。

  用戶單擊開(kāi)始按鈕以部署實(shí)驗(yàn)室或應(yīng)對(duì)挑戰(zhàn)。

  Cyber Range軟件調(diào)用相應(yīng)的vRA REST API。

  REST API調(diào)用相應(yīng)的vRA藍(lán)圖。

  vRealize開(kāi)始部署屬于特定藍(lán)圖的所有VM。

  vRealize Orchestrator在VM的生命周期中運(yùn)行自定義腳本(如果有)。

  REST API將狀態(tài)返回給Cyber Range軟件。

  如果狀態(tài)檢查成功,則會(huì)顯示W(wǎng)indows或Linux圖標(biāo),從而啟用超鏈接以打開(kāi)控制臺(tái)。

  結(jié)論

  vRealize通過(guò)使用藍(lán)圖,可以作為能夠在更直觀且用戶友好的環(huán)境中運(yùn)行基礎(chǔ)架構(gòu)的存儲(chǔ)庫(kù)。這有助于我們及時(shí)定制或添加更多內(nèi)容以滿足用戶需求。此外,我們的解決方案集成了vRealize Orchestrator,可提供應(yīng)用于運(yùn)行虛擬環(huán)境的常見(jiàn)自動(dòng)化任務(wù),能夠利用大部分代碼進(jìn)行部署。它面向JavaScript,可以幫助我們管理VMware解決方案中的任何自定義腳本,并針對(duì)不同的場(chǎng)景進(jìn)行重復(fù)利用。此外,使用vRA REST API部署藍(lán)圖,獲取部署狀態(tài)或銷毀藍(lán)圖可大幅縮短軟件開(kāi)發(fā)過(guò)程的時(shí)間。

  作者簡(jiǎn)介

  Moinul Islam是ADI公司可信安全解決方案(TSS)部門(mén)(位于美國(guó)坦帕市)的軟件工程師。他在軟件工程、設(shè)計(jì)和開(kāi)發(fā)方面擁有20年的經(jīng)驗(yàn)。他于1997年畢業(yè)于俄亥俄州克利夫蘭州立大學(xué),擁有計(jì)算機(jī)和信息科學(xué)(MCIS)碩士學(xué)位。作為坦帕可信安全解決方案部門(mén)的一員,他專注于設(shè)計(jì)和開(kāi)發(fā)獨(dú)特的軟件解決方案,以提供對(duì)實(shí)際可操作網(wǎng)絡(luò)安全培訓(xùn)場(chǎng)景以及基礎(chǔ)知識(shí)培訓(xùn)便捷持續(xù)的訪問(wèn)。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。