前言
当前公司使用的harbor版本有一些安全漏洞,所以需要升级。
官方升级链接
https://goharbor.io/docs/2.5.0/administration/upgrade/
一、升级须知
v2.3.2 => v2.5.0
根据 Harbor docs/v2.5.0 描述,需要先升级到 v2.3.0 再升级到 v2.5.0 版本;
可能出现的问题:
jinja2.exceptions.UndefinedError: ‘None’ has no attribute ‘port’
问题:在迁移配置文件时,产生如上错误;
原因:在 http:
下没有任何配置(算是语法错误);
解决:注释 http:
块,然后重新迁移配置;
我们当前运行 v2.3.2 版本,能够直接升级到 v2.5.0 版本;
通过docker-compose部署,所以直接也是通过docker-compose升级
v2.5.5 => v2.7.0
根据 Harbor docs/v2.7.0 描述,需要先升级到 v2.5.0 再升级到 v2.7.0 版本;
我们当前运行 v2.5.5 版本,能够直接升级到 v2.7.0 版本;
背景:
本地升级的harbor是从v1.10升级到v2.2.2,需要从v2.2.2版本升级到v2.5.5,依据官网指引,需要先升级到V2.3.0,然后才能升级到V2.5.5
二、升级步骤
1.停止服务,并备份数据
cd /data/harbor
docker-compose down
rsync -avz /data/harbor/ /data/harbor_bak
2.下载最新版本程序文件
wget https://github.com/goharbor/harbor/releases/download/v2.3.0/harbor-offline-installer-v2.3.0.tgz
wget https://github.com/goharbor/harbor/releases/download/v2.5.5/harbor-offline-installer-v2.5.5.tgz
docker pull goharbor/prepare:v2.3.0
docker pull goharbor/prepare:v2.5.5
3.升级服务
tar -xvf harbor-online-installer-v2.3.0.tgz -C /data/harbor/
cd /data/harbor/
docker image load -i harbor.v2.3.0.tar.gz
docker run -it --rm -v /:/hostfs goharbor/prepare:v2.3.0 migrate -i /data/harbor/harbor.yml
./install.sh --with-chartmuseum --with-trivy --with-notary
(升级条件是docker版本必须是20.10.X以上,18或者19版本的docker存在bug,升级后数据库不会升级导致无法启动)
后续升级V2.5.5是同样的操作