目标
将老版本的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
升级版本步骤概述
- 停止老版本harbor
- 备份老版本安装路径
- 下载新版本所需的安装包
- 下载迁移工具镜像
- 升级集群架构,harbor.cfg并迁移数据
- 启动新版本harbor
- 不符合预期的配置调整
- 问题汇总
1.1.2版本升级到1.2.0
- 停止老版本harbor
cd /usr/src/harbor
docker-compose down
- 备份老版本安装路径
cd /usr/src/
mv harbor harbor1.1.2.bak
- 下载新版本安装包
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
- 下载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
- 升级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
- 替换harbor.cfg
cp $harbor_cfg /usr/src/harbor
- 启动harbor
cd /usr/src/harbor
./install.sh
1.2.0版本升级到1.5.0
- 停止老版本harbor
cd /usr/src/harbor
docker-compose down
- 备份老版本安装路径
cd /usr/src/
mv harbor harbor1.2.0.bak
- 下载新版本安装包
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
- 下载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
- 升级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
- 替换harbor.cfg
cp $harbor_cfg /usr/src/harbor
- 启动harbor
cd /usr/src/harbor
./install.sh
- 功能验证要点
- 推拉镜像
- 页面功能
- 容器状态,日志
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部署。
- 停止老版本harbor
cd /usr/src/harbor
docker-compose down
- 备份老版本安装路径
cd /usr/src/
mv harbor harbor1.5.0.bak
- 下载新版本安装包
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
- 下载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
- 升级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
- 替换harbor.cfg
cp $harbor_cfg /usr/src/harbor
- 启动harbor
cd /usr/src/harbor
./install.sh
1.6.0版本升级到1.8.0
- 停止老版本harbor
cd /usr/src/harbor
docker-compose down
- 备份老版本安装路径
cd /usr/src/
mv harbor harbor1.6.0.bak
- 下载新版本安装包
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
- 升级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
- 启动harbor
cd /usr/src/harbor
./install.sh
- 验证
1.8.0版本升级到1.10.0
- 停止老版本harbor
cd /usr/src/harbor
docker-compose down
- 备份老版本安装路径
cd /usr/src/
mv harbor harbor1.8.0.bak
- 下载新版本安装包
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
- 升级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
- 启动harbor
cp /usr/src/harbor1.8.0.bak/harbor.yml /usr/src/harbor/
cd /usr/src/harbor
./install.sh
- 测试
1.10.0版本升级到2.1.0
- 停止老版本harbor
cd /usr/src/harbor
docker-compose down
- 备份老版本安装路径
cd /usr/src/
mv harbor harbor1.10.0.bak
- 下载新版本安装包
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
- 升级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
- 启动harbor
cp /usr/src/harbor1.10.0.bak/harbor.yml /usr/src/harbor/
cd /usr/src/harbor
./install.sh
- 测试
2.1.0版本升级到2.5.0 (带上镜像扫描器)
- 停止老版本harbor
cd /usr/src/harbor
docker-compose down
- 备份老版本安装路径
cd /usr/src/
mv harbor harbor2.1.0.bak
- 下载新版本安装包
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
- 升级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
- 启动harbor
cp /usr/src/harbor2.1.0.bak/harbor.yml /usr/src/harbor/
cd /usr/src/harbor
./install.sh --with-trivy
- 测试
参考文档
搜索资料
- 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