habernet备份mysql_Docker仓库(2):在保证镜像不丢失的前提下,升级Harbor版本

本文详细介绍了如何从Harbor 1.2.0版本升级到1.8.0,重点在于1.6.0版本的数据库迁移,包括备份Harbor程序和数据库,使用harbor-migrator工具进行迁移和升级,以及最后的配置文件调整和清理。确保在升级过程中不会丢失镜像。
摘要由CSDN通过智能技术生成

Harbor版本升级

背景:

原Harbor:1.2.0

待更新:1.8.0

过程:

由于harbor从v1.6.0版本开始,后端数据库由MariaDB改为Postgresql,所以在升级过程中,必须先升级到v1.6.0版本,再升级至v1.8.0。

v1.2.0 -> v1.6.0

该步骤中,由于数据库变更,所以需对数据库进行迁移。另外在升级过程中会改变数据库文件(database schema)以及harbor配置文件(harbor.cfg),所以必须做好备份工作,以备进行回滚操作。

一、低版本先升级到1.6.0

1、进入harbor文件夹,关闭harbor服务(/usr/local/harbor/harbor)

[root@mariadb /]# cd /usr/local/harbor/harbor/

[root@mariadb harbor]# docker-compose down -v

2、备份harbor程序以及数据库文件

[root@mariadb /]# mv /usr/local/harbor/harbor/ /usr/local/harbor/harbor.1.2.0

[root@mariadb /]# cp -rf /data/database/ /data/database.1.2.0

3、下载harbor:1.6.0

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

[root@mariadb /]# tar xzvf /usr/local/harbor/harbor-offline-installer-v1.6.0.tgz -C /usr/local/harbor/

4、下载备份工具和迁移工具(备份也可使用高版本的,最好是下载一个)

docker pull goharbor/harbor-migrator:v1.2.0

docker pull goharbor/harbor-migrator:v1.6.0

5、创建harbor配置文件备份文件夹,并且进行备份操作

[root@mariadb ~]# cd /usr/local/harbor/

[root@mariadb harbor]# mkdir harbor.migrate.v1.2.0

[root@mariadb ~]# docker run -it --rm -e DB_USR=root -e DB_PWD=root123 -v /data/database:/var/lib/mysql -v /usr/local/harbor/harbor.1.2.0/harbor.cfg:/harbor-migration/harbor-cfg/harbor.cfg -v /usr/local/harbor/harbor.migrate.v1.2.0:/harbor-migration/backup goharbor/harbor-migrator:v1.2.0 backup

6、升级数据库,修改harbor配置文件,迁移数据

[root@mariadb /]# docker run -it --rm -e DB_USR=root -e DB_PWD=root123 \

-v /data/database:/var/lib/mysql \

-v /usr/local/harbor/harbor.1.2.0/harbor.cfg:/harbor-migration/harbor-cfg/harbor.cfg \

goharbor/harbor-migrator:v1.6.0 up

[root@mariadb /]# mkdir /data/notary-db/

[root@mariadb /]# docker run -it --rm -e DB_USR=root \

-v /data/notary-db/:/var/lib/mysql \

-v /data/database:/var/lib/postgresql/data goharbor/harbor-migrator:v1.6.0 --db up

[root@mariadb /]# mkdir /data/clair-db/

[root@mariadb /]# docker run -it --rm -e DB_PWD=root123\

-v /data/clair-db/:/clair-db \

-v /data/database:/var/lib/postgresql/data goharbor/harbor-migrator:v1.6.0 --db up

7、配置新版本的harbor.cfg文件,文件要和之前版本中的修改过的内容一致

[root@mariadb /]# vim /usr/local/harbor/harbor/harbor.cfg

7 hostname = hub.benet.com

11 ui_url_protocol = https

68 harbor_admin_password = pwd@123 #密码无所谓,建议使用一样的

[root@mariadb harbor]# ./install.sh

8、升级完成后的效果

d23c9f4c34eeeb1a9a39cbfa947bffce.png

2d86fe0de40555ac287eb816718ed60f.png

v1.6.0 -> v1.8.0

该步骤中,由于在v1.6.0版本之后,harbor会在启动服务时自行迁移数据库数据,所以无需再单独迁移数据库。

二、从1.6.0版本升级到1.8.0版本

1、关闭harbor服务

[root@mariadb /]# cd /usr/local/harbor/harbor

[root@mariadb harbor]# docker-compose down -v

2、备份harbor程序和数据库文件

[root@mariadb /]# mv /usr/local/harbor/harbor /usr/local/harbor/harbor.1.6.0

[root@mariadb /]# cp -rf /data/database /data/database.1.6.0/

3、下载1.8.0版本

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

[root@mariadb /]# tar xzvf /usr/local/harbor/harbor-offline-installer-v1.8.0.tgz -C /usr/local/harbor/

4、下载迁移工具

docker pull goharbor/harbor-migrator:v1.8.0

5、升级harbor配置文件并安装

[root@mariadb /]# docker run -it --rm -v /usr/local/harbor/harbor.1.6.0/harbor.cfg:/harbor-migration/harbor-cfg/harbor.cfg -v /usr/local/harbor/harbor/harbor.yml:/harbor-migration/harbor-cfg-out/harbor.yml goharbor/harbor-migrator:v1.8.0 --cfg up

[root@mariadb /]# cd /usr/local/harbor/harbor

[root@mariadb harbor]# ./install.sh

6、升级完成后的效果

3659ac53907b57b5f5ed91babfbd3565.png

0d8ff74d6aa59f6190d1e5f3c9aa4715.png

三、删除多余的配置文件

1、/data目录中备份的database.1.6.0和database.1.6.0

2、/usr/local/harbor目录中的harbor.1.2.0和harbor.migrate.v1.2.0

3、用到的各种压缩包和之前版本的docker镜像

4、注意:千万不要删除/usr/local/harbor/harbor.1.6.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值