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