Geo 사이트 관리자 영역
Offering: Self-managed
GitLab Geo 사이트를 구성할 수 있습니다. 자세한 내용은 Geo 문서를 참조하세요.
주(primary) 사이트 또는 보조(secondary) 사이트에서:
- 왼쪽 사이드바에서 맨 아래에서 관리자 영역을 선택합니다.
- Geo > 사이트를 선택합니다.
공통 설정
모든 Geo 사이트에는 다음과 같은 설정이 있습니다:
설정 | 설명 |
---|---|
Primary | Geo 사이트를 primary 사이트로 지정합니다. primary 사이트는 하나만 있을 수 있습니다. |
이름 | Geo 사이트의 고유 식별자입니다. 이름으로 물리적 위치를 사용하는 것이 매우 권장됩니다. “런던 사무실” 또는 “us-east-1”과 같은 좋은 예시가 있습니다. “primary”, “secondary”, “Geo”, “DR”과 같은 단어는 피하는 것이 좋습니다. 물리적 위치는 변하지 않지만 Geo 사이트 역할은 변경될 수 있기 때문에 장애 조치 과정이 더 쉬워집니다. 단일 Geo 사이트의 모든 노드는 동일한 사이트 이름을 사용합니다. 노드는 PostgreSQL 데이터베이스에서 Geo 사이트 레코드를 찾기 위해 /etc/gitlab/gitlab.rb 의 gitlab_rails['geo_node_name'] 설정을 사용합니다. gitlab_rails['geo_node_name'] 이 설정되지 않은 경우 노드의 /external_url 에 슬래시를 붙인 것이 대체값으로 사용됩니다. 이름 의 값은 대소문자를 구분하며 대부분의 문자가 허용됩니다.
|
URL | 인스턴스의 사용자 고면 URL입니다. |
현재 탐색 중인 사이트는 파란색 현재
라벨로 표시되며,
primary 노드는 Primary 사이트
로 먼저 나열됩니다.
보조(secondary) 사이트 설정
Secondary 사이트에는 여러 추가 설정이 있습니다:
설정 | 설명 |
---|---|
선택적 동기화 | 이 secondary 사이트에 대해 Geo selective sync를 활성화합니다. |
리포지터리 동기화 용량 | 리포지터리를 백필할 때 secondary 사이트가 primary 사이트로 동시에 요청할 수 있는 수입니다. |
파일 동기화 용량 | 파일을 백필할 때 secondary 사이트가 primary 사이트로 동시에 요청할 수 있는 수입니다. |
Geo 백필
Secondary 사이트는 primary 사이트로부터 리포지터리 및 파일의 변경 사항을 알리고, 가능한 빨리 해당 변경 사항을 동기화하려고 시도합니다.
백필은 secondary 사이트에 secondary 사이트가 데이터베이스에 추가되기 전에 존재했던 리포지터리 및 파일로 채우는 작업을 말합니다. 매우 많은 수의 리포지터리와 파일이 있을 수 있기 때문에 이를 한꺼번에 다운로드하려는 것은 현실적이지 않으므로, GitLab은 이러한 작업의 동시성에 상한선을 둡니다.
백필에 걸리는 시간은 최대 동시성에 따라 다르지만, 더 높은 값은 primary 사이트에 더 많은 부하를 줍니다. 이러한 제한은 구성 가능합니다. primary 사이트에 여유 용량이 많은 경우 값들을 높여 백필을 더 짧은 시간에 완료할 수 있습니다. 만약 primary 사이트가 과부하 상태이고 백필로 인해 일반 요청에 대한 가용성이 줄어든다면 값들을 낮출 수 있습니다.
내부 URL 설정
- 보조(secondary) 사이트에서 내부 URL을 설정하는 것은 GitLab 14.7에서 소개되었습니다.
주(primary) 사이트와 보조(secondary) 사이트 간 동기화를 위해 다른 URL을 설정할 수 있습니다.
primary 사이트의 내부 URL은 보조(secondary) 사이트가 연락하고 (예: 리포지터리 동기화)할 때 사용됩니다. 내부 URL은 External URL과 구분되며, 사용자가 사용합니다. 내부 URL은 비공개 주소일 필요는 없습니다.
Geo secondary proxying이 활성화된 경우, 주(primary)가 이를 통해 보조(secondary)의 내부 URL을 직접 사용합니다.
내부 URL은 외부 URL로 기본 설정됩니다. 변경하려면:
- 왼쪽 사이드바에서 맨 아래에서 관리자 영역을 선택합니다.
- Geo > 사이트를 선택합니다.
- 사용자 정의하려는 사이트에서 편집을 선택합니다.
- 내부 URL을 편집합니다.
- 변경 사항 저장을 선택합니다.
활성화된 경우, Geo를 위한 관리자 영역에서 각 사이트의 복제 세부 정보를 주(primary) 사이트의 UI에서 직접 그리고 활성화된 경우 Geo 보조 프록시를 통해 확인할 수 있습니다.
로드 밸런서 뒤의 여러 보조(secondary) 사이트
Secondary 사이트는 고유한 name
이 각 Geo 사이트에 설정되면
동일한 외부 URL을 사용할 수 있습니다. gitlab.rb
설정
gitlab_rails['geo_node_name']
은:
-
puma
,sidekiq
, 또는geo_logcursor
를 실행하는 각 GitLab 인스턴스에 설정되어야 합니다. - Geo 사이트 이름과 일치해야 합니다.
인증 오류와 교차 사이트 요청 오류를 피하기 위해 로드 밸런서는 고정 세션을 사용해야 합니다.