Geo 사이트 업그레이드

Tier: Premium, Ultimate
Offering: Self-managed
caution
Geo 사이트를 업데이트하기 전에 이 섹션을 주의 깊게 읽어주세요. 특정 버전별 업그레이드 단계를 따르지 않으면 예상치 못한 다운타임이 발생할 수 있습니다. 특정 질문이 있으면 지원팀에 문의하세요. 데이터베이스 주요 버전 업그레이드는 PostgreSQL 복제를 다시 초기화해야 합니다. 이는 리눅스 패키지 및 외부 관리 데이터베이스에 둘 다 해당됩니다. 이로 인해 예상보다 긴 다운타임이 발생할 수 있습니다.

Geo 사이트를 업그레이드하는 과정은 다음을 수행하는 것을 포함합니다:

  1. 특정 버전별 업그레이드 단계를 수행합니다. 이는 업그레이드 대상 버전에 따릅니다.
  2. 모든 업그레이드를 위한 일반적인 업그레이드 단계를 수행합니다.

일반적인 업그레이드 단계

note
이러한 일반적인 업그레이드 단계는 다중 노드 설정에서 다운타임이 필요합니다. 다운타임을 피하려면 제로 다운타임 업그레이드를 고려해보세요.

새로운 GitLab 버전이 출시되면 Geo 사이트를 업그레이드하려면 primary 및 모든 secondary 사이트를 업그레이드하세요:

  1. 선택 사항. 각 secondary 사이트에서 복제 일시 중지하여 secondary 사이트의 재해 복구(DR) 기능을 보호합니다.
  2. primary 사이트의 각 노드에 SSH로 접속합니다.
  3. primary 사이트에서 GitLab 업그레이드를 수행합니다.
  4. 특히 단계 1에서 복제를 일시 중지하여 DR을 보호했다면 primary 사이트에서 테스트를 수행하세요. 업그레이드 문서에서 업그레이드 후 테스트를 위한 몇 가지 제안사항이 있습니다.
  5. primary 사이트와 secondary 사이트의 /etc/gitlab/gitlab-secrets.json 파일에 있는 비밀번호가 동일한지 확인하세요. 파일은 사이트의 모든 노드에서 동일해야 합니다.
  6. secondary 사이트의 노드에 SSH로 접속합니다.
  7. secondary 사이트에서 GitLab 업그레이드를 수행합니다.
  8. 단계 1에서 복제를 일시 중지했다면 각 secondary에서 복제 재개를 수행하세요. 그런 다음, 각 secondary 사이트에서 Puma와 Sidekiq를 재시작하세요. 이는 업그레이드된 데이터베이스 스키마로부터 복제된 것을 확인하기 위함입니다.

    sudo gitlab-ctl restart sidekiq
    sudo gitlab-ctl restart puma
    
  9. 업그레이드 후 상태 확인을 수행하여 primarysecondary 사이트를 테스트하고 각각의 버전을 확인합니다.

업그레이드 후 상태 확인

이제 업그레이드 프로세스가 완료되었으므로 모든 것이 올바르게 작동하는지 확인하고 싶을 것입니다.

  1. primarysecondary 사이트 각각에 대한 애플리케이션 노드에서 Geo Rake 작업을 수행하세요. 모든 것이 정상적으로 표시되어야 합니다.

    sudo gitlab-rake gitlab:geo:check
    
  2. primary 사이트의 Geo 대시보드에서 오류를 확인하세요.
  3. 코드를 primary 사이트로 푸시하여 데이터 복제를 테스트하고 secondary 사이트가 수신하는지 확인하세요.

문제가 발생하면 Geo 문제 해결 가이드를 참조하세요.