何莉 孫雅妮 王海沛



摘要:云計算技術的成熟,使得人們已經進入了云計算3.0時代,以云原生和重構業務為主要特征的云計算時代更聚焦于應用的云化和敏捷開發,主要的代表技術容器技術使得云計算的3.0時代成為新一代互聯網的發展趨勢。該文重點研究了容器技術Docker技術的鏡像管理中心Harbor的后臺存儲的高可用性,使得Harbor的后臺存儲更加的高效敏捷和安全。
關鍵詞:容器技術;Harbor;高可用性
中圖分類號:TP393? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)26-0125-02
開放科學(資源服務)標識碼(OSID):
1背景與國內外研究現狀
2020年,突發性的疫情助推了云計算技術的普及與應用,并將云計算技術已經納入新基建當中,云計算時代已經深刻影響了我們生活、工作和學習的方方面面,所謂初聞不識云計算,再聞已是云中人。
后疫情時代下,我們已身為云中人,已經離不開云計算。同樣在云化時代下,各類企業也紛紛上云,所謂的云計算到底是什么呢?
云計算是在虛擬化技術的發展基礎之上發展而來的,通過虛擬化的技術成就為云服務的一種模式,以云服務模式為代表的實現模式可以分為傳統的虛擬化技術解決方案的云服務,主要的技術代表有閉源的VMware VSphere虛擬化解決方案、微軟的hyper-V虛擬化解決方案,開源的有XEN、KVM虛擬化技術解決方案,但是基于這些傳統的主流虛擬化解決方案,是以VM(虛擬機)為單位給用戶進行交付的,資源開銷比較大,啟動速度方面存在瓶頸問題,針對這些問題,以容器技術為后起之秀的云計算解決方案便誕生了,容器云技術的主要代表Docker技術的出現,使得容器技術在云計算架構領域了出現了新的新鮮血液,并將容器技術的出現納入云原生層面。
Docker 技術以其輕便、快速的特性,可以使得上層的應用快速迭代。DOCKER的核心要素主要包括鏡像、容器和倉庫[1]。鏡像的本質為分層的文件系統,可以理解為運行環境和程序綜合打包后的結果,容器就是運行中的鏡像,倉庫是存儲鏡像的地方,主要分為私有倉庫和公有倉庫。
鏡像管理是DOCKER容器技術應用的開發和運行的首要要素,雖然DOCKER官方網站已經提供了公有鏡像倉庫的管理,但是從安全和效率等方面衡量,部署基于私有容器云化環境的Registry是勢在必行的,而私有倉庫的Harbor解決方案是主流的容器云私有倉庫解決方案。
Harbor私有容器云解決方案是由虛擬化界的赫赫有名公司VMware公司研發的,是一項開源的企業級Docker Registry項目,其宗旨是幫助用戶迅速部署一個企業級的Docker Registry服務項目。它以Docker公司開源的Registry為基礎,提供了管理UI、基于角色的訪問控制(Role Based Access Control)、AD/LDAP集成以及審計日志(Audit Logging)等滿足企業用戶需求等相關功能。
Harbor私有容器云的解決方案的主要優勢有:基于角色控制、基于鏡像的復制策略、支持LDAP/AD,提供與外部系統集成等優勢。Harbor的實現主要有六大模塊構成,Harbor架構如圖1所示。
Ceph是一種具有高性能和可擴展性強等顯著性特征的統一性分布式存儲系統,備受行業界的青睞[2]。存儲對象、塊存儲和文件系統是Ceph同時提供的三種功能,可以滿足不同生產場景下的需求,同時也方便后期工程師的操作、運維與管理。
Ceph作為開源領域的優秀軟件定義存儲之一,有著成熟的社區支持、開源界的大佬推廣和企業打磨、優化和管理維護等,使得軟件定義存儲的Ceph方案由“網紅”走向了“明星”級別的存儲方案產品,基于Ceph的種種優勢,助推了Ceph在互聯網界的應用。
Ceph的和核心組件中,LIBRADOS和RADOSGW提供對象存儲,RBD主要提供塊存儲,CEPH FS提供文件系統,RADOSGW,RBD和CEPH FS均需調用IBRADOS接口[3],最后都以對象的形式存儲于RADOS里[4]。
Ceph集群中定義了四種角色,分別是Monitors角色、Managers角色、Ceph OSD角色和MDS角色。Monitor角色,監控維護Ceph集群的運行狀況,向客戶端發送最新的Crush map;Managers角色跟蹤運行狀況和集群當前的狀態;OSD角色,維護節點上的對象,響應客戶端的請求,與其他OSD節點保持同步;MDS角色,提供文件的Metadata,提供工程應用接口的CephFS[5]。
本項目基于容器技術私有倉庫Harbor在企業實際的應用場景中出現的問題:基于Harbor自身所提供的數據同步問題,實現比較難,實時性有待考證并且基于單節點的Harbor部署由于存儲和運行日志的增加,系統的存儲空間在遞減繼而趨向于飽和等等相關瓶頸問題,本項目提出將多Harbor的服務以共享后端存儲的方式進行數據卷的映射,具體的實現將通過開源的Ceph分布式存儲方案進行解決。可以提高企業鏡像管理中心Harbor后端存儲的高效性、安全性和可擴展性等,方便后期的操作管理與運維,達到Harbor運行的穩定性、安全性和可擴展性等。
以Ceph為基礎企業構建數據私密程度較高的企業云分布式存儲系統,借助Ceph存儲的優勢為Docker的鏡像的存儲與管理提供安全有效的空間,實現Harbor的后端數據存儲的分離。
2本項目研究的主要內容和實現的目標
本項目選擇linux的CentOS7的版本作為整個模擬仿真實驗的操作系統平臺,在該平臺上進行docker Harbor私有倉庫集群部署和分布式文件系統Ceph集群部署,實現Ceph作為Harbor底層分布式存儲調用,實現Harbor的數據存儲的分離,繼而提高企業私有倉庫Harbor集群的高可用性和穩定性。