Harbor 部署HTTP
安裝docker-compose
[root@k8s-master habor]# mv docker-compose-Linux-x86_64 /usr/bin/docker-compose
[root@k8s-master bin]# chmod +x /usr/bin/docker-compose
安裝并配置habor
[root@k8s-master habor]# tar xzvf harbor-offline-installer-v2.0.0.tgz
[root@k8s-master habor]# cd harbor/
[root@k8s-master harbor]# cp harbor.yml.tmpl harbor.yml
-------------------------------------------------------------------------------------
#修改配置文件
[root@k8s-master harbor]# vi harbor.yml
hostname: 192.168.153.27
harbor_admin_password: Harbor12345
--屏蔽https的配置
---------------------------------------------------------------------------------------
[root@k8s-master harbor]# ./prepare
[root@k8s-master harbor]# ./install.sh
-------------------------------------------------------------------------------------
[root@k8s-master harbor]# docker-compose ps
[root@k8s-master harbor]# docker-compose down
[root@k8s-master harbor]# docker-compose up -d
訪問網站
http://192.168.153.27/
1638759769124.png
Docker登錄
http登錄,添加可信任
[root@es3 harbor]# vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"],
"insecure-registries":["192.168.153.27"]
}
重啟相關服務
[root@es3 harbor]# systemctl daemon-reload
[root@es3 harbor]# systemctl restart docker
-------------------------------------------------------------------------------
[root@k8s-master harbor]# docker-compose down
[root@k8s-master harbor]# docker-compose up -d
#如果有harbor,重啟docker,就要重啟docker-compose
登錄驗證
[root@es3 harbor]# docker login 192.168.153.27
Login Succeeded
鏡像上傳與下載
[root@es3 harbor]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
hello v1 3ce8dd487dba 16 hours ago 147MB
......
#打標簽
[root@es3 harbor]# docker tag hello:v1 192.168.153.27/library/hello:v1
[root@es3 harbor]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.153.27/library/hello v1 3ce8dd487dba 16 hours ago 147MB
hello v1 3ce8dd487dba 16 hours ago 147MB
......
#上傳
[root@es3 harbor]# docker push 192.168.153.27/library/hello:v1
#下載
[root@es3 harbor]# docker pull 192.168.153.27/library/hello:v1
1638760665145.png
Harbor 部署HTTPS
生成證書
[root@es3 ssl]# chmod +x *
[root@es3 ssl]# ls
certs.sh cfssl.sh
Harbor啟用HTTPS
hostname: reg.pcitc.com
https:
port: 443
certificate: /root/ssl/reg.pcitc.com.pem
private_key: /root/ssl/reg.pcitc.com-key.pem
重新配置并部署Harbor
[root@k8s-master harbor]# ./prepare
[root@k8s-master harbor]# docker-compose down
[root@k8s-master harbor]# docker-compose up -d
訪問網站
https://reg.pcitc.com/
1638771569466.png
Docker登錄
配置客戶端hosts(每個節點都要配置)
[root@es3 harbor]# vi /etc/hosts
192.168.153.27 reg.pcitc.com
配置可信任(每個節點都要配置)
[root@es3 ssl]# vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"],
"insecure-registries":["reg.pcitc.com"]
}
重啟生效
[root@es3 harbor]# systemctl daemon-reload
[root@es3 harbor]# systemctl restart docker
-------------------------------------------------------------------------------
[root@k8s-master harbor]# docker-compose down
[root@k8s-master harbor]# docker-compose up -d
#如果有harbor,重啟docker,就要重啟docker-compose
登錄驗證
[root@es3 ssl]# docker login reg.pcitc.com
Login Succeeded
鏡像上傳與下載
[root@es3 ssl]# docker tag tomcat:v1 reg.pcitc.com/library/tomcat:v1
[root@es3 ssl]# docker push reg.pcitc.com/library/tomcat:v1
#其他節點
[root@prometheus ~]# docker pull reg.pcitc.com/library/tomcat:v1
Harbor 主從復制
主備
? 簡單,主掛了切到備Harbor
? 同一時間只有一臺提供服務
? 適合少量鏡像下載
1638778912604.png
雙主復制
? 雙向配置復制
? 兩臺同時提供服務
? 前面增加負載均衡器
1638779058549.png
一主多從
? 多個從同步主
? 適合多地區業務、大量鏡像下載需求
1638779411313.png
配置可信任(主節點配置)
[root@es3 ~]# vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"],
"insecure-registries":["reg.pcitc.com","192.168.153.20","192.168.153.25"]
}
[root@es3 ~]# systemctl daemon-reload
[root@es3 ~]# systemctl restart docker
[root@k8s-~ harbor]# docker-compose down
[root@k8s-~ harbor]# docker-compose up -d
主節點登錄從節點
[root@es3 harbor]# docker login 192.168.153.20
Login Succeeded
[root@es3 harbor]# docker login 192.168.153.25
Login Succeeded
倉庫管理(主機)
1638781763029.png
1638781827743.png
[圖片上傳中...(1638782524681.png-af5ed0-1638791875762-0)]
1638781850506.png
復制管理(主機)
1638782013515.png
1638782093429.png
1638782113993.png
推送鏡像驗證
[root@es3 harbor]# docker tag centos:7 reg.pcitc.com/library/centos:7
[root@es3 harbor]# docker push reg.pcitc.com/library/centos:7
1638782524681.png
1638782542213.png
1638782570224.png
Harbor 運維維護
容器 | 功能 |
---|---|
harbor-core | 配置管理中心 |
harbor-db | PG數據庫 |
harbor-jobservice | 負責鏡像復制 |
harbor-log | 記錄操作日志 |
harbor-portal | Web管理頁面和API |
nginx | 前端代理,負責前端頁面和鏡像上傳/下載轉發 |
redis | 會話 |
registryctl | 鏡像存儲 |
容器數據持久化目錄:/data
日志文件目錄:/var/log/harbor
數據庫做好定期備份