91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用Harbor實現容器鏡像倉庫的管理和運維

發布時間:2021-11-15 23:34:35 來源:億速云 閱讀:327 作者:柒染 欄目:云計算

本篇文章給大家分享的是有關如何用Harbor實現容器鏡像倉庫的管理和運維,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

這里主要講述了在開發運維中的管理容器鏡像方法。為了便于說明原理,較多地使用Harbor作為例子。

內容主要包括:
1)開發和生產環境中鏡像倉庫的權限控制
2)鏡像遠程同步(復制)的原理
3)大規模應用鏡像發布方式;
4)鏡像刪除和空間回收
5)Registry高可用性設計。

首先簡單介紹一下Harbor項目。Harbor是由VMware中國研發團隊負責開發的開源企業級Registry,可幫助用戶迅速搭建企業級的registry 服務。該項目發布5多個月以來,深受用戶喜愛,在GitHub 獲得了近1000個點贊星星和200多個 forks。有興趣的朋友可以使用: https://github.com/vmware/harbor 

容器應用的使用越來越普遍,容器最大優點就是開發運維一體化,通過容器鏡像打包應用,使得開發、測試和發布都具有相同的運行環境,帶來極大的便利。那么鏡像在實際運維中處于怎樣的地位呢?

我們先看看下面這張經典的Docker容器的生命周期圖:
如何用Harbor實現容器鏡像倉庫的管理和運維

從圖中可以看到,容器鏡像的關聯箭頭最多,不言而喻,鏡像技術就是容器的核心所在。概括地說,容器包含一靜一動兩部分:靜態存放的鏡像(images)和動態運行的containers。相應地,容器的開發運維主要涉及鏡像管理和運行時(Runtime)管理兩部分。本文主要和大家分享的是容器鏡像管理的部分。

1)開發和生產環境中鏡像倉庫的權限控制

在企業中,通常有不同的開發團隊來負責不同的應用項目,和源代碼分項目管理一樣,鏡像也需要按照項目來存放和管理。由于團隊中有不同的成員,如項目經理、產品經理、開發、測試和運維等人員,每人使用鏡像的需求不同,因此可以根據角色分配相應的權限。

例如,測試人員通常只需要鏡像的讀權限(pull),開發人員需要讀寫權限(push/pull),項目經理除了擁有開發人員的權限之外,還可以增加和刪除項目成員,設定他們的角色。
在Harbor Registry中,每個項目可有三種角色:項目管理員(project admin)、開發者(developer)和客人(guest)。某些項目,如放在library中的公共鏡像, 可以允許匿名訪問,即用戶不同docker login也可以訪問,這樣可以方便使用。在整個系統中,還設有系統管理員,具有維護鏡像同步策略、用戶增刪等權限。

需要指出的是,在不同的環境中,某個成員的角色可以不同。例如,在開發環境的registry中,運維人員一般不需要權限(或需要只讀權限);而在生產環境中的Registry,運維人員就需要有讀寫權限。下圖是Harbor的權限管理界面:
如何用Harbor實現容器鏡像倉庫的管理和運維

開發環境的Registry: 主要由開發人員使用,鏡像變化頻繁。當開發完成后,通過CI系統生成穩定鏡像,同步到測試Registry;

測試環境的Registry: 主要由測試人員使用,鏡像保持不變。當測試通過后,同步到準生產環境的Registry;

準生產環境的Registry: 主要由測試和運維人員使用,鏡像保持不變。當準生產環境試運行后,最后再同步生產環境的Registry;

生產環境的Registry: 發布鏡像到生產環境運行。

從開發到生產的整個過程中,實現容器鏡像的Build-Ship-Run過程。Harbor可以提供Registry之間的鏡像自動同步和復制功能,簡化了管理。

3)大規模應用鏡像發布方式;

在實際生產運維的中,往往需要把鏡像發布到幾十或上百臺集群節點上。這時,單個Registry已經無法滿足大量節點的下載需求,因此要配置多個registry實例做負載均衡。手工維護多個registry實例上的鏡像,將是十分繁瑣的事情。Harbor可以支持一主多從的鏡像發布模式,可以解決大規模鏡像發布的難題。

如何用Harbor實現容器鏡像倉庫的管理和運維

在同步過程中,如果源鏡像已刪除,Harbor會自動同步刪除遠端的鏡像。在鏡像同步復制的過程中,Harbor會監控整個復制過程,遇到網絡等錯誤,會自動重試。

這是同步復制的監控畫面:

如何用Harbor實現容器鏡像倉庫的管理和運維

一種比較標準的方案,就是多個的Registry實例共享同一個后端存儲,任何一個實例持久化到存儲的鏡像,都可被其他實例中讀取。通過前置LB進來的請求,可以分流到不同的實例中去處理,實現了負載均衡,也避免了單點故障。

應該指出,實際中需要考慮的問題遠比上述模型復雜。例如,共享存儲的選取,用戶session在不同的實例上共享等等。用戶可根據自己業務要求設計出不同的方案。Harbor將會推出基于swift分布式存儲,以及共享session的方案(采用redis)來滿足用戶的需求。

如果沒有共享存儲,另一種方案就是在兩個節點間采用雙主復制策略,互相復制鏡像。即使有一個實例失效,另一個實例仍然可以提供服務,從而在一定程度上可以滿足HA的需求。

如何用Harbor實現容器鏡像倉庫的管理和運維
節點出現故障的時候,有vSphere自動切換到好的節點上,鏡像數據不丟失。

以上就是如何用Harbor實現容器鏡像倉庫的管理和運維,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

仲巴县| 老河口市| 镇巴县| 富锦市| 莱阳市| 安阳市| 克山县| 台东市| 高州市| 松桃| 江安县| 烟台市| 西藏| 浦东新区| 双柏县| 侯马市| 涟水县| 阳东县| 迭部县| 合作市| 吉木乃县| 谷城县| 宾阳县| 南川市| 平阴县| 安图县| 托克托县| 伊金霍洛旗| 苏尼特右旗| 尤溪县| 清徐县| 汉源县| 平湖市| 天峻县| 明光市| 海淀区| 自治县| 夹江县| 偏关县| 云浮市| 麟游县|