国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

SUSE Portus + Docker Registry在Rancher環境下的部署實戰

Half / 1829人閱讀

摘要:用戶訪問通過使用負載均衡服務的和端口。的負載均衡服務,需要做源會話保持配置。其次,自身沒有基于角色權限訪問控制,所有可以訪問負載均衡服務的用戶都能隨意的推送和拉取鏡像。

在正文之前,我們先來看一下,如果沒有容器,通常會如何部署 Docker Registry?關于這個問題,我簡單畫了一個草圖:

下面簡單解釋一下:

Nginx:用來做 Docker Registry 的代理和軟件負載均衡Keepalived 采用主備加虛擬 IP 的方式,解決 Nginx 的單點問題,保證 Nginx 服務的高可用性。

Docker Registry:這是 Docker 官方開源的私有鏡像倉庫項目,對應 github 上的 docker-distribution 項目,也是私有鏡像倉庫的核心。

Redis:大名鼎鼎的 Key-Value 數據庫,很多應用場景中,將其作為緩存使用。在 Docker Registry中也不例外,用來緩存 Docker Image 的 laryer metadata,帶來的好處即是 laryer metadata 的快速訪問。

Storage Cluster Docker Registry:以存儲驅動的方式支持多種后端存儲。例如:Docker Registry2.3 目前支持如下的存儲驅動:

這里簡單做個補充,官方文檔也有介紹如何貢獻新的 Docker Registry 存儲驅動。

下面我們來看一下,在 Rancher 環境下,一個簡化版 Docker Registry 的部署結構圖,如下圖所示:

這個圖是以 Rancher 下服務的視角畫的,部署這樣一個簡單的 Docker Registry,需要四個服務,分別是外部存儲服務、Redis Cache 服務、Docker Registry 服務和負載均衡服務。用戶訪問 Docker Registry 通過使用負載均衡服務的IP和端口。Docker Registry 的負載均衡服務,需要做源 IP會話保持配置。

到此為止,我們就在 Rancher 環境下部署了一個簡化版的 Docker Registry 服務。至于我為什么說其是簡化版呢?是因為現在這個版本存在一些問題。

首先,Docker Registry 本身沒有 Web UI,鏡像的檢索,只能通過命令行工具完成,使用起來非常不方便。

其次,Docker Registry 自身沒有基于角色權限訪問控制,所有可以訪問負載均衡服務的用戶都能隨意的推送和拉取鏡像。

最后,Docker Registry 本身是提供了基于 token 的認證機制,需要接入 Authorization Service,這個服務官方沒有實現,需要我們自己實現或者借助開源實現。

SUSE Portus 完美地解決了上述問題。下面我們看一下,在 Rancher 環境下加入 SUSE Portus的服務結構圖:

Portus Core Cluster 服務負責給 Docker Registry 提供 token 認證服務和接收 Docker Registry 發送的鏡像推送的通知,同步 Docker Registry 中的鏡像信息到 SUSE Portus 的數據庫中。該服務本身無狀態,可以水平擴展PortusCronSync負責定時請求DockerRegistryAPI 同步鏡像數據到SUSEPortus的數據庫中。

當用戶向 Docker Registry 推送一個鏡像后,Docker Registry 會發送通知給 SUSE Portus,如果網絡閃斷,或者 SUSE Portu 服務中斷,會做有限次數的重試。這樣可能會導致 SUSE Portu 無法收到鏡像推送的通知,造成兩端數據的不一致。Portus Cron Sync 就是為了解決這個問題而存在的。

SUSE Portus 的 token 認證服務完全滿足官方的認證模型,Docker 官方的認證模型如下圖所示:

Docker Registry 關于認證服務的配置和通知目標服務的配置,都在 Docker Registry 容器的/etc/docker/registry/config.yml 中:

最后,我們可以按照 Rancher Catalog 的規范,制作一些基礎鏡像,然后把這個服務 Catalog化,做成一鍵部署。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27959.html

相關文章

  • 如何使用GitLab和Rancher構建CI/CD流水線 – Part 2

    摘要:第一部分的內容介紹了如何部署配置和確保在的運行。這一部分中,我們將介紹如何使用構建容器,以及如何使用容器配置項目。除此之外,我們還將涉及如何用建立容器并部署到上。 這是我們使用GitLab和Rancher構建CI/CD流水線系列教程的第二部分。第一部分的內容介紹了如何部署、配置和確保GitLab在Rancher的運行。這一部分中,我們將介紹如何使用GitLab CI Multi-Run...

    maybe_009 評論0 收藏0
  • 如何使用DockerDocker-Compose和Rancher搭建部署Pipeline(三)

    摘要:當面臨這些挑戰在短短半天的時間里,使用和現有的主機,我們已經將部署好并成功運行。使用來創建應用并定義服務。 在這一部分,我們將一步步的走進Rancher,細致的探討Rancher將如何解決在部署與容器管理時出現的種種的問題。回顧教程的第二部分,你會發現我們已經將應用的部署遷移至Docker Compose,并且已經建立了一系列工作步驟來部署我們的應用。這將使得開發人員能夠輕松的對他們的...

    Enlightenment 評論0 收藏0
  • 如何使用GitLab和Rancher構建CI/CD流水線–Part 1

    摘要:主機端口非常昂貴,因此稍后我們會使用一個負載均衡器。注冊完成后,將的配置添加到負載均衡器上。部署負載均衡器在棧中,單擊添加服務旁邊的下拉菜單,然后選擇添加負載均衡器。如果你收到狀態或的錯誤報告,那么需要檢查負載均衡器配置,確認設置無誤。 介紹 GitLab核心是集成管理Git存儲庫的工具。比如你希望創建一個提供服務的平臺,那么GitLab將提供強大的身份驗證和授權機制、工作組、問題跟蹤...

    macg0406 評論0 收藏0
  • 如何使用DockerDocker-Compose和Rancher搭建部署Pipeline(四)

    摘要:注冊器監視每個守護進程的事件,并在生命周期事件期間自動更新。條件可以包括親和規則否定至軟強制意味著盡可能地避免。當使用通用標記如或部署服務時,可能會出現意外的后果。月日,北京海航萬豪酒店,容器技術大會即將舉行。 在這篇文章中,我們將討論如何用Rancher實現consul的服務發現。 如果你還沒有準備好,推薦你閱讀本系列中先前的文章:第一篇:CI /CD和Docker入門第二篇:使部署...

    13651657101 評論0 收藏0
  • 如何Rancher Catalog中使用VMware Harbor

    摘要:這相當于在原始安裝程序中調整文件。警告我并沒有告訴這件事,因為這可能會嚇到他或任何其他專家。在創建應用商店條目的過程中,還有兩個問題需要解決變量需要設置為確切值,這樣用戶就可以通過它連接到該實例。 Harbor Registry是VMware公司的Docker鏡像管理產品。相較于其他鏡像倉庫,Harbor提供身份管理功能,安全性更高,支持單個主機上的多個registry,這些功能正是很...

    explorer_ddf 評論0 收藏0

發表評論

0條評論

Half

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<