背景:
當前市面多雲納管平台對於業務抽象的架構模型大同小異,已經建立完善的標準場景和異構化資源的兼容處理,但是對於同質化資源如鏡像文件的管理仍然較為分散,即各個異構的雲環境對於鏡像管理都有各自的入口和使用要求,缺乏集中管理和統一調度,這給鏡像的使用帶來很大的使用成本,包括管理成本和存儲資源的浪費。鏡像中心旨在提供一個對異構多雲環境下不同鏡像的統一管理平台,解決上述問題。
特點和功能:
- 支持異構多雲環境下的鏡像服務器開通部署,如虛機或物理機;
- 實現對不同部署形式下鏡像服務器的統一管理,如可用區綁定,網絡配置錄入,移除等;
- 鏡像中心服務支持本地上傳,遠程上傳,壓縮上傳等多種上傳形式;
- 支持多種格式的鏡像文件存儲和格式互轉,如QCOW2,RAW,ISO等;
- 支持鏡像文件的批量調度下發到指定雲環境下或不同存儲位置;
- 支持跨可用區鏡像服務器之間的鏡像文件同步;
- 優化k8s,彈性伸縮等組件指定鏡像中心鏡像開通虛機時自動下發鏡像的用戶體驗;
- 支持異構多雲環境的存量鏡像同步到鏡像中心;
整體架構和流程:
「雲管平台一個鏡像服務統一管理多個可用區下的鏡像服務器,一個鏡像服務器可綁定多個可用區。」的整體架構思路。
鏡像服務器目前支持在安超集群或Vmvare集群等異構雲環境上以虛機形式部署開通,按照指定規格和存儲、網絡要求開通的鏡像服務器,可在雲管平台的鏡像中心服務入口進行錄入,錄入主要包括鏡像服務器的管理網IP和傳輸網IP及端口和登錄密碼,以及可用區的綁定。當一個鏡像服務器在鏡像中心完成錄入配置後即可使用鏡像中心服務的其他功能,如上傳、同步、下發,格式轉換,刪除,導出等。
鏡像中心服務專註於鏡像文件業務數據的全生命周期管理以及對於鏡像服務器的訪問控制,而鏡像服務器主要提供鏡像文件的壓縮存儲和網絡傳輸以及格式轉換等實際功能。以用戶上傳鏡像並對鏡像做格式轉換,並將該鏡像下發到安超集群為例,簡要介紹鏡像中心是如何運行的。用戶首先在雲管鏡像中心管理頁面入口選擇一個已經配置錄入好的鏡像服務器,將事先準備的鏡像文件url地址或本地文件在頁面形成請求,鏡像中心服務會對該鏡像文件做一系列的參數校驗,校驗無誤後會獲取已經初始化好的該鏡像服務器的遠程連接句柄,形成鏡像中心服務和鏡像服務器之間的通信,並遠程調用服務器上預置的文件傳輸進程進行鏡像文件的上傳,異步上傳完畢後計算文件的MD5或文件大小後通知鏡像中心服務,鏡像中心服務完善業務數據入數據庫後推送通知至前台頁面,至此上傳完成。用戶需要對該RAW格式鏡像文件轉為QCOW2格式,同理在雲管平台操作觸發鏡像格式轉換請求,鏡像中心服務獲取該鏡像服務器的遠程連接並執行格式轉換命令,該鏡像將在服務器上完成格式轉換,並將操作結果異步告知鏡像中心服務並通知前台用戶。鏡像中心服務兼容了異構多雲環境的鏡像管理入口,因此當鏡像中心服務收到用戶生成鏡像中心鏡像下發的請求時,會將鏡像文件的遠程地址封裝成各個異構雲環境文件上傳的請求參數格式並請求對應雲環境服務,監聽鏡像下發的最終結果完成整個下發流程。
至此,鏡像中心的整體架構和主要功能流程已經講解完畢。
總結:
鏡像中心旨在提供一個對異構多雲環境下不同鏡像的統一管理平台,打通各個可用區之間的鏡像文件的傳輸,在部署和使用上優化租戶的操作體驗,降低管理難度,集約存儲資源,充分利用雲管平台的全局網絡能力或存儲資源特性等使得鏡像中心對外提供的功能得到不斷增強。