微服務架構 基於Harbor構建本地映象倉庫

2022-07-04 04:42:18 字數 3244 閱讀 5148

harbor是vmware公司開源了企業級registry專案, 其的目標是幫助使用者迅速搭建乙個企業級的docker registry服務。它以docker公司開源的registry為基礎,額外提供了如下功能:

以上功能是將官網的內容做了簡單翻譯,如果大家想深層次了解一下,可以檢視harbor官網內容。

部署harbor前,首先得有docker環境、docker-compose的環境,如果大家沒有docker環境,可以參考我之前的一篇文章《centos7離線部署docker》搭建環境,對於安裝docker-compose是很簡單,只如下操作:

curl -l " -s)-$(uname -m)" -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

有了docker環境、docker-compose的環境後,可以開始部署harbor了,步驟如下:

(3)、此處要開啟https訪問,所以得生成證書(注意:如果不以https訪問,這乙個步驟就是不需要的),操作如下:

mkdir /opt/harbor/certs

cd /opt/harbor/certs

openssl req \

-new \

-newkey rsa:4096 \

-days 365 \

-subj "/cn=192.168.208.147" \

-nodes \

-x509 \

-keyout auth.key \

-out auth.cert

(4)、修改harbor.cfg配置檔案資訊,分別修改以下配置資訊:

# 主機名改成本伺服器的ip

hostname = 192.168.208.147

# 訪問的協議https

# 由於前一步我們自己生成了證書,所以該值改為off

customize_crt = off

# ssl證書的路徑

ssl_cert = /opt/harbor/certs/auth.cert

# ssl金鑰的路徑

ssl_cert_key = /opt/harbor/certs/auth.key

# 設定ui系統的admin賬號的密碼,預設為harbor12345

harbor_admin_password = adminjgyw

(5)、安裝,執行:

./install.sh
(6)、執行上面的安裝指令碼,實質是執行docker compose來部署應用的,所以可以通過docker compose命令檢視服務資訊:

docker-compose ps
結果為:

(7)、訪問如果如下:

部署完成之後,測試一下映象的pull和push功能,首先將admin賬號登入,並建立jgyw專案,即:

(1)、點選「新建專案」

(2)、填寫專案資訊,名稱為jgyw,訪問級別為公開,即所有人都可以pull映象下來,即:

(3)、建立使用者

(3)、為jgyw專案新增成員,同時角色為開發人員,這樣可以將映象push到該專案中,即:

(4)、push映象

docker login 192.168.208.147

# 輸入上面新建的jgyw使用者名稱和密碼即可登入

如果此處發生如下錯誤:

error response from daemon: get  x509: cannot validate certificate for 192.168.208.147 because it doesn't contain any ip sans
則需要將/usr/lib/systemd/system/docker.service檔案中execstart值修改為如下形式,即:

execstart=/usr/bin/dockerd --insecure-registry 192.168.208.147
測試openzipkin/zipkin:2.12.1映象

將openzipkin/zipkin:2.12.1映象打上標籤,即:

docker tag openzipkin/zipkin:2.12.1 192.168.208.147/jgyw/zipkin:2.12.1
然後執行push命令:

docker push 192.168.208.147/jgyw/zipkin:2.12.1
執行完成後,可以查到jgyw專案中就有了該映象,即:

(5)、pull映象

首先將本機的192.168.208.147/jgyw/zipkin:2.12.1映象刪除掉,即:

docker rmi 192.168.208.147/jgyw/zipkin:2.12.1
然後執行pull命令,即:

docker pull 192.168.208.147/jgyw/zipkin:2.12.1
映象就拉取下來了。

構建微服務架構的系統方法

構建微服務架構所需要做的不僅僅是構建服務本身。乙個微服務系統的構建過程代表的是一種組織級別的活動,包括組織的人員架構 研發過程 技術體系和協作文化等多個因素。同樣,微服務的執行時環境 錯誤處理機制和運維實踐也是我們需要考慮的內容。本文中我們將針對如何構建微服務架構給出一套完整的系統方法。下圖給出了構...

基於SpringCloud的微服務架構實戰案例專案

基於springcloud體系實現,簡單購物流程實現,滿足基本功能 註冊 登入 商品列表展示 商品詳情展示 訂單建立 詳情檢視 訂單支付 庫存更新等等。每個業務服務採用獨立的mysql資料庫,初期考慮用到如下元件 服務註冊 發現 eureka 配置管理 spring config spring se...

微服務與微服務架構

微服務 微服務強調的是服務的大小,它關注的是某乙個點,是具體解決某乙個問題 提供落地對應服務的乙個服務應用,狹意的看,可以看作eclipse裡面的乙個個微服務工程 或者module。例如 訂單服務 支付服務 微服務架構 馬丁.福勒 martin fowler 微服務架構介紹 微服務架構是 種架構模式...