准备三台服务器、4个IP,当然测试环境也可以准备两台,Nginx可以运行在harbor其他一台上
| IP | 用途 |
|---|---|
| 10.254.193.184 | Nginx 服务器 |
| 10.254.193.243 | VIP |
| 10.254.193.244 | harbor1服务器 |
| 10.254.193.248 | harbor2 服务器 |
两台harbor服务器得有docker及docker-compose环境
1、docker安装执行以下命令自动安装docker,有外网环境
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
或者
curl -sSL https://get.daocloud.io/docker | sh
安装完毕后启动docker并设置开机自启
systemctl start docker && systemctl enable docker
验证版本
docker -v2、docer-compose安装
官方最新版本地址可以查看替换最新版本号
以下命令是下载 赋予可执行权限并创建软链接
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.6.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
验证版本
docker-compose -v二、Harbor安装
以下操作在两台harbor机器上都执行(我是在虚拟机上操作的,操作其中一台,完毕后直接克隆的另一台,然后修改IP进行安装,可以省很多)
下载harbor离线安装包,可以在GitHub下载官方最新版本
我下载的是2.5.1
下载完毕后上传到两台harbor服务器,进行解压,此处我上传到/home目录
tar zxvf harbor-offline-installer-v2.5.1.tgz
创建harbor数据目录
mkdir /data
进入harbor目录拷贝配置文件
cd harbor cp harbor.yml.tmpl harbor.yml
编辑配置文件,主要填入IP,因为使用外置的Nginx代理,此处https配置进行注释。密码可以随意设置,两台harbor最好是密码保持一致。数据盘可以默认。数据库及redis此处都是默认
vi harbor.yml
示例截图
配置完毕后分别进行安装
./install.sh
安装成功
此时,可分别用IP进行登录
两台harbor分别安装
yum install keepalived -y
编辑配置,默认的配置可以删除,不需要这么多
vi /etc/keepalived/keepalived.conf
244配置
vrrp_instance VI_1 {
state MASTER
interface enp0s18
virtual_router_id 51
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.254.193.243
}
}
248配置
vrrp_instance VI_1 {
state MASTER
interface enp0s18
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.254.193.243
}
}
244及248的配置唯一的区别是 priority 的值,代表VIP优先在哪台服务器,数值越高优先级越高。
另外interface 的值请填入服务器准确的值,大部分服务器默认是eth0,可以使用ip addr查看IP具体的驱动值
配置完毕后启动并设置开机启动
systemctl start keepalived && systemctl enable keepalived
在244执行ip addr ,VIP设置成功
将编译好的Nginx上传到184服务器,证书可以自己申请免费的或者创建自定义
配置需注意,Nginx默认上传文件大小是1m,而镜像基本都几十上百M。在http层 加入如下参数
client_max_body_size 500m;
这里的IP是VIP的
server {
listen 443 ssl;
server_name harbor.crecgec.com;
charset utf-8;
proxy_set_header Host $host;
proxy_set_header X-Real-TP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_certificate /usr/local/nginx/a.pem;
ssl_certificate_key /usr/local/nginx/a.key;
location / {
proxy_pass http://10.254.193.243:80;
}
}
配置完毕启动Nginx
五、验证访问电脑配置hosts,验证登录访问
至此,harbor安装完毕。harbor使用及镜像复制参考下一篇文章
harbor使用



