1. 程式人生 > >[Kubernetes]CentOS7下搭建Harbor倉庫

[Kubernetes]CentOS7下搭建Harbor倉庫

環境依賴:

Harbor倉庫需要環境:Python 2.7或以上版本,Docker 1.10或以上,Docker Compose 1.6.0或以上.
CentOS7自帶Python,所以不需要安裝.
關於Docker安裝已經寫過一篇部落格:[Docker]CentOS7下Docker安裝教程
所以接下來說一說docker-compose.
部署docker-compose:

curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

提權:

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

驗證docker-compose是否部署成功:

 docker-compose --version

在這裡插入圖片描述
如上圖,可以看到,我們已經成功部署docker-compose.

線上安裝Harbor及其相關配置

為了方便尋找Harbor,將它安裝在usr/local/src目錄下,所以需要進入該目錄:

cd /usr/local/src

下載相關gz包:

連結地址: https://github.com/vmware/harbor/releases
根據自己的需要,下載即可.本篇文章以下載v1.3.0為例,下載命令:
wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.3.0.tgz
下載完成之後,進行解壓:
tar -zxvf harbor-offline-installer-v1.3.0.tgz

耐心等待解壓完成即可.解壓完成之後,進行以下操作:

進入harbor目錄:cd harbor
修改配置檔案:vi harbor.cfg
配置檔案中有hostname:hostname = 192.168.22.237
#設定訪問地址,可用ip,域名,不能使用127.0.0.1或localhost,在此設為192.168.22.237
#如果設定為域名,記得在自己的hosts檔案中做相應修改
#在此只是示例,具體可根據自己需要
harbor.cfg詳細配置可參考:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md#configuring-harbor
修改相關內容之後,執行: ./prepare  進行更新引數操作

但是需要注意,這個指令碼有個坑.hostname =reg.xx.com預設的不能有,註釋掉也不行.
不要問我為什麼知道這個,耗在這裡耗了將近半個小時…
配置檔案中有關於Harbor的預設密碼:
在這裡插入圖片描述
修改配置檔案之後,即可啟動,一條命令即可:

./install.sh

如下圖,Harbor正在啟動:
在這裡插入圖片描述
如下圖所示時,表示Harbor安裝成功
在這裡插入圖片描述
此時,我們可以通過訪問剛才設定的ip地址,訪問到Harbor介面
在這裡插入圖片描述
輸入預設賬號:admin,密碼:Harbor12345,可以看到管理介面:
在這裡插入圖片描述
在這個過程中,常用的命令就是停止和安裝命令:

docker-compose down -v   停止
docker-compose up -d    啟動
可能出現的錯誤

1,無法訪問此頁:造成的原因,可能沒有把防火牆關閉,導致不能訪問
一條命令即可:

臨時關閉防火牆:systemctl stop firewalld 
永久關閉防火牆: systemctl disable firewalld.service

但是一般不建議把防火牆關掉.先寫在這裡,我後續再研究研究,看看都用到了哪兒些埠,等回來再更新

2,檢視日誌時,發現錯誤:failed to connect to tcp://postgresql:5432
解決辦法:

停止並刪除docker容器:docker-compose down -v
啟動所有docker容器:docker-compose up -d

3,在停止並刪除docker容器時,發現錯誤:ERROR: network harbor_harbor has active endpoints
解決辦法:

重啟 Docker service:service docker restart

4,在執行docker ps檢視容器時,發現有好幾個容器起不來
在這裡插入圖片描述
因為錯誤太多,每個我都不說了,大概解決思路就是去目錄:/var/log/harbor檢視相關服務的日誌,一般日誌裡面都會有錯誤說明,跟著說明解決就OK.
當所有的服務都起來之後,Harbor一般就可以起來了:
在這裡插入圖片描述
5,ERROR:Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-2add1a39bc5d -j RETURN: iptables: No chain/target/match by that name.
(exit status 1)
在這裡插入圖片描述
出現這個問題的原因是因為,我是後來才關閉的防火牆,這個時候需要重啟一下docker才生效.

service docker restart 

重啟docker之後,再執行命令:

./install.sh

問題解決.
最後,雖然整個過程很艱辛,遇到了很多的錯誤,抓耳撓腮了許久,但是當你看到Harbor介面的時候,那種開心,會讓你覺得,所有的付出都是值得的~