Harbor私有鏡像倉庫(上)


上圖配置為工作環境

 

特別注意:win10現在不允許使用私有ca證書,到時登錄瀏覽器會失敗,可以選用火狐瀏覽器。

創建自己的CA證書

openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt

上面從上到下分別表示:中國、北京、北京、公司名雲計算、證書綁定的域名

 

生成證書簽名請求

openssl req -newkey rsa:4096 -nodes -sha256 -keyout www.yunjisuan.com.key -out www.yunjisuan.com.csr

上面可以設置密碼,這里演示就不設置了

 

生成注冊表主機的證書

openssl x509 -req -days 365 -in www.yunjisuan.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out www.yunjisuan.com.crt

 

三、信任自簽發的域名證書

將自簽ca證書添加到系統信任

讓系統信任設置立即生效

四、Harbor 1.4 版本配置與安裝

注意:要關閉防火牆和selinux   

4.1 安裝docker-ce社區版

先關閉selinux     安裝依賴包

 

然后運行curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo獲取docker-ce.repo包

啟動docker,並加入開機自啟動

4.2 下載並安裝harbor私有倉庫

創建harbor的證書目錄,並復制

先mkdir -p /etc/ssl/harbor                    

創建harbor下載目錄並下載harbor-offline-installer-v1.5.0.tgz

下載包:wget http://harbor.orientsoft.cn/harbor-v1.5.0/harbor-offline-installer-v1.5.0.tgz

把原配置文件修改如下圖:第7行必須寫域名,跟之前創建的證書一致、第11行改成https、第23行和24行指向證書位置

到第68行查看默認密碼,

安裝命令docker-compose(需要1.21版本)

安裝harbor私有鏡像倉庫(參數--with-clair是啟用漏洞掃描)

登錄瀏覽器(火狐瀏覽器),輸入本機ip地址訪問

點擊高級

再點擊添加例外

點擊確認安全例外

用戶名為admin 密碼為之前在配置文件里看到的Harbor12345

接下來進行安全設置

在配置管理里-項目創建  改為僅管理員,認證模式不用改(企業中改為LDAP認證)

在項目->library->配置管理里把自動掃描鏡像勾選,企業中把阻止潛在漏洞鏡像也勾選

 

在linux上登錄

可以看到上面輸入IP地址,結果報錯,這里必須用域名

用域名時先需要映射一下

非交互式登錄:

上傳鏡像(以centos為例):

格式必須為docker push 域名/庫名/鏡像名

上傳成功:

其他電腦要登錄harbor時,需要認證證書,同時需要讓那台電腦信任認證證書,前面已經講過了,記住,信任完后需要重啟docker

映射也別忘了做

從harbor上下載時也是和上傳時格式一樣

 

harbor鏡像的復制與同步

harbor私有倉庫的主從復制,類似於MySQL,屬於一對多的復制

部署harbor-slave:再安裝一個harbor私有倉庫作為harbor的從庫,域名為www2.yunjisuan.com

創建證書,並讓linux信任證書,然后重啟docker服務

這時,要把www2.yunjisuan.com.crt 發送給主harbor,並讓主harbor信任該證書

然后在主barbor上執行操作

注意:這時登錄網站還可以進入主harbor,如果不能進入,就執行上面的install那,從那開始重新執行一遍

 然后再在從harbor上也進行install那部分的操作

cat harbor.cfg文件,把www.yunjisuan.com都改為www2.yunjisuan.com

把www2.yunjisuan.com.key和www2.yunjisuan.com.crt復制到/etc/ssl/harbor/下

接下來和上面講的一樣

賬號密碼還是和之前一樣

可以看到從harbor里面是空的,接下來在主harbor上操作

倉庫管理-->新建目標

 

注意,上面的驗證遠程證書不要勾,然后測試連接

可以發現,連接是失敗的,

日志文件在/var/log/harbor/下,有很多日志,我們可以看ui.log分析錯誤

因為URL那輸入的必須是域名,即:www2.yunjisuan.com,可是harbor的主從復制是直接查詢DNS的,而不是映射,所以我們還需要配置一下DNS服務才能解析出域名

進入linux虛擬機進行登錄看看

linux上是成功的,linux上是先查詢映射

再開一台虛擬機,配置一下DNS解析服務:

創建正向解析

上圖中的yunjisuan.com.zone是復制named.empty得來的,cp -p named.empty yunjisuan.com.zone  

注意:一定要帶-p ,這是復制時把屬主和屬組都復制,不帶-p到時會出現權限錯誤

編輯配置文件:

 

驗證並開啟DNS服務:

驗證DNS的功能:

在主harbor上把網關改為之前配置DNS服務的虛擬機的ip:

 

這時,還是連接失敗,這是因為緩存的關系,需要重啟docker服務

可以看到,終於連接成功了,然后點擊確定

點擊復制管理-->新建規則  定義把哪些鏡像同步過去

再點擊保存

再去從harbor看看

從庫已經傳輸完畢,主從復制搭建成功


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM