Linux 패키지에서 Helm 차트로 마이그레이션

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

이 안내서는 패키지 기반 GitLab 설치에서 Helm 차트로의 마이그레이션을 돕습니다.

전제 조건

마이그레이션 전 몇 가지 사전 조건이 필요합니다:

  • 패키지 기반 GitLab 인스턴스가 가동 중이어야 합니다. gitlab-ctl status를 실행하고 서비스 중 하나라도 다운 상태가 아닌지 확인하세요.
  • 마이그레이션 전에 Git 저장소의 무결성을 확인하는 것이 좋은 실천입니다.
  • 패키지 기반 설치와 동일한 GitLab 버전이 실행 중인 Helm 차트 기반 배포가 필요합니다.
  • Helm 차트 기반 배포에서 사용할 객체 저장소를 설정해야 합니다. 운영용으로 외부 객체 저장소를 사용하는 것이 좋으며, 선택하신 경우 접근 자격 증명을 준비하세요. 내장된 MinIO 서비스를 사용하는 경우 문서를 참조하여 로그인 자격 증명을 가져오는 방법을 알아보세요.

마이그레이션 단계

  1. 패키지 기반 설치에서 기존 데이터를 객체 저장소로 마이그레이션하세요:

    1. 객체 저장소로 마이그레이션.

    2. 패키지 기반 GitLab 인스턴스를 방문하여 마이그레이션된 데이터가 사용 가능한지 확인하세요. 예를 들어 사용자, 그룹, 프로젝트 아바타가 정상적으로 렌더링되는지, 이슈에 추가된 이미지 및 기타 파일이 올바르게 로드되는지 등을 확인하세요.

  2. 백업 tar볼을 생성하고 이미 마이그레이션한 디렉터리를 모두 제외하세요.

    로컬 백업(기본값)의 경우 백업 파일은 /var/opt/gitlab/backups에 저장되며, 위치를 명시적으로 변경하지 않은 경우에 해당합니다. 원격 저장소 백업의 경우, 백업 파일은 구성된 버킷에 저장됩니다.

  3. 패키지 기반 설치에서 복원하여 시크릿부터 시작하여 Helm에 의해 사용될 YAML 파일로 /etc/gitlab/gitlab-secrets.json의 값을 마이그레이션해야 합니다.
  4. 변경 사항이 적용되도록 모든 팟을 재시작하세요:

    kubectl delete pods -lrelease=<helm release name>
    
  5. Helm 기반 배포를 방문하여 패키지 기반 설치에 있던 프로젝트, 그룹, 사용자, 이슈 등이 복원되었는지 확인하세요. 또한 업로드된 파일(아바타, 이슈에 업로드된 파일 등)이 올바르게 로드되었는지 확인하세요.