내장 MinIO 서비스를 객체 리포지터리로 사용하기

Tier: Free, Premium, Ultimate
Offering: Self-Managed

이 마이그레이션 가이드는 패키지 기반 설치에서 Helm 차트로 마이그레이션하고 내장 MinIO 서비스를 객체 리포지터리로 사용하려는 경우에 대한 것입니다. 이것은 테스트 목적으로 더 적합합니다. 프로덕션 환경에서는 외부 객체 리포지터리를 설정하는 것이 좋습니다.

내장 MinIO 클러스터의 액세스 세부 정보를 확인하는 가장 쉬운 방법은 Sidekiq, Webservice 및 Toolbox 포드에서 생성된 gitlab.yml 파일을 확인하는 것입니다.

Sidekiq 포드에서 다음을 수행하세요.

  1. Sidekiq 포드의 이름을 찾습니다.

    kubectl get pods -lapp=sidekiq
    
  2. Sidekiq 포드에서 gitlab.yml 파일을 가져옵니다.

    kubectl exec <sidekiq pod 이름> -- 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 호스트>
          endpoint: <Minio 엔드포인트>
          path_style: true
    
  4. 이 정보를 사용하여 패키지 기반 배포의 /etc/gitlab/gitlab.rb 파일에서 객체 리포지터리를 구성합니다.

    note
    클러스터 외부에서 MinIO 서비스에 연결하려면 MinIO 호스트 URL만으로 충분합니다. Helm 차트 기반 설치는 해당 URL로 들어오는 요청을 자동으로 해당 엔드포인트로 리디렉션하기 위해 구성됩니다. 따라서 /etc/gitlab/gitlab.rb의 연결 설정에서 endpoint 값을 설정할 필요가 없습니다.