- A+
一、硬件配置及软件版本
1.服务器配置
最低要求:CPU2核/内存4G/硬盘40G
推荐:CPU4核/内存8G/硬盘300G
2.软件版本
Docker CE 17.06版本+ 本文版本:Docker CE 20.10.14
Docker Compose 1.18版本+ 本文版本:V2.4.1
Harbor v2.5.0
3.安装方式
Harbor有两种安装方式:
• 在线安装:从Docker Hub下载Harbor相关镜像,因此安装软件包非常小
• 离线安装:安装包包含部署的相关镜像,因此安装包比较大
二、安装Docker和Docker Compose
1.安装docker
# 安装依赖包
yum install -y yum-utils
# 添加Docker软件包源
yum-config-manager --add-repo
https://download.docker.com/linux/centos/docker-ce.repo
# 安装Docker CE
yum install -y docker-ce
# 启动Docker服务并设置开机启动
systemctl start docker
systemctl enable docker
2.安装docker compose
#下载
wget https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-linux-x86_64
#移动到系统二进制目录下
mv docker-compose-linux-x86_64 /usr/bin/docker-compose
#赋可执行权限
chmod a+x /usr/bin/docker-compose
#验证是否安装成功
docker-compose --help
三、部署Harbor HTTP
1.下载安装包
本文选择离线安装方式,所以安装包有点大
wget https://github.com/goharbor/harbor/releases/download/v2.5.0/harbor-offline-installer-v2.5.0.tgz
2.解压修改配置
tar zxvf harbor-offline-installer-v2.5.0.tgz cd harbor cp harbor.yml.tmpl harbor.yml vim harbor.yml hostname: reg.mydomain.com #此处需要修改,IP或者域名都行 #https的四行配置需要添加注释 https: port: 443 certificate: /your/certificate/path private_key: /your/private/key/path #可以修改数据目录 data_volume: /data #可以修改harbor管理员初始密码 harbor_admin_password: Harbor12345 #可以修改日志路径 log: level: info local: rotate_count: 50 rotate_size: 200M location: /var/log/harbor
3.配置加载并安装
./prepare
./install.sh
安装完成,可以使用docker-compose查看
4.登陆页面查看
5.本地docker登陆问题
http方式搭建的harbor本地docker登陆的时候需要配置信任,否则按https请求,会报错。配置方式如下:
IP地址为仓库地址
vim /etc/docker/daemon.json
重启docker
四、启用HTTPS
1.生成ssl证书
可以自己生成自签证书,或者网上申请证书都可,阿里云域名可以申请免费证书
#生成自签证书
自签证书使用的时候需要做本地hosts解析
#创建证书目录
mkdir -p /etc/harbor/key cd /etc/harbor/key #生成秘钥和自签名证书: openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt #生成证书签名请求(域名改为自己harbor里的)这里为(harbor.my.com) openssl req -newkey rsa:4096 -nodes -sha256 -keyout harbor.my.com.key -out harbor.my.com.csr #生成服务器证书:(域名改为自己harbor里的)这里为(harbor.my.com) openssl x509 -req -days 365 -in harbor.my.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out harbor.my.com.crt
2.Harbor启用HTTPS
vi harbor.yml
hostname: harbor.my.com #此处需要修改成自己的域名
https:
port: 443
certificate: /etc/harbor/key/harbor.my.com.crt
private_key: /etc/harbor/key/harbor.my.com.key
把以上https的四行注释去掉,然后配置实际的证书路径即可
3.重新配置并部署Harbor
./prepare
docker-compose down
docker-compose up -d
4.将证书复制到docker主机
mkdir /etc/docker/certs.d/harbor.my.com(你的域名)
cp 你的域名 /etc/docker/certs.d/harbor.my.com/harbor.my.com.crt
到此Harbor https配置完成
五、Harbor维护
容器 |
功能 |
harbor-core |
配置管理中心 |
harbor-db |
PG数据库 |
harbor-jobservice |
负责镜像复制 |
harbor-log |
记录操作日志 |
harbor-portal |
Web管理页面和API |
nginx |
前端代理,负责前端页面和镜像上传/下载转发 |
redis |
会话 |
registryctl |
镜像存储 |
容器数据持久化目录(可更改):/data
日志文件目录(可更改):/var/log/harbor
数据库做好定期备份。
六、配置Harbor主从复制
1.主备
• 简单,主挂了切到备Harbor
• 同一时间只有一台提供服务
• 适合少量镜像下载
2.双主
• 双向配置复制
• 两台同时提供服务
• 前面增加负载均衡器
3.一主多从
• 多个从同步主
• 适合多地区业务、大量镜像下载需求
4.主从配置步骤
提供者:选择Harbor
目标名:自定义,可填一个具有声明意义的名称
描述:自定义,可备注目标仓库的一些信息
目标URL:对端仓库的地址
访问ID:目标仓库的用户名
访问密码:访问ID的密码
验证远程证书:如果对端用的是自签证书或者非信任证书的话不要勾选此项
名称:自定义,有声明意义
描述:自定义,备注规则中仓库信息
复制模式:
Push-based:从本地仓库推送到远程仓库,双主模式两个harbor同时配置
Pull-based:从远程仓库拉去到本地仓库,一主多从模式的从库可配置,主从模式从库可配置
目标仓库/源仓库:对端仓库地址,在仓库管理中添加
资源过滤器:指定根据什么来同步
触发模式:一般选择事件驱动,这样主库已更新就会同步