Geo를 사용하여 GitLab Dedicated로 마이그레이션
Geo를 사용하여 GitLab Self-Managed에서 GitLab Dedicated로 마이그레이션.
Geo 마이그레이션을 위해서는 GitLab Self-Managed 기본 인스턴스의 시크릿이 필요합니다. 마이그레이션 후 GitLab Dedicated가 데이터를 복호화할 수 있도록 하기 위해서입니다. 이 시크릿에는 데이터베이스 암호화 키, CI/CD 변수 및 기타 민감한 구성 세부 정보가 포함됩니다. SSH 호스트 키는 선택 사항이지만 강력히 권장됩니다. SSH 호스트 키를 보존하면 마이그레이션 후 사용자가 SSH로 git clone 또는 git pull 을 실행할 때 SSH 호스트 키 확인 실패를 방지할 수 있습니다. 자체 도메인을 사용할 계획이라면 특히 중요합니다. 수집 스크립트는 파일 암호화 도구인 age 를 사용하여 Switchboard에 업로드하기 전에 시크릿을 안전하게 암호화합니다. 마이그레이션 시크릿 수집 및 업로드 # GitLab Dedicated 인스턴스 생성 시 Geo 마이그레이션 시크릿을 수집하고 업로드합니다. 사전 요건: GitLab Self-Managed 기본 인스턴스에 대한 관리자 액세스 Python 3.x Switchboard의 Geo migration secrets 페이지에서 age 공개 키 GitLab 클러스터에 액세스하도록 구성된 kubectl (Kubernetes 설치의 경우만) 마이그레이션 시크릿을 수집하고 업로드하려면: Switchboard 에 로그인합니다. Geo migration secrets 페이지에서 설치 유형에 맞는 수집 스크립트를 다운로드합니다. 선택 사항. 오프라인 환경의 경우, 실행하기 전에 age 바이너리를 수집 스크립트에 포함시킵니다. 자세한 내용은 오프라인 환경 을 참조하십시오. 설치 유형에 맞는 수집 스크립트를 실행하고 <age_public_key> 를 페이지에 표시된 키로 교체합니다: Linux 패키지 설치의 경우, Rails 노드에서 다음 명령을 실행합니다: python3 collect_secrets_linux_package.py <age_public_key> /etc/gitlab/gitlab-secrets.json , /var/opt/gitlab/gitlab-rails/etc/database.yml , 및 /etc/ssh/ 에 대한 읽기 액세스가 필요합니다. Kubernetes 설치의 경우, kubectl 액세스 권한이 있는 워크스테이션에서 다음 명령을 실행합니다: python3 collect_secrets_k8s.py <age_public_key> 기본값을 재정의하려면 추가 플래그를 전달할 수 있습니다. 자세한 내용은 Kubernetes 수집 스크립트 플래그 를 참조하십시오. 선택 사항. SSH 호스트 키만 수집하려면 명령에 --hostkeys-only 플래그를 추가합니다. 스크립트는 다음을 생성합니다: migration_secrets.json.age : GitLab 시크릿(필수) ssh_host_keys.json.age : SSH 호스트 키(선택 사항이지만 권장) migration_secrets.json.age 파일을 업로드합니다. 선택 사항.
