harbor被扫出了漏洞,需要升级新版本
正好也想看看有没有新功能,借此机会升级下
其实harbor官网的相关文档非常详细了,跟着说明,基本都是无脑操作
官网地址:https://goharbor.io/docs/2.8.0/administration/upgrade/
根据文档介绍得知:harbor的升级策略是隔两个版本升级
从官网得知升级路线为: v1.10.x --> v2.4.0 --> v2.6.0 --> v2.8.0
我的版本是v2.1.0 依次升级三个版本
我这里采用离线包的升级方式,离线包的下载地址为:https://github.com/goharbor/harbor/releases
找到对应的版本,在assets里面就能下载
下载地址:
https://github.com/goharbor/harbor/releases/download/v2.4.0/harbor-offline-installer-v2.4.0.tgz # harbor-V2.4.0 https://github.com/goharbor/harbor/releases/download/v2.6.0/harbor-offline-installer-v2.6.0.tgz # harbor-V2.6.0
https://github.com/goharbor/harbor/releases/download/v2.8.0/harbor-offline-installer-v2.6.0.tgz # harbor-V2.8.0
升级步骤:
1.进入harbor安装目录,关闭harbor
cd harbor
docker-compose down
2.备份harbor当前目录,便于回滚
cd ..
mv harbor /my_backup_dir/harbor
3.备份数据库,默认情况下为 /data/database
cp -r /data/database /my_backup_dir/
4.上传harbor离线安装包,并用docker load -i 加载
tar zxf <offline package> docker image load -i harbor/harbor.[version].tar.gz
5.复制配置文件,并升级
这里要好好说明下,harbor所有配置全部在harbor.yml 里面配置,包括日志路径,登陆密码,连接地址,数据库密码,ssl配置,trivy安全扫描等
你想要了解的所有细节全在里面,这个文件要仔细看看
还有如果升级版本跨度过大,还是推荐用新配置文件,然后从旧配置文件中提取关键参数,逐个替换的方式,这样配置最全
当然如果升级失败,harbor升级是由harbor-core来负责,可以查看harbor-core的日志
从harbor.yml可以看出,日志路径为 /var/log/harbor/core.log
#进入harbor安装目录(解压后的目录) cd /harbor #复制模板文件 cp harbor.yml.tmpl harbor.yml #按备份完旧文件的参数逐个修改 cat /my_backup_dir/harbor/harbor.yml
vi harbor.yml
运行初始化命令
docker run -it --rm -v /:/hostfs goharbor/prepare:v2.4.0 migrate -i /harbor安装目录/harbor.yml