多实例共享存储架构图
本文 LB 不使用 Nginx,使用阿里SLB。
更多 Harbor 架构
,请参考 聊聊Harbor架构
本文架构需要考虑三个问题
- 1、共享存储的选取,Harbor的后端存储目前支持
AWS S3
、Openstack Swift
,Ceph
等。本文使用阿里云极速性NAS
,磁盘IO性能比单块磁盘读写性能要好。使用 NFS V3 版本挂载。 - 2、Session 不能在不同的实例上共享,所以Harbor Redis 需要单独部署,并且多个实例连接相同的Redis。
- 3、Harbor多实例数据库问题,必须单独部署一个数据库,并且多个实例连接相同的数据库。
注意:生产环境如果使用阿里云NAS,推荐使用
极速性NAS
,不推荐使用通用型NAS
。
阿里云NAS性能参考文档 https://help.aliyun.com/document_detail/124577.html?spm=a2c4g.11186623.6.552.2eb05ea0HJUgUB
部署资源
主机名 | IP地址 | 系统 |
---|---|---|
harbor1 | 192.168.10.10 | centos7.9 |
harbor2 | 192.168.10.11 | centos7.9 |
部署
Harbor 选择在线部署
,使用 docker-compose 部署,docker-compose 和 Docker 部署环境本文不在介绍,网上可以搜索到相关文档。
1、挂载阿里云极速性NAS
harbor1 和 harbor2 机器都需要执行挂载 NAS
配置开机自动挂载,打开 /etc/fstab 配置文件,添加挂载命令。
1 | # 创建 NAS 挂载目录 |
- 挂载NFS v4文件系统,添加以下命令:
1 | file-system-id.region.nas.aliyuncs.com:/ /data nfs vers=4,minorversion=0,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,noresvport 0 0 |
- 如果您要挂载NFS v3文件系统,添加以下命令:
1 | file-system-id.region.nas.aliyuncs.com:/ /data nfs vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,noresvport 0 0 |
1 | # 在 /etc/fstab 配置文件添加好挂载,并执行挂载 |
2、临时部署单机 Harbor
在 harbor1 机器上操作
1 | # 在线部署Harbor |
3、单独部署Harbor数据库和Redis
1 | # 创建 postgres 和 redis 存储目录 |
1 | # 创建 postgres 和 redis docker-compose.yml 文件 |
4、导入 postgres 数据
1 | # 进入临时harbor-db容器导出相关表及数据 |
5、清理临时部署单机Harbor数据和相关配置文件
1 | # 清理harbr数据和配置文件 |
1 | # 部署第一个节点 harbor |
在 harbor2 机器上操作
1 | # 部署第二个节点 harbor |
6、配置阿里云SLB
不具体介绍SLB配置方法,具体配置方法参考下面阿里云SLB配置文档,配置 443端口,使用 TCP 协议,后端映射到两台 harbor1 和 harbor2 443端口上。
SLB配置方法
请参考阿里云文档 https://help.aliyun.com/document_detail/205495.html?spm=a2c4g.11174283.6.666.f9aa1192jngFKC
---本文结束感谢您的阅读。微信扫描二维码,关注我的公众号---
本文链接: https://www.yp14.cn/2021/05/16/Harbor多实例高可用共享存储搭建/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!