一、 硬件配置及软件版本
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
移动到系统二进制目录下
mvdocker-compose-linux-x86_64 /usr/bin/docker-compose
赋可执行权限
chmod a+x /usr/bin/docker-compose
验证是否安装成功
docker-compose –help
三、 部署 Harbor HTTP
1.下载安装包
本文选择脱机安装,因此安装包有点大。
[En]
This article chooses offline installation, so the installation package is a little large.
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证书
您可以生成自己的自签名证书或在线申请证书。阿里云域名可以申请免费证书。
[En]
You can generate your own self-signed certificate or apply for a certificate online. Aliyun domain name can apply for a free certificate.
生成自签证书
自签证书使用的时候需要做本地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
目标名称:Custom,您可以填写声明性名称
[En]
Target name: custom, you can fill in a declarative name
描述:自定义,您可以对目标仓库的一些信息进行评论
[En]
Description: custom, you can comment on some information of the target warehouse
目标URL :对端仓库的地址
访问ID :目标仓库的用户名
访问密码:访问ID 的密码
验证远程证书:如果对等方使用的是自签名证书或不受信任的证书,则不要选中此框
[En]
Verify remote certificate: do not check this box if the peer is using a self-signed certificate or an untrusted certificate
名称:自定义、声明性
[En]
Name: custom, declarative
说明:备注规则中的客户、仓库信息
[En]
Description: custom, warehouse information in remarks rules
复制模式:
Push-based:从本地仓库推送到远程仓库,双主模式两个harbor 同时配置
Pull-based:从远程仓库拉去到本地仓库,一主多从模式的从库可配置,主从模式从库可配置
目标仓库/源仓库:对端仓库地址,在仓库管理中添加
资源筛选器:指定同步所基于的内容
[En]
Resource filters: specify what synchronization is based on
触发方式:一般选择事件驱动,主库更新后同步
[En]
Trigger mode: generally choose event-driven, so that the main library will be synchronized when it has been updated
Original: https://www.cnblogs.com/mgsudu/p/16170478.html
Author: 愤怒的小白~
Title: Centos7搭建Harbor
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/523790/
转载文章受原作者版权保护。转载请注明原作者出处!