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