使用内建的 MinIO 服务作为对象存储

本迁移指南适用于当您从 基于包的安装 迁移到 Helm chart,并且您希望使用内置的 MinIO 服务进行对象存储时。此操作更适合用于测试目的。如要在生产环境使用,建议设置外部对象存储

了解内建 MinIO 集群访问细节的最简单方法是查看 Sidekiq、Webservice 和 Toolbox pod 中生成的 gitlab.yml 文件。

从 Sidekiq pod 中获取它:

  1. 找出 Sidekiq pod 的名称:

    kubectl get pods -lapp=sidekiq
    
  2. 从 Sidekiq pod 中获取 gitlab.yml 文件:

    kubectl exec <sidekiq pod name> -- cat /srv/gitlab/config/gitlab.yml
    
  3. gitlab.yml 文件中,将有一个用于上传的部分,其中包含对象存储连接的详细信息。 类似于以下内容:

    uploads:
      enabled: true
      object_store:
      enabled: true
      remote_directory: gitlab-uploads
      proxy_download: true
      connection:
        provider: AWS
        region: <S3 region>
        aws_access_key_id: "<access key>"
        aws_secret_access_key: "<secret access key>"
        host: <Minio host>
        endpoint: <Minio endpoint>
        path_style: true
    
  4. 使用此信息在 /etc/gitlab/gitlab.rb 文件中,为基于包的部署配置对象存储。

    note对于从集群外部连接到 MinIO 服务,仅 MinIO 主机 URL 就足够了。基于 Helm charts 的安装被配置为将来自该 URL 的请求自动重定向到相应的端点。因此,您不需要在 /etc/gitlab/gitlab.rb 中的连接设置中设置 endpoint 值。