Geo 사이트 업그레이드
GitLab v19.4Offering: GitLab Self-Managed
요약
Geo 사이트를 업데이트하기 전에 이 절들을 주의 깊게 읽습니다. Geo 사이트 업그레이드는 다음 과정으로 이루어집니다. 이 일반 업그레이드 단계는 다중 노드 구성에서 다운타임을 수반합니다. 새 GitLab 버전이 릴리스될 때 Geo 사이트를 업그레이드하려면 기본 사이트와 모든 보조 사이트를 업그레이드합니다.
Geo 사이트를 업데이트하기 전에 이 절들을 주의 깊게 읽습니다. 버전별 업그레이드 단계를 따르지 않으면 예기치 않은 다운타임이 발생할 수 있습니다. 문의할 내용이 있으면 지원 팀에 문의합니다. 데이터베이스 메이저 버전 업그레이드에는 Geo 보조 사이트에 대한 PostgreSQL 복제 재초기화가 필요합니다. 이는 Linux 패키지 데이터베이스와 외부 관리 데이터베이스 모두에 적용됩니다. 그래서 예상보다 긴 다운타임이 발생할 수 있습니다.
Geo 사이트 업그레이드는 다음 과정으로 이루어집니다.
- 업그레이드 대상 버전 또는 이전 버전에 따른 버전별 업그레이드 단계:
- 모든 업그레이드에 공통으로 적용되는 일반 업그레이드 단계.
일반 업그레이드 단계#
이 일반 업그레이드 단계는 다중 노드 구성에서 다운타임을 수반합니다. 다운타임을 피하려면 무중단 업그레이드를 검토합니다.
새 GitLab 버전이 릴리스될 때 Geo 사이트를 업그레이드하려면 기본 사이트와 모든 보조 사이트를 업그레이드합니다.
-
선택 사항. 보조 사이트의 재해 복구(DR) 능력을 보호하려면 각 보조 사이트에서 복제를 일시 중지합니다. 위험이 큰 업그레이드 작업 구간에서 깨끗한 DR 체크포인트를 유지하는 것이 우선이라면 복제를 일시 중지합니다. 업그레이드 중에도 보조 사이트를 최신 상태로 유지하고 읽기 트래픽을 정상적으로 처리하는 것이 우선이라면, 특히 무중단 업그레이드 방식에서는 복제를 일시 중지하지 않습니다.
-
기본 사이트의 각 노드에 SSH로 접속합니다.
-
기본 사이트에서 테스트를 수행합니다. 특히 1단계에서 DR 보호를 위해 복제를 일시 중지한 경우에 필요합니다. 업그레이드 후 테스트에 대한 자세한 내용은 업그레이드 상태 점검 실행을 참고합니다.
-
기본 사이트와 보조 사이트의
/etc/gitlab/gitlab-secrets.json파일에 담긴 시크릿이 같은지 확인합니다. 이 파일은 한 사이트의 모든 노드에서 같아야 합니다. -
보조 사이트의 각 노드에 SSH로 접속합니다.
-
1단계에서 복제를 일시 중지했다면 각 보조 사이트에서 복제를 재개합니다. 그런 다음 각 보조 사이트에서 Puma와 Sidekiq를 다시 시작합니다. 앞서 업그레이드한 기본 사이트에서 복제된 새 데이터베이스 스키마를 기준으로 초기화되도록 하기 위해서입니다.
sudo gitlab-ctl restart sidekiq sudo gitlab-ctl restart puma -
기본 사이트와 보조 사이트를 테스트하고 각각의 버전을 확인합니다.
업그레이드 후 상태 확인#
업그레이드 과정이 끝났으므로 모든 기능이 정상적으로 동작하는지 확인합니다.
-
기본 사이트와 보조 사이트의 애플리케이션 노드에서 Geo Rake 태스크를 실행합니다. 모든 항목이 녹색이어야 합니다.
sudo gitlab-rake gitlab:geo:check -
기본 사이트의 Geo 대시보드에 오류가 있는지 확인합니다.
-
기본 사이트에 코드를 푸시하고 보조 사이트가 이를 수신하는지 확인해 데이터 복제를 테스트합니다.
문제가 발생하면 Geo 문제 해결 가이드를 참고합니다.