自建Harbor如何升级


本指南涵盖升级和迁移到 v2.9.0。本指南仅涵盖从 v2.7.0 及更高版本到当前版本的迁移。如果您要从早期版本升级,请参阅早期 Harbor 版本的迁移指南

如果您要升级使用 Helm 部署的 Harbor 实例,请参阅升级使用 Helm 部署的 Harbor

将现有 Harbor 实例升级到较新版本时,您可能需要迁移 harbor.yml。由于迁移可能会更改数据库架构和设置harbor.yml,因此您应始终在迁移之前备份数据。

重要升级说明
同样,您必须在任何数据迁移之前备份数据。
在 Harbor v2.5 中,如果使用外部数据库,请确保 PostgreSQL 版本 >= 10。

Harbor升级及数据迁移

登录到 Harbor 主机,如果仍在运行,请停止并删除现有的 Harbor 实例。

cd harbor 
docker-compose down 

备份 Harbor 的当前文件,以便您可以在必要时回滚到当前版本。

mv harbor /my_backup_dir/harbor 

备份数据库,默认位于目录中 /data/database。

cp -r /data/database /my_backup_dir/ 

https://github.com/goharbor/harbor/releases 获取最新的 Harbor 发布包并解压。有关更多信息,请参阅下载 Harbor 安装程序

升级 Harbor 之前,需要先进行迁移。迁移工具位于以 docker 映像形式提供的 harbor-prepare 工具中。您可以从 docker hub 拉取镜像。在以下命令中:

docker pull goharbor/prepare:[tag] 
# 例:
# docker pull goharbor/prepare:v2.9.0

或者,如果您使用脱机安装程序包,则可以从脱机安装程序包中包含的映像 tarball 加载它。在以下命令中将 [tag] 替换为新的 Harbor 版本,例如 v1.10.0:

tar zxf <offline package> 
docker image load -i harbor/harbor.[version].tar.gz 
# 例:
# tar zxf harbor-offline-installer-v2.9.0.tgz 
# docker image load -i harbor/harbor.v2.9.0.tar.gz 

复制到 /path/to/old/harbor.yml 并升级它。

docker run -it --rm -v /:/hostfs goharbor/prepare:[tag] migrate -i ${path to harbor.yml} 
# 例:
# docker run -it --rm -v /:/hostfs goharbor/prepare:v2.9.0 migrate -i /opt/harbor/harbor.yml

注意:数据库的架构升级和数据迁移是在 Harbor 启动时由 core 执行的。如果迁移失败,请查看核心日志进行调试。

在该 ./harbor 目录中,运行 ./install.sh 脚本以安装新的 Harbor 实例。要使用 Trivy 安装 Harbor,请参阅运行安装程序脚本以获取更多信息。

如果您需要回滚到 Harbor 之前的版本,请参阅从升级回滚

声明:初心|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 自建Harbor如何升级


愿你勿忘初心,并从一而终