从 Linux 包迁移到 Helm chart

本指南将帮助您从基于软件包的极狐GitLab 安装迁移到 Helm chart。

前提条件

在迁移之前,必须满足一些前提条件:

  • 基于包的极狐GitLab 实例必须已启动并正在运行。运行 gitlab-ctl status 并确认没有服务报告 down 状态。
  • 在迁移之前验证完整性是一个很好的做法。
  • 需要基于 Helm chart 的部署,应运行与基于包的安装相同的极狐GitLab 版本。
  • 您需要设置基于 Helm chart 的部署将使用的对象存储。对于生产用途,我们建议您使用外部对象存储并准备好访问它的登录凭据。如果您使用内建的 MinIO 服务,阅读文档了解如何从中获取登录凭据。

迁移步骤

  1. 将任何现有数据从基于包的安装迁移到对象存储:

    1. 迁移到对象存储

    2. 访问基于软件包的 GitLab 实例并确保迁移数据可用。例如检查用户、群组和项目头像是否良好呈现,添加到议题的图像和其它文件是否正确加载等。

  2. 创建备份 tarball 并排除已经迁移的上传文件:

    sudo gitlab-rake gitlab:backup:create SKIP=artifacts,lfs,packages,uploads
    

    备份文件将存储在 /var/opt/gitlab/backups 下,除非您明确更改它。

  3. 从基于包的安装恢复 到 Helm chart,从 secret 开始。您需要将 /etc/gitlab/gitlab-secrets.json 的值迁移到 Helm 将使用的 YAML 文件中。
  4. 重新启动所有 pod 以确保应用更改:

    kubectl delete pods -lrelease=<helm release name>
    
  5. 访问基于 Helm 的部署并确认基于包的安装中存在的项目、群组、用户、议题等已恢复。此外,验证上传的文件(头像、上传到议题的文件等)是否加载正常。