从 Helm Chart 迁移到 Linux 包

这将帮助您从基于软件包安全的极狐GitLab 实例迁移到 Helm chart。

前提条件

在迁移之前,需要满足一些条件:

  • 基于软件包安装的极狐GitLab 必须运行良好。运行 gitlab-ctl status 并确认没有服务处于 down 状态。
  • 在迁移之前验证 Git 仓库的完整性是很好的实践。
  • 需要确保基于 Helm chart 部署的极狐GitLab 版本和基于软件包安装的实例版本是一样的。
  • 您需要为 Helm chart 的部署设置好对象存储。对于生产使用来说,我们推荐您使用一个外部对象存储并且要有访问它的登录凭据。如果您正在使用内置的 MinIO,阅读文档了解如何从中获取登录凭据。

迁移步骤

  1. 将基于软件包安装实例的所有现有数据迁移到对象存储:

    a. 迁移至对象存储。 b. 访问基于软件包安装的极狐GitLab 实例并确认迁移的数据是可用的。比如,检查用户、群组和项目的头像是否能被很好的渲染、添加到议题中的图片或者文件能被正确的加载等。

  2. 创建备份 tar 包要将所有已经迁移的目录排除在外

    对本地备份来说(默认的),备份文件存储在 /var/opt/gitlab/backups 目录下,除非显式地修改了存储位置。对远端备份来说,备份文件存储在配置的存储桶中。

  3. 将基于软件包安装的实例恢复到 Helm chart 中安装的实例,从密钥开始。你需要将 /etc/gitlab/gitlab-secrets.json 文件中的值迁移到 Helm 所使用的 YAML 文件中。
  4. 重启所有的 pod 以确保变更得到了应用:

    kubectl delete pods -lrelease=<helm release name>
    
  5. 查看基于 Helm 部署的实例并确认项目、群组、用户、议题等。这些在基于软件包安装实例中存在的数据被正确恢复。另外,验证上传的文件(头像、上传到议题中的文件等)能被正确加载。