Harbor Registry 跨地同步:儲存庫影像異地複製

2024/01/22閱讀時間約 3 分鐘

當你建立了一個用來儲存容器鏡像(Container image)的Harbor,而且亦讓K8S Cluster的應用服務都串接到Harbor進行部署中的一環,那麼接下來預計您的應用服務鏡像(Application Image)會愈來愈多,同時也愈來愈重要。

raw-image

這邊提供幾種方式:

  1. 直接備份整個OS
  2. 直接備份後端的Object storage
  3. 再做一個Harbor,然後定時將內容同步過去(異地備援的概念)

本篇針對如何將一台Harbor的內容透過內建的機制同步到另一個Harbor,前端可以直接再做一個LVS以VIP的方式讓前端存取,只要後端2台Harbor自動將內容同步的話,真的有問題的話,客戶端理論上應該不會出現因為容器鏡像拉不到而出現失敗的問題。

做法很簡單,那我們就開始吧!!


1.基本說明

Source: harbor1 (以下用h1)

Destination: harbor2 (以下用h2)


2. 實際做法

#-------------------------------------------
# S2-1. 建立Endpoint (h1)
#-------------------------------------------
Administration => Registries => NEW ENDPOINT => 輸入Remote registry相關資訊 => 測試連線 => OK
raw-image
raw-image
raw-image
#-------------------------------------------
# S2-2. 建立Replication rules (h1)
#-------------------------------------------
Administration => Replications => NEW REPLICATION RULE => 輸入相關需求 => SAVE
raw-image
raw-image
#-------------------------------------------
# S2-3. 執行Replication task(h1)
#-------------------------------------------
點選Rule => REPLICATE => 任務在下面產生
raw-image
#-------------------------------------------
# S2-4. 查看過程(h1)
#-------------------------------------------
點選Process ID => 確認狀態是否成功 => 點選各別任務的"Logs"欄位 => 查看每個任務的個別細節
raw-image
raw-image
raw-image
#-------------------------------------------
# S2-5. 確認是否成功(h2)
#-------------------------------------------
raw-image
raw-image

3.結論

以上就完成了二台harbor之間的鏡像同步做法,尤於在WEB上就可以完成,所以滿推薦使用這種方式來實作。

同時,這種方式不只是支援Harbor間的同步,還支援Harbor同步到其他相容的Image Registry,例如Quay,這樣大幅度的強化了使用場景的彈性,避免環境中太過集中在同一種解決方案的架構盲點。












8會員
39內容數
記錄IT社畜的自我學習筆記,如同專題名稱,主要是怕自已忘記自已做過什麼、學到什麼。索性就分享我自已在學習Kubernetes這條路上的各種測試、學習心得。
留言0
查看全部
發表第一個留言支持創作者!