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

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

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

从 Sidekiq pod 中获取它:

  1. 找出 Sidekiq pod 的名称:

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

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

    yaml
    1uploads: 2 enabled: true 3 object_store: 4 enabled: true 5 remote_directory: gitlab-uploads 6 proxy_download: true 7 connection: 8 provider: AWS 9 region: <S3 region> 10 aws_access_key_id: "<access key>" 11 aws_secret_access_key: "<secret access key>" 12 host: <Minio host> 13 endpoint: <Minio endpoint> 14 path_style: true
  4. 使用此信息在 /etc/gitlab/gitlab.rb 文件中,为基于包的部署配置对象存储

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