내장 MinIO 서비스를 사용하여 객체 저장소 사용하기

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

package-based installation에서 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 지역>
        aws_access_key_id: "<액세스 키>"
        aws_secret_access_key: "<비밀 액세스 키>"
        host: <Minio 호스트>
        endpoint: <Minio 엔드포인트>
        path_style: true
    
  4. 이 정보를 사용하여 객체 저장소를 구성합니다. 이는 패키지 기반 배포의 /etc/gitlab/gitlab.rb 파일에 설정하는 것입니다.

    참고: 클러스터 외부에서 MinIO 서비스에 연결하려면 MinIO 호스트 URL만 있으면 됩니다. Helm 차트 기반 설치는 해당 URL로 오는 요청을 자동으로 해당 엔드포인트로 리디렉션하도록 설정되어 있습니다. 따라서 /etc/gitlab/gitlab.rb의 연결 설정에서 endpoint 값을 설정할 필요는 없습니다.