前言
VMware在vCloud Director 9.7版本的發布說明裡,有一個關於Central Point of Management的新功能,今天想跟大家一起實作一下這個功能。
這個功能其實就是讓現有的vCloud Director的用戶也可以利用vCD的操作介面登入到屬於他們公司自己的vCenter去進行日常的管理工作,原因是現在以vCD為主要雲管平台的雲服務提供商,其實他們本身就有很多來自於主機託管、機房共用的業務,而這些業務有很多是運行在以VMware為主的虛擬化平台上,所以他們的客戶往往需要登入到兩套不同的管理環境來管理它們的服務,這樣不管對客戶或雲服務提供商來說都顯得不是那麼的方便, vCloud Director 9.7針對這個問題,提出了一個解決方案,那就是利用Central Point of Management的統一管理方式,租戶管理員可以經由單一操作介面統一管理兩個環境下的虛擬機器,這樣如果vCenter主機在服務提供商的機房內的話,租戶就不需要再經由VPN才可連線進來存取他們的vCenter Client GUI,只要透過vCD的統一URL就可跳轉到vCenter Server進行管理。這樣對提供專屬私有雲託管的服務供應商來說,大大簡化了管理的負擔。
簡而言之,CPOM的功能就是讓相同管理者,可以在vCloud Director 9.7 GUI中直接開啟vCenter Server的操作介面,因為在9.7中,vCloud Director 可以充當 HTTP Proxy 伺服器,並提供對基礎 vSphere 環境中元件的存取權。
如何設定CPOM
整個CPOM設定過程分成兩大部分:
- <建立和管理 SDDC 與 SDDC Proxy>:由雲服務提供商系統管理員利用vCloud OpenAPI完成設定。
- <使用 SDDC 和 SDDC Proxy>:由租戶管理員利用vCD GUI完成設定。
<建立和管理 SDDC 與 SDDC Proxy>
分成以下幾個步驟:
- 新增租戶專屬vCenter Server。
-
建立已連結並啟用的 vCenter Server執行個體所支援的 SDDC。
-
取得已建立的 Proxy 的憑證和指紋,並確認此憑證和指紋存在且正確無誤。
-
將 SDDC 發佈到一或多個組織。
- 啟用 SDDC。
-
若要讓使用者能夠從 vCloud Director Tenant Portal存取 SDDC 和 SDDC Proxy,您必須向其組織發佈 CPOM 延伸外掛程式。
- 將 SDDC_VIEW 權限發佈到組織,並且確認組織管理員角色包含此權限。
新增租戶專屬vCenter Server
首先我們需要在vCloud Director的HTML5界面,將想要連接的vCenters在”vSphere Resources”的頁籤裡加進來:
NSX-V的設定可以跳過:
建立已連結並啟用的 vCenter Server執行個體所支援的 SDDC
用GET指令查看目前在vCD裡面,是否已經存在任何SDDC元件:(以下查詢結果為”0″個,表示vCD裡目前並沒有任何SDDC元件存在)
我們要在vCD中建立一個以剛剛新增的vCenter為主體的SDDC物件,所以我們必須先獲取vCenter的”vcID”,請參考vCloud Director的API文件中,”Finding Available vCenter Resources“章節,裡面有說明如何用REST API來得到此訊息:
我的環境查詢結果如下:
vcID:36714ca9-7873-4283-b861-67b115db42c
其實這個ID我們也可在vCD的GUI裡面找到:
利用POST /1.0.0/sddcs指令,新增SDDC物件,可以參考vCD API文件了解相關指令所需參數:
用POST命令新增SDDC元件,基本需要指定name、Description、vcID參數值,表示要將哪一個vCenter封裝在這個新的SDDC元件中,如下所示,我們必須在”Body“頁面中,將這些參數的相關資訊一一輸入,然後用POST命令執行API。
執行後,同時我們可在vCD GUI裡觀察到工作完成狀況:
再利用之前下過的GET指令查看一下SDDC內容,我們會發現已經成功建立SDDC元件,並且該SDDC已經封裝了一個vCenter元件:
將 SDDC 發佈到一或多個組織
再來,我們要把剛剛新增的SDDC元件,發佈給未來需要使用的組織,這樣當該組織管理員登入vCD時,他便能看到一個SDDC方塊,在這方塊裡,存有他們專屬vCenter Server的資訊:
首先,我們要先獲得發布對象的組織ID,由於我是要把剛剛生成的SDDC發佈給”T1“這個組織,所以我需要先得到”T1“這個組織的ID,利用GET /api/org命令,將所有組織資訊顯示出來,然後記錄下來”T1″的org ID,如下:
利用”T1″組織的ID,查看該組織的詳細內容:
編輯JSON內容如下:
[ { "name":"T1", "id":"urn:vcloud:org:27086aa7-27ef-4140-ab31-abf7f3e8e0ef" } ]
將SDDC發佈給”T1″組織的命令如下:
上述命令執行完畢後,我們以”T1″租戶管理員角色登入到vCD,可看到在“Dedicated vSphere Datacenters”類別的Datacenters下,有一個vCenter的SDDC被建立出來,但還沒被啟用(紅色圈圈所示)。
啟用 SDDC
下PUT指令,啟動”T1″組織的SDDC:
這時SDDC便已顯示為綠色打勾圖示,表示啟用成功:
向組織發佈 CPOM 延伸外掛程式
以雲服務提供商系統管理員的身份登入vCD,在”Customize Portal“頁面中, 選取“CPoM Extension”, 點選”Publish”,將延伸外掛程式發佈給”T1″這個組織:
將 SDDC_VIEW 權限發佈到您的組織,並且您的角色包含此權限。
此部分在這裡就不多贅述,屬於vCD權限控管基本設定,要到HTML5裡面將相關權限指派給以下對象:
- Global Roles –> Orgnaization Administrator
- Rights Bundles –> Default Rights Bundles
<使用 SDDC 和 SDDC Proxy>
這部分分成以下幾個步驟:
- 為瀏覽器設定Proxy
- 啟動SDDC Proxy
- 登入SDDC元件的使用者介面
為瀏覽器設定Proxy
下載Proxy .PAC設定檔(DOWNLOAD PROXY CONFIGURATION),然後依照下圖問號內的說明,把PAC檔在瀏覽器內設定好。
以下是用Firefox瀏覽器時的設定方式:
啟動SDDC Proxy
另外我們也要下載vCenter的.PEM檔,然後一樣依照下圖問號內的說明,在相關瀏覽器內把.PEM檔匯入憑證。
登入SDDC元件的使用者介面
點選”COPY ACCESS TOKEN & OPEN”,系統會帶出以下畫面以讓我們登入vCenter Server介面:
這裡我們需要輸入登入vCD的帳號,密碼則是貼上剛剛點擊時已經自動複製的Token:
然後我們就可以看到vCenter Server的登入介面,我們必須輸入vCenter的帳號和密碼,然後就可如常對vCenter進行相關操作了:
補充說明
由於接下來的vSphere Client操作,都是以vCloud Director當成是跳板(前面我們說過vCD是當成HTTPS Proxy Server),所以我們會發現,當使用者透過它們的終端連到vCD,再連到vCenter Server時,vCenter Server的連結只會透過vCD的proxy出去,而不會直接連到vCenter Server本身實際的位址,我們可利用以下指令確認:
我的vCenter Server IP為10.96.49.10,可以發現此時都已經是透過10.96.66.133(vCD Cell)連線,所以至此,我們的實作也完成了,驗證了使用者只需透過單一的vCloud Director介面,就可以管理既有的雲端虛擬資料中心,也可以同時管理的到地端屬於企業本身,而不和其他用戶共用的vCenter私有雲資源。
註記:
- 如何設定CPOM的官方手冊主題為”use vCloud Director as a central point of management for all your vSphere environments”,讀者可參閱這裡。
- 本blog參考了以下幾篇blogs,在此謝謝這些同事:
- 使用postman對vCloud Director執行相關API操作
- 其他同事相關的blog。
- 另外,我們也可用以下命令方式啟動SDDC Proxy: