k8s专题[7.harbor从1.7.5升级到1.9.0]

升级步骤

前文:harbor1.9新功能众多,包括tag 保留和配额、可与 CI/CD 工具集成的 Webhook 通知、数据复制、Syslog 集成以及 CVE 例外策略等安全功能。harbor在1.8版本改变较大,因此需要分两步进行升级,升级到v1.8.0,再升级到v1.9.0。

准备工作:
1.下载harbor1.8.0和1.9.0版本的离线安装包

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

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

2.创建文件备份的目录

mkdir /data_backup1

mkdir /data_backup2

3.从docker hub拉取镜像

docker pull goharbor/harbor-migrator:v1.8.0

docker pull goharbor/harbor-migrator:v1.9.0

一、harbor1.7.5升级到1.8.0
1.关闭harbor

cd /usr/local/harbor

docker-compose down

2.数据备份

mv /usr/local/harbor /data_backup1/

3.解压离线安装包

tar xf harbor-offline-installer-v1.8.0.tgz -C /usr/local/

4.升级harbor配置文件

docker run -it –rm -v /data_backup1/harbor/harbor.cfg:/harbor-migration/harbor-cfg/harbor.cfg -v /usr/local/harbor/harbor.yml:/harbor-migration/harbor-cfg-out/harbor.yml goharbor/harbor-migrator:v1.8.0 –cfg up

由于1.8后的版本docker-compse已交由harbor.yml控制,因此需要转化为将cfg文件转化为yml文件

5.安装并启动

cd /usr/local/harbor

sh install.sh –with-clair

看成执行成功就可以登录访问harbor了

6.测试

登录后看成版本是否为1.8.0,对应的镜像在不在

并尝试上传和拉取镜像,都成功则升级成功

二、harbor1.8.0升级到1.9.0
1.关闭harbor

cd /usr/local/harbor

docker-compose down

2.数据备份

mv /usr/local/harbor /data_backup2/

3.解压离线安装包

tar xf harbor-offline-installer-v1.9.0.tgz -C /usr/local/

4.升级harbor配置文件

!!!由于从1.8版本开始后不再需要cfg文件,因此需要升级的配置文件是yml,而且在1.9版本中新加入了一个参数chart,所以需要在1.8的yml文件中添加该参数

网上升级到1.9以上分享的人不多,没有找到完全一致的解决方案,因此这个坑要特别注意

对应问题可见 https://github.com/goharbor/harbor/issues/9146

vim /data_backup2/harbor/harbor.yml ,在其中加入下面一段

chart:
absolute_url: disabled

docker run -it –rm -v /data_backup2/harbor/harbor.yml:/harbor-migration/harbor-cfg/harbor.yml -v /usr/local/harbor/harbor.yml:/harbor-migration/harbor-cfg-out/harbor.yml goharbor/harbor-migrator:v1.9.0 –cfg up

5.安装并启动

cd /usr/local/harbor

sh install.sh –with-clair

看成执行成功就可以登录访问harbor了

6.测试

登录后看成版本是否为1.9.0,对应的镜像在不在

成功的版本界面如下图
harbor升级截图

总结

  • 注意尝试上传和拉取镜像,都成功则升级成功
  • 稳定运行一段时间,将旧版本的备份数据清理
# 推荐文章
  1.docker常用容器管理命令
  2.docker镜像管理
  3.dockerfile指令
  4.深刻理解Docker镜像大小
  5.k8s专题[1.k8s基础概念]

评论


:D 一言句子获取中...