解壓此壓縮包(壓縮包在上篇博文<kubernetes部署中有連接,可下載>)node
tar xzf harbor-offline-installer-v1.4.0.tgz
解壓後獲得一個harbor目錄mysql
將此目錄移動至/opt目錄下web
mv harbor /opt
添加一塊硬盤50G(若是不添加硬盤,咱們添加的鏡像都默認保存在系統盤裏,隨着鏡像的增多,就會把第一塊硬盤sda1撐爆的,因此要添加新的硬盤)sql
在/目錄下建立date目錄docker
mkdir /date
將剛填加的硬盤掛載到date目錄vim
mount /dev/sdb1 /date
在date裏創建harbor目錄,目的是爲了保存harbor的文件和鏡像瀏覽器
mkdir /date/harbor
進入harbor的啓動目錄工具
cd /opt/harbor
編輯配置文件harbor.cfgpost
修改以下:ui
hostname = reg.yunwei.edu ui_url_protocol = https ssl_cert = /date/harbor/cert/harbor.crt ssl_cert_key = /date/harbor/cert/harbor.key secretkey_path = /date/harbor harbor_admin_password = admin
ssl_cert = /date/harbor/cert/harbor.crt
ssl_cert_key = /date/harbor/cert/harbor.key
以上爲ca證書名稱,必須與實際文件同名
secretkey_path = /date/harbor 爲ca證書目錄
vim docker-compose.clair.yml
找到以下參數,並修爲以下配置:
28行 /date/harbor/clair-db:/var/lib/postgresql/data:z
vim docker-compose.notary.yml
找到以下參數,並修爲以下配置:
57行 /date/harbor/notary-db:/var/lib/mysql:z
vim docker-compose.yml
找到以下參數,並修爲以下配置:
8 行 /date/harbor/:/var/log/docker/:z 19行 /date/harbor/registry:/storage:z 39行 /date/harbor/database:/var/lib/mysql:z 58行 /date/harbor/config/:/etc/adminserver/config/:z 59行 /date/harbor/secretkey:/etc/adminserver/key:z 60行 /date/harbor/:/data/:z 80行 /date/harbor/secretkey:/etc/ui/key:z 81行 /date/harbor/ca_download/:/etc/ui/ca/:z 82行 /date/harbor/psc/:/etc/ui/token/:z 101行/date/harbor/job_logs:/var/log/jobs:z 103行/data/harbor/secretkey:/etc/jobservice/key:z
回到kubernetes目錄
cd /root/kubernetes
解壓此壓縮包,ca證書
tar xzf ca.tar.gz
把解壓後的目錄移動至/date/harbor目錄下,並更名爲cert
mv ca /date/harbor/cert
執行安裝腳本,部署harbor
(1)在/opt/harbor/目錄下
sh install.sh
(2)驗證harbor是否部署成功:
必須在/opt/harbor/目錄下執行
docker-compose ps
爲各節點分發ca證書
(1)在每一個節點(包括harbor節點)的/etc/docker/目錄下,建立certs.d/reg.yunwei.edu/目錄
cd /etc/docker
mkdir -p certs.d/reg.yunwei.edu
(2)harbor節點上,將harbor的ca證書中的ca.crt拷貝到/etc/docker目錄下
cp /date/harbor/cert/ca.crt /etc/docker/certs.d/reg.yunwei.edu/
(3)將harbor節點的ca.crt文件,分發給各節點的/etc/docker/certs.d/reg.yunwei.edu/下
scp /etc/docker/certs.d master:/etc/docker scp /etc/docker/certs.d node1:/etc/docker scp /etc/docker/certs.d node2:/etc/docker
(4)將如下內容寫入全部節點的hosts文件
部署節點IP reg.yunwei.edu
(5)harbor鏡像庫驗證
命令行:各節點登錄鏡像庫地址後,輸入用戶名/密碼(admin/admin)後出現 Login Succeeded
docker login reg.yunwei.edu
web瀏覽器:瀏覽器輸入harbor節點ip
本地鏡像從新打tag
(1)例如將以下本地鏡像
(2)從新打tag
docker tag itsthenetwork/nfs-server-alpine:latest reg.yunwei.edu/learn/nfs-server-alpine:latest
將從新打tag以後的鏡像上傳到鏡像庫
docker push reg.yunwei.edu/learn/nfs-server-alpine:latest
私有鏡像庫的使用
(1)在harbor鏡像庫中查看鏡像
(2)節點配置好了ca證書的ca.crt後,即可執行以下命令下載鏡像。在kubernets集羣中節點在啓動pod時,會自動下載鏡像
docker pull reg.yunwei.edu/learn/nfs-server-alpine:latest
docker私有倉庫它是經過docker-compose這麼一個工具作的,它是能夠完成同時編排多個容器啓動,而且呢這些容器相互關聯,幫咱們啓動一些服務,既然要用到docker-compose這個編排工具,就要有
一個docker-compose的編排文件,也就是docker-compose.yml,經過這種編排文件,才能給咱們啓動編排過來的容器,同時啓動多個容器,docker-compose這個工具,必須在有docker-compose.yml這個文件的目錄下操做。
查看起來的容器
docker-compose ps
好比我想如今刪除這個容器,我不能直接docker stop 容器ID,必須先docker-compose stop Name,然後再使用docker rm 容器ID。
啓動編排文件
docker-compose up –d 編排文件名字