harbor集群及高可用搭建

主机清单:

192.168.17.10 docker harbor keepalived

192.168.17.20 docker harbor keepalived

  1. 安装docker

切换阿里源

sudo yum-config-manager \

--add-repo \

http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

下载存储驱动程序:yum install -y yum-utils device-mapper-persistent-data lvm2

安装依赖:yum -y install docker-ce docker-ce-cli containerd.io

安装docker:yum -y install docker-ce-19.03.10 docker-ce-cli-19.03.10 containerd.io

配置阿里云镜像加速器

mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

"registry-mirrors": ["https://1dmptu91.mirror.aliyuncs.com"]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

  1. 部署harbor

从github上下载docker-compse工具

curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

赋执行权

chmod +x /usr/local/bin/docker-compose

下载harbor压缩包

wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.4.tgz

将harbor包解压到/usr/local/下

tar -zxf harbor-offline-installer-v1.7.4.tgz -C /usr/local/

#进入harbor目录

cd /usr/local/harbor/

修改harbor配置文件

vim harbor.cfg

修改hostname = 192.168.17.10 ip为本机ip,两台都需要修改

执行安装脚本

./install.sh

启动

docker-compose start

通过浏览器访问

http://192.168.17.10/harbor

用户:admin

密码:Harbor12345

主的可视化界面配置主自动复制镜像到从库

项目-->>新建项目 自己定义项目名称 访问级别 公开

仓库管理-->>新建目标

目标名为项目名称 目标URL为从库的地址,用户名,密码为从库用户名密码

注意:不要勾选验证远程证书 测试连接成功 确定

复制管理-->>新建规则

名称自定义,描述自定义项目源为自己所创项目

目标为从库的地址,这个会在仓库管理配置完成后自动生成,选择即可

触发模式:即可 勾选删除本地镜像同时删除远程镜像

配置完成后再主上传镜像

先修改docker镜像仓库地址,两台都需要修改,各自改为自己ip

vim /usr/lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd --insecure-registry 192.168.17.10

重载配置,重启docker

systemctl daemon-reload

systemctl restart docker

登录harbor

docker login -u admin -p Harbor12345 192.168.17.10

上传私有镜像

镜像名称要修改成:私有仓库ip/项目名称/镜像名称`

docker tag nginx:latest 192.168.17.10/harbor/nginx

docker push 192.168.17.10/harbor/nginx 上传完成后去从库看是否复制成功

  1. harbor高可用

安装keepalived,两台都需要安装修改配置

yum -y install keepalived

修改配置

vim /etc/keepalived/keepalived.conf

修改为:

global_defs {

router_id lb2

#路由id号,和主服务器必须不同(删除vrrp_strict行)

}

vrrp_instance VI_1 {

state BACKUP

#状态:BACKUP备 MASTER主

interface ens33

virtual_router_id 51

priority 99

#优先级:备比主要小

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.17.254

#虚拟路由ip,公共ip

}

}

启动服务

Systemctl start keepalived

查看是否生成虚拟ip

ip a show dev ens33

如果同时两台都生成虚拟ip,可能是docker卡死造成的,重启docker即可

修改docker镜像地址,两台都是自己的虚拟ip地址

vim /usr/lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd --insecure-registry 192.168.17.254

重载配置,重启docker

systemctl daemon-reload

systemctl restart docker

启动harbor,需要进入/usr/local/harbor/ 才能启动

docker-compose start

验证:

关闭主的harbor和keepalived

docker-compose stop

systemctl stop keepalived

在主下载镜像

docker rmi 192.168.17.10/harbor/nginx 删除之前创建的私有镜像

docker pull 192.168.17.254/harbor/nginx 下载自己的私有仓库镜像

下载成功即实现高可用效果

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值