0
点赞
收藏
分享

微信扫一扫

harbor1.1.2无损升级到最新版本harbor2.5.0

源码之路 2023-12-20 阅读 32

目标

将老版本的harbor1.1.2无损升级到最新版本harbor2.5.0, 后面有条件可以随版本更新

基础环境信息

  • hostIP: 192.168.56.35
  • http
  • docker-compose路径: /usr/src/harbor
  • data路径: /data

升级步骤

  • 下面是升级版本需要的安装包,同样也意味着版本升级步骤
harbor-offline-installer-v1.1.2.tgz
harbor-offline-installer-v1.2.0.tgz
harbor-offline-installer-v1.5.0.tgz
harbor-offline-installer-v1.6.0.tgz
harbor-offline-installer-v1.8.0.tgz
harbor-offline-installer-v1.10.0.tgz
harbor-offline-installer-v2.1.0.tgz
harbor-offline-installer-v2.5.0.tgz
harbor-offline-installer-v2.7.0.tgz
harbor-offline-installer-v2.9.1.tgz

升级版本步骤概述

  1. 停止老版本harbor
  2. 备份老版本安装路径
  3. 下载新版本所需的安装包
  4. 下载迁移工具镜像
  5. 升级集群架构,harbor.cfg并迁移数据
  6. 启动新版本harbor
  7. 不符合预期的配置调整
  8. 问题汇总

1.1.2版本升级到1.2.0

  1. 停止老版本harbor
cd /usr/src/harbor
docker-compose down
  1. 备份老版本安装路径
cd /usr/src/
mv harbor harbor1.1.2.bak
  1. 下载新版本安装包
tar xf harbor-offline-installer-v1.2.0.tgz
mv harbor /usr/src
cd /usr/src/harbor
docker load -i harbor.v1.2.0.tar.gz
  1. 下载db-migrate镜像
docker pull goharbor/harbor-db-migrator:1.2
db_pwd=root123
harbor_db_path=/data/database
harbor_cfg=/usr/src/harbor1.1.2.bak/harbor.cfg
backup_path=/data/backup/1.1.2
docker run -it --rm -e DB_USR=root -e DB_PWD=${db_pwd} -v ${harbor_db_path}:/var/lib/mysql -v ${harbor_cfg}:/harbor-migration/harbor-cfg/harbor.cfg -v ${backup_path}:/harbor-migration/backup goharbor/harbor-db-migrator:1.2 backup
  1. 升级mysql schema
docker run -it --rm -e DB_USR=root -e DB_PWD=${db_pwd} -v ${harbor_db_path}:/var/lib/mysql -v ${harbor_cfg}:/harbor-migration/harbor-cfg/harbor.cfg goharbor/harbor-db-migrator:1.2 up
  1. 替换harbor.cfg
cp $harbor_cfg /usr/src/harbor
  1. 启动harbor
cd /usr/src/harbor
./install.sh

1.2.0版本升级到1.5.0

  1. 停止老版本harbor
cd /usr/src/harbor
docker-compose down
  1. 备份老版本安装路径
cd /usr/src/
mv harbor harbor1.2.0.bak
  1. 下载新版本安装包
tar xf harbor-offline-installer-v1.5.0.tgz
mv harbor /usr/src
cd /usr/src/harbor
docker load -i harbor.v1.5.0.tar.gz
  1. 下载db-migrate镜像
docker pull goharbor/harbor-migrator:v1.5.0
db_pwd=root123
harbor_db_path=/data/database
harbor_cfg=/usr/src/harbor1.2.0.bak/harbor.cfg
backup_path=/data/backup/1.2.0
docker run -it --rm -e DB_USR=root -e DB_PWD=${db_pwd} -v ${harbor_db_path}:/var/lib/mysql -v ${harbor_cfg}:/harbor-migration/harbor-cfg/harbor.cfg -v ${backup_path}:/harbor-migration/backup goharbor/harbor-migrator:v1.5.0 backup
  1. 升级mysql schema
docker run -it --rm -e DB_USR=root -e DB_PWD=${db_pwd} -v ${harbor_db_path}:/var/lib/mysql -v ${harbor_cfg}:/harbor-migration/harbor-cfg/harbor.cfg goharbor/harbor-migrator:v1.5.0 up
  1. 替换harbor.cfg
cp $harbor_cfg /usr/src/harbor
  1. 启动harbor
cd /usr/src/harbor
./install.sh
  1. 功能验证要点
  1. 推拉镜像
  2. 页面功能
  3. 容器状态,日志

image.png

1.5.0版本升级到1.6.0

(1)harbor数据库在v1.6版本做了很大的升级。数据库从原来的MySQL升级为postgresql数据库。根据官方文档的解释,旧版本的harbor升级到最新的v1.9,需先将harbor升级到v1.6,再升级到更高的版本。 (2)从v1.8.0开始,Harbor的配置已更改为.yml文件,迁移器将配置文件从harbor.cfg转换为harbor.yml。 (3)从v1.6.0开始,Harbor会在启动时自动尝试迁移数据库,因此如果从v1.6.0或更高版本升级,则无需调用迁移器工具来迁移数据库,只需要更新cfg文件即可。 (4)从v1.7.0开始,支持Helm Chart部署。

  1. 停止老版本harbor
cd /usr/src/harbor
docker-compose down
  1. 备份老版本安装路径
cd /usr/src/
mv harbor harbor1.5.0.bak
  1. 下载新版本安装包
tar xf harbor-offline-installer-v1.6.0.tgz
mv harbor /usr/src
cd /usr/src/harbor
docker load -i harbor.v1.6.0.tar.gz
  1. 下载db-migrate镜像
docker pull goharbor/harbor-migrator:v1.6.0
db_pwd=root123
harbor_db_path=/data/database
harbor_cfg=/usr/src/harbor1.5.0.bak/harbor.cfg
backup_path=/data/backup/1.5.0
docker run -it --rm -e DB_USR=root -e DB_PWD=${db_pwd} -v ${harbor_db_path}:/var/lib/mysql -v ${harbor_cfg}:/harbor-migration/harbor-cfg/harbor.cfg -v ${backup_path}:/harbor-migration/backup goharbor/harbor-migrator:v1.6.0 backup
  1. 升级mysql schema
docker run -it --rm -e DB_USR=root -e DB_PWD=${db_pwd} -v ${harbor_db_path}:/var/lib/mysql -v ${harbor_cfg}:/harbor-migration/harbor-cfg/harbor.cfg goharbor/harbor-migrator:v1.6.0 up
  1. 替换harbor.cfg
cp $harbor_cfg /usr/src/harbor
  1. 启动harbor
cd /usr/src/harbor
./install.sh

1.6.0版本升级到1.8.0

  1. 停止老版本harbor
cd /usr/src/harbor
docker-compose down
  1. 备份老版本安装路径
cd /usr/src/
mv harbor harbor1.6.0.bak
  1. 下载新版本安装包
tar xf harbor-offline-installer-v1.8.0.tgz
mv harbor /usr/src
cd /usr/src/harbor
docker load -i harbor.v1.8.0.tar.gz
  1. 升级pgsql schema
docker run -it --rm -v /usr/src/harbor1.6.0.bak/harbor.cfg:/harbor-migration/harbor-cfg/harbor.cfg -v /usr/src/harbor/harbor.yml:/harbor-migration/harbor-cfg-out/harbor.yml goharbor/harbor-migrator:v1.8.0 --cfg up
  1. 启动harbor
cd /usr/src/harbor
./install.sh
  1. 验证

image.png

1.8.0版本升级到1.10.0

  1. 停止老版本harbor
cd /usr/src/harbor
docker-compose down
  1. 备份老版本安装路径
cd /usr/src/
mv harbor harbor1.8.0.bak
  1. 下载新版本安装包
tar xf harbor-offline-installer-v1.10.tgz
mv harbor /usr/src
cd /usr/src/harbor
docker load -i harbor.v1.10.0.tar.gz
  1. 升级pgsql schema
docker run -it --rm -v /usr/src/harbor1.8.0.bak/harbor.cfg:/harbor-migration/harbor-cfg/harbor.cfg -v /usr/src/harbor/harbor.yml:/harbor-migration/harbor-cfg-out/harbor.yml goharbor/harbor-migrator:v1.10.0 --cfg up
  1. 启动harbor
cp /usr/src/harbor1.8.0.bak/harbor.yml /usr/src/harbor/
cd /usr/src/harbor
./install.sh
  1. 测试

image.png

1.10.0版本升级到2.1.0

  1. 停止老版本harbor
cd /usr/src/harbor
docker-compose down
  1. 备份老版本安装路径
cd /usr/src/
mv harbor harbor1.10.0.bak
  1. 下载新版本安装包
tar xf harbor-offline-installer-v2.1.0.tgz
mv harbor /usr/src
cd /usr/src/harbor
docker load -i harbor.v2.1.0.tar.gz
  1. 升级pgsql schema
docker run -it --rm -v /:/hostfs  goharbor/prepare:v2.1.0  migrate   -i /usr/src/harbor1.10.0.bak/harbor.yml  -o /usr/src/harbor/harbor.yml  -t 2.1.0
  1. 启动harbor
cp /usr/src/harbor1.10.0.bak/harbor.yml /usr/src/harbor/
cd /usr/src/harbor
./install.sh
  1. 测试

image.png

2.1.0版本升级到2.5.0 (带上镜像扫描器)

  1. 停止老版本harbor
cd /usr/src/harbor
docker-compose down
  1. 备份老版本安装路径
cd /usr/src/
mv harbor harbor2.1.0.bak
  1. 下载新版本安装包
tar xf harbor-offline-installer-v2.5.0.tgz
mv harbor /usr/src
cd /usr/src/harbor
docker load -i harbor.v2.5.0.tar.gz
  1. 升级pgsql schema
docker run -it --rm -v /:/hostfs  goharbor/prepare:v2.5.0  migrate   -i /usr/src/harbor2.1.0.bak/harbor.yml  -o /usr/src/harbor/harbor.yml  -t 2.5.0
  1. 启动harbor
cp /usr/src/harbor2.1.0.bak/harbor.yml /usr/src/harbor/
cd /usr/src/harbor
./install.sh --with-trivy
  1. 测试

image.png

参考文档

搜索资料

  • https://blog.csdn.net/zhuxinquan61/article/details/104933518
  • https://stephenzhou.net/2019/06/04/harbor-upgrade/
  • https://blog.51cto.com/lidabai/5678405
  • https://blog.51cto.com/lidabai/5278004

官方资料

  • Harbor upgrade and database migration guide(v1.6.0)
  • Harbor upgrade and migration guide(v1.8.0)
  • https://github.com/goharbor/harbor/blob/release-2.0.0/docs/administration/upgrade/_index.md
举报

相关推荐

0 条评论