溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

什么是Harbor架構(gòu)

發(fā)布時(shí)間:2021-10-11 17:46:58 來(lái)源:億速云 閱讀:408 作者:iii 欄目:開(kāi)發(fā)技術(shù)

本篇內(nèi)容介紹了“什么是Harbor架構(gòu)”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

什么是Harbor架構(gòu)

Harbor 簡(jiǎn)介

Harbor 是一個(gè)用于存儲(chǔ)和分發(fā)Docker鏡像的企業(yè)級(jí)Registry服務(wù)器。

作為一個(gè)企業(yè)級(jí)私有 Registry 服務(wù)器,Harbor 提供了更好的性能和安全。提升用戶使用 Registry  構(gòu)建和運(yùn)行環(huán)境傳輸鏡像的效率。Harbor 支持安裝在多個(gè) Registry 節(jié)點(diǎn)的鏡像資源復(fù)制,鏡像全部保存在私有 Registry 中,  確保數(shù)據(jù)和知識(shí)產(chǎn)權(quán)在公司內(nèi)部網(wǎng)絡(luò)中管控。另外,Harbor 也提供了高級(jí)的安全特性,諸如用戶管理,訪問(wèn)控制和活動(dòng)審計(jì)等。

  • 基于角色的訪問(wèn)控制:用戶與 Docker  鏡像倉(cāng)庫(kù)通過(guò)“項(xiàng)目”進(jìn)行組織管理,一個(gè)用戶可以對(duì)多個(gè)鏡像倉(cāng)庫(kù)在同一命名空間(project)里有不同的權(quán)限。

  • 鏡像復(fù)制:鏡像可以在多個(gè) Registry 實(shí)例中復(fù)制(同步)。尤其適合于負(fù)載均衡,高可用,混合云和多云的場(chǎng)景。

  • 圖形化用戶界面:用戶可以通過(guò)瀏覽器來(lái)瀏覽,檢索當(dāng)前 Docker 鏡像倉(cāng)庫(kù),管理項(xiàng)目和命名空間。

  • AD/LDAP 支持:Harbor 可以集成企業(yè)內(nèi)部已有的 AD/LDAP,用于鑒權(quán)認(rèn)證管理。

  • 審計(jì)管理:所有針對(duì)鏡像倉(cāng)庫(kù)的操作都可以被記錄追溯,用于審計(jì)管理。

  • 國(guó)際化:已擁有英文、中文、德文、日文和俄文的本地化版本。更多的語(yǔ)言將會(huì)添加進(jìn)來(lái)。

  • RESTful API:RESTful API 提供給管理員對(duì)于 Harbor 更多的操控, 使得與其它管理軟件集成變得更容易。

  • 部署簡(jiǎn)單:提供在線和離線兩種安裝工具, 也可以安裝到 vSphere 平臺(tái)(OVA 方式)虛擬設(shè)備。

Harbor 架構(gòu)

1、主從同步架構(gòu)

Harbor  官方默認(rèn)提供主從復(fù)制的方案來(lái)解決鏡像同步問(wèn)題,通過(guò)復(fù)制的方式,可以實(shí)時(shí)將測(cè)試環(huán)境harbor倉(cāng)庫(kù)的鏡像同步到生產(chǎn)環(huán)境harbor,類似于如下流程:

什么是Harbor架構(gòu)

在實(shí)際生產(chǎn)運(yùn)維的中,往往需要把鏡像發(fā)布到幾十或上百臺(tái)集群節(jié)點(diǎn)上。這時(shí),單個(gè)Registry已經(jīng)無(wú)法滿足大量節(jié)點(diǎn)的下載需求,因此要配置多個(gè)Registry實(shí)例做負(fù)載均衡。手工維護(hù)多個(gè)Registry實(shí)例上的鏡像,將是十分繁瑣的事情。Harbor可以支持一主多從的鏡像發(fā)布模式,可以解決大規(guī)模鏡像發(fā)布的難題:

什么是Harbor架構(gòu)

只要往一臺(tái)Harbor上發(fā)布,鏡像就會(huì)像“仙女散花”般地同步到多個(gè)Registry中,高效可靠。

如果是地域分布較廣的集群,還可以采用層次型發(fā)布方式,比如從集團(tuán)總部機(jī)房同步到分公司1機(jī)房,再?gòu)姆止?機(jī)房同步到分公司2機(jī)房:

什么是Harbor架構(gòu)

然而單靠主從同步,仍然解決不了harbor主節(jié)點(diǎn)的單點(diǎn)問(wèn)題。繼續(xù)看下面Harbor架構(gòu)。

2、雙主復(fù)制說(shuō)明

雙主復(fù)制其實(shí)就是復(fù)用主從同步實(shí)現(xiàn)兩個(gè)harbor節(jié)點(diǎn)之間的雙向同步,來(lái)保證數(shù)據(jù)的一致性,然后在兩臺(tái)harbor前端頂一個(gè)負(fù)載均衡器將進(jìn)來(lái)的請(qǐng)求分流到不同的實(shí)例中去,只要有一個(gè)實(shí)例中有了新的鏡像,就是自動(dòng)的同步復(fù)制到另外的的實(shí)例中去,這樣實(shí)現(xiàn)了負(fù)載均衡,也避免了單點(diǎn)故障,在一定程度上實(shí)現(xiàn)了Harbor的高可用性:

什么是Harbor架構(gòu)

這個(gè)方案有一個(gè)問(wèn)題就是有可能兩個(gè)Harbor實(shí)例中的數(shù)據(jù)不一致。假設(shè)如果一個(gè)實(shí)例A掛掉了,這個(gè)時(shí)候有新的鏡像進(jìn)來(lái),那么新的鏡像就會(huì)在另外一個(gè)實(shí)例B中,后面即使恢復(fù)了掛掉的A實(shí)例,Harbor實(shí)例B也不會(huì)自動(dòng)去同步鏡像,這樣只能手動(dòng)的先關(guān)掉Harbor實(shí)例B的復(fù)制策略,然后再開(kāi)啟復(fù)制策略,才能讓實(shí)例B數(shù)據(jù)同步,讓兩個(gè)實(shí)例的數(shù)據(jù)一致。

另外,這里還需要多吐槽一句:在實(shí)際生產(chǎn)使用中,主從復(fù)制十分的不靠譜!所以這里推薦使用下面要說(shuō)的這種架構(gòu)方案。

3、多實(shí)例共享后端存儲(chǔ)

共享后端存儲(chǔ)算是一種比較標(biāo)準(zhǔn)的方案,就是多個(gè)Harbor實(shí)例共享同一個(gè)后端存儲(chǔ),任何一個(gè)實(shí)例持久化到存儲(chǔ)的鏡像,都可被其他實(shí)例中讀取。通過(guò)前置LB進(jìn)來(lái)的請(qǐng)求,可以分流到不同的實(shí)例中去處理,這樣就實(shí)現(xiàn)了負(fù)載均衡,也避免了單點(diǎn)故障。

什么是Harbor架構(gòu)

如果最終生產(chǎn)環(huán)境集群中服務(wù)器較多,依賴做完LB的Harbor也無(wú)法完全達(dá)到需求時(shí),可以使用如下架構(gòu),部署下級(jí)Harbor節(jié)點(diǎn)從主節(jié)點(diǎn)同步鏡像,然后再分發(fā)給生產(chǎn)服務(wù)器。

什么是Harbor架構(gòu)

這個(gè)方案在實(shí)際生產(chǎn)環(huán)境中部署需要考慮三個(gè)問(wèn)題:

  • 1、共享存儲(chǔ)的選取,Harbor的后端存儲(chǔ)目前支持AWS S3、Openstack Swift,  Ceph等,在下節(jié)文章在講解如何部署這種高可用架構(gòu),后端存儲(chǔ)使用阿里云極速性NAS。

  • 2、Session在不同的實(shí)例上共享,這個(gè)現(xiàn)在其實(shí)已經(jīng)不是問(wèn)題了,在最新的harbor中,默認(rèn)session會(huì)存放在redis中,只需要將redis獨(dú)立出來(lái)即可。可以通過(guò)redis  sentinel或者redis cluster等方式來(lái)保證redis的可用性。不過(guò)單臺(tái)Redis也可以,只是Redis沒(méi)有高可用。

  • 3、Harbor多實(shí)例數(shù)據(jù)庫(kù)問(wèn)題,這個(gè)也只需要將harbor中的數(shù)據(jù)庫(kù)拆出來(lái)獨(dú)立部署即可。讓多實(shí)例共用一個(gè)外部數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)的高可用也可以通過(guò)數(shù)據(jù)庫(kù)的高可用方案保證。

“什么是Harbor架構(gòu)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI