本指南涵盖升级和迁移到 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 之前的版本,请参阅从升级回滚。
Comments | NOTHING