您好,登錄后才能下訂單哦!
本篇內容介紹了“什么是Harbor架構”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Harbor 是一個用于存儲和分發Docker鏡像的企業級Registry服務器。
作為一個企業級私有 Registry 服務器,Harbor 提供了更好的性能和安全。提升用戶使用 Registry 構建和運行環境傳輸鏡像的效率。Harbor 支持安裝在多個 Registry 節點的鏡像資源復制,鏡像全部保存在私有 Registry 中, 確保數據和知識產權在公司內部網絡中管控。另外,Harbor 也提供了高級的安全特性,諸如用戶管理,訪問控制和活動審計等。
基于角色的訪問控制:用戶與 Docker 鏡像倉庫通過“項目”進行組織管理,一個用戶可以對多個鏡像倉庫在同一命名空間(project)里有不同的權限。
鏡像復制:鏡像可以在多個 Registry 實例中復制(同步)。尤其適合于負載均衡,高可用,混合云和多云的場景。
圖形化用戶界面:用戶可以通過瀏覽器來瀏覽,檢索當前 Docker 鏡像倉庫,管理項目和命名空間。
AD/LDAP 支持:Harbor 可以集成企業內部已有的 AD/LDAP,用于鑒權認證管理。
審計管理:所有針對鏡像倉庫的操作都可以被記錄追溯,用于審計管理。
國際化:已擁有英文、中文、德文、日文和俄文的本地化版本。更多的語言將會添加進來。
RESTful API:RESTful API 提供給管理員對于 Harbor 更多的操控, 使得與其它管理軟件集成變得更容易。
部署簡單:提供在線和離線兩種安裝工具, 也可以安裝到 vSphere 平臺(OVA 方式)虛擬設備。
Harbor 官方默認提供主從復制的方案來解決鏡像同步問題,通過復制的方式,可以實時將測試環境harbor倉庫的鏡像同步到生產環境harbor,類似于如下流程:
在實際生產運維的中,往往需要把鏡像發布到幾十或上百臺集群節點上。這時,單個Registry已經無法滿足大量節點的下載需求,因此要配置多個Registry實例做負載均衡。手工維護多個Registry實例上的鏡像,將是十分繁瑣的事情。Harbor可以支持一主多從的鏡像發布模式,可以解決大規模鏡像發布的難題:
只要往一臺Harbor上發布,鏡像就會像“仙女散花”般地同步到多個Registry中,高效可靠。
如果是地域分布較廣的集群,還可以采用層次型發布方式,比如從集團總部機房同步到分公司1機房,再從分公司1機房同步到分公司2機房:
然而單靠主從同步,仍然解決不了harbor主節點的單點問題。繼續看下面Harbor架構。
雙主復制其實就是復用主從同步實現兩個harbor節點之間的雙向同步,來保證數據的一致性,然后在兩臺harbor前端頂一個負載均衡器將進來的請求分流到不同的實例中去,只要有一個實例中有了新的鏡像,就是自動的同步復制到另外的的實例中去,這樣實現了負載均衡,也避免了單點故障,在一定程度上實現了Harbor的高可用性:
這個方案有一個問題就是有可能兩個Harbor實例中的數據不一致。假設如果一個實例A掛掉了,這個時候有新的鏡像進來,那么新的鏡像就會在另外一個實例B中,后面即使恢復了掛掉的A實例,Harbor實例B也不會自動去同步鏡像,這樣只能手動的先關掉Harbor實例B的復制策略,然后再開啟復制策略,才能讓實例B數據同步,讓兩個實例的數據一致。
另外,這里還需要多吐槽一句:在實際生產使用中,主從復制十分的不靠譜!所以這里推薦使用下面要說的這種架構方案。
共享后端存儲算是一種比較標準的方案,就是多個Harbor實例共享同一個后端存儲,任何一個實例持久化到存儲的鏡像,都可被其他實例中讀取。通過前置LB進來的請求,可以分流到不同的實例中去處理,這樣就實現了負載均衡,也避免了單點故障。
如果最終生產環境集群中服務器較多,依賴做完LB的Harbor也無法完全達到需求時,可以使用如下架構,部署下級Harbor節點從主節點同步鏡像,然后再分發給生產服務器。
這個方案在實際生產環境中部署需要考慮三個問題:
1、共享存儲的選取,Harbor的后端存儲目前支持AWS S3、Openstack Swift, Ceph等,在下節文章在講解如何部署這種高可用架構,后端存儲使用阿里云極速性NAS。
2、Session在不同的實例上共享,這個現在其實已經不是問題了,在最新的harbor中,默認session會存放在redis中,只需要將redis獨立出來即可。可以通過redis sentinel或者redis cluster等方式來保證redis的可用性。不過單臺Redis也可以,只是Redis沒有高可用。
3、Harbor多實例數據庫問題,這個也只需要將harbor中的數據庫拆出來獨立部署即可。讓多實例共用一個外部數據庫,數據庫的高可用也可以通過數據庫的高可用方案保證。
“什么是Harbor架構”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。