新的vCloud Director 9.1的產品新功能,其中有一項功能是可以在vCloud Directror的操作介面裡,將vRealize Orchestrator的工作流整合進來,使得服務供應商可以提供更全面的XaaS服務(Anything as a Service),在介紹這個功能之前,我想先介紹一下基本的vCloud Director(vCD)和vRealize Orchestrator(vRO)整合的架構和實現方式,讓大家對其底層的運作原理增加一點了解。

首先,如果大家對vRO不熟悉的話,可以先到官網查看一下它的功能,簡而言之,一個完整的雲平台少不了背後要有一個工作流整合引擎,大家可以把它想像成是一個自動化的工具,相對於Github是拿來放Source code,vRO則可以存放很多你已經開發好的各式各樣的腳本,在vRO裡我們可以設計一個task需要如何去執行,需要的輸入是什麼,輸出是什麼,判斷執行成功或失敗的判斷式為何等等,這個流程可以把各種寫好的腳本都放進來,變成一個完整的工作流執行項,例如可以執行以下自動化工作:

  • 設定虛擬機器的IP位址
  • 自動產生派工單
  • 更新IT資產表
  • 自動設定網路負載均衡資訊
  • 執行系統備份
  • 送出告警事件

vRO workflow

另外vRO可以透過Restful或SOAP的方式和外部系統整合,另外和VMware的其他產品也有很緊密的整合,請看下圖說明。

HL workflow

其中vRO plug-in 和vCD的關聯如下圖所示,是透過vCloud Java SDK和vCD互相作動的:

vco to vCD

安裝vCD Plug-In

好了,回到主題,我們要介紹的是vRO plug-In for vCD,首先假設你已經了解什麼是vCD,也知道如何安裝vRO,我們第一步要做的是去VMware官網下載這個Plug-In:

vRO plug-In information

choose the vCD 9.1 plug-in

然後在vRO的Control Center把這個Plug-In Upload到vRO裡,點選如下”Plug-Ins”圖示:

Control Center Manage Plug-Ins

然後選取剛剛下載的檔案即可:

choose downloaded vCD91

接受EULA:

accept EULA

這樣就安裝完畢了,可以看到vCD 9.1的Plug-In已經顯示為啟動: (這時最好將vRO服務重新啟動以便讓設定重新讀取生效)

plug installed

這時登入到vRO Client,檢查已經有一些vCD預設的工作流項目被安裝進來了:

check vRO Client

顯示出vCD的Packge:

package

設定vCD plug-In

接下來要在vRO裡面設定這個vCD Plug-In需要如何和vCD整合,就是設定未來要執行這些程式的vCD主機在哪裡,要以什麼身份去執行,要用Per User based還是Shared based的,所謂Shared based就是共用一個連線連到vCD,vCD同時只能允許有一個連接,我們直接看一下設定畫面,首先選擇”Plug-In Configuration” –> “Add a connection”

add connection

輸入vCD Host位址,API版本,vCD 9.1支援30的版本:

add a vCD connection 1

輸入相關訊息,例如要在哪些客戶環境執行,以何身份執行,這裡指定的使用者必須在vCD已經設定好相關執行權限!

add a vCD connection 2

submit後會看到底下連線成功的畫面:

connection succeed

有空的話可以看看有哪些可以執行的動作,大家可以參考這裡

執行vCD Plug-In

我們接下來就可執行這些安裝且設定好的vCD Plug-In工作流程式了,這裡想驗證的就是從組織裡既有的vAPP模板佈署一個新的vAPP:

首先看一下vCD裡租戶T1已經有的vAPP template,看到有一個”Louis-tclinux-base“的模板:

vAPP template

另外有一個既有的vAPP,T1-vApp1:

existing runnning vAPP

我們選擇如下“vApp Template”裡面的”Instantiate a vApp template”這個工作流:

initiate

按右鍵執行它:

start

可看到如下執行前的畫面,要點選藍色框框的”Not set”,這時會帶出視窗讓我們選擇要連到哪個vCD,我們挑選要用的vApp模板(Louis-tclinux-base),如下面幾個圖所示:

specify vapp

click vapp

add info 1選擇所要的選項:

add info 2

設定允許可以執行多久,存放多長時間:add info 3

這個vApp要放在哪個OvDC,然後Submit:add info 4

我們回到T1的vCD畫面,可以看到有一個vApp正在被佈署中,表示一切正常!

result1

vRO Client裡面剛剛執行的工作正在執行中:

result2

觀察一個LouisTestLinux01的vApp已經成功的被佈署出來了!

result3

這個vApp的屬性也都和當時執行工作流時指定的相符!

result5

從vRO Client看到一個綠色打勾狀的符號,表示該工作流成功地被執行!

result4

 

讀者有興趣可以執行其他的工作流,這樣我們的介紹也大致完成,下次有時間再跟大家報告vCD 9.1如何用vRO完成XaaS的要求,謝謝大家!

相關文件

  • 一些有關 vCD 9.1 新功能的介紹:

https://www.paluszek.com/wp/2018/03/09/vmware-vcloud-director-9-1-is-out/

  • vCD 9.1 release notes:

https://docs.vmware.com/en/vCloud-Director/9.10/rn/vcd-plugin-910-release-notes.html

  • Using vRO with vCAV:

https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/using-vrealize-orchestrator-with-vcloud-availability-for-vcloud-director.pdf

  • vRO 官方文件:

https://docs.vmware.com/en/vRealize-Orchestrator/index.html