Geo 사이트 업그레이드

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

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

  1. 업그레이드할 버전 또는 이전 버전에 따라 버전별 업그레이드 단계:
  2. 모든 업그레이드에 대한 일반 업그레이드 단계.

일반 업그레이드 단계

note
이 일반 업그레이드 단계는 다중 노드 설정에서 다운타임을 요구합니다.
다운타임을 피하고 싶다면 제로 다운타임 업그레이드를 사용하는 것을 고려하세요.

새 GitLab 버전이 릴리스될 때 Geo 사이트를 업그레이드하기 위해 주 노드 및 모든 보조 사이트를 업그레이드하세요:

  1. 선택 사항. 각 보조 사이트에서 복제를 일시 중지하여 보조 사이트의 재해 복구(DR) 기능을 보호합니다.
  2. 주 노드의 각 노드에 SSH로 접속합니다.
  3. 주 노드에서 GitLab 업그레이드.
  4. 주 노드에서 테스트를 수행합니다. 특히 1단계에서 DR을 보호하기 위해 복제를 일시 중지한 경우에는 더더욱 그렇습니다. 업그레이드 문서에 업그레이드 후 테스트를 위한 몇 가지 제안이 있습니다.
  5. 주 노드보조 사이트의 /etc/gitlab/gitlab-secrets.json 파일에 있는 비밀이 동일한지 확인합니다. 파일은 모든 노드에서 동일해야 합니다.
  6. 보조 사이트의 각 노드에 SSH로 접속합니다.
  7. 보조 사이트에서 GitLab 업그레이드.
  8. 1단계에서 복제를 일시 중지한 경우, 각 보조 사이트에서 복제를 재개합니다.
    그 후 각 보조 사이트에서 Puma와 Sidekiq를 재시작합니다. 이는 이전에 업그레이드된 주 노드에서 현재 복제된 최신 데이터베이스 스키마에 대해 초기화되도록 하기 위함입니다.

    sudo gitlab-ctl restart sidekiq  
    sudo gitlab-ctl restart puma  
    
  9. 테스트 주 노드보조 사이트를 확인하고 각 버전을 확인합니다.

업그레이드 후 상태 확인

업그레이드 프로세스가 완료된 후, 모든 것이 제대로 작동하는지 확인하고 싶을 수 있습니다:

  1. 주 노드보조 사이트의 애플리케이션 노드에서 Geo Rake 작업을 실행합니다. 모든 것이 초록색이어야 합니다:

    sudo gitlab-rake gitlab:geo:check  
    
  2. 주 노드의 Geo 대시보드에서 오류를 확인합니다.
  3. 주 노드에 코드를 푸시하여 데이터 복제가 제대로 이루어지는지 보조 사이트에서 확인합니다.

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