Geo 사이트 관리자 영역

Tier: Premium, Ultimate Offering: Self-Managed

GitLab Geo 사이트를 구성할 수 있습니다. 자세한 내용은 Geo 문서를 참조하세요.

기본 사이트 또는 보조 사이트에서:

  1. 왼쪽 사이드바에서 아래쪽에 있는 관리자 영역을 선택합니다.
  2. Geo > 사이트를 선택합니다.

공통 설정

모든 Geo 사이트는 다음과 같은 설정이 있습니다:

설정 설명
Primary 이것은 Geo 사이트를 primary(주) 사이트로 표시합니다. primary(주) 사이트는 하나만 존재할 수 있습니다.
Name Geo 사이트의 고유 식별자입니다. “런던 오피스” 또는 “us-east-1”과 같이 물리적 위치를 이름으로 사용하는 것이 매우 권장됩니다. “primary(주)”, “secondary(부)”, “Geo”, “DR”과 같은 단어는 피하는 것이 좋습니다. 물리적 위치는 변경되지 않지만 Geo 사이트 역할은 변경될 수 있기 때문에 재해 복구 프로세스가 더 쉬워집니다. 단일 Geo 사이트 내의 모든 노드는 동일한 사이트 이름을 사용합니다. 노드는 PostgreSQL 데이터베이스에서 Geo 사이트 레코드를 찾기 위해 /etc/gitlab/gitlab.rbgitlab_rails['geo_node_name'] 설정을 사용합니다. gitlab_rails['geo_node_name']이 설정되지 않은 경우 노드의 /로 끝나는 external_url이 대체로 사용됩니다. Name의 값은 대소문자를 구분하며 대부분의 문자가 허용됩니다.
URL 인스턴스의 사용자 직면 URL입니다.

현재 탐색 중인 사이트는 파란 Current 라벨로 표시되며, primary(주) 노드는 Primary site로 처음에 나열됩니다.

보조 사이트 설정

보조(secondary) 사이트에는 여러 추가 설정이 있습니다.

설정 설명
선택적 동기화 보조(secondary) 사이트를 위해 Geo 선택적 동기화를 활성화합니다.
리포지터리 동기화 용량 보조(secondary) 사이트가 리포지터리를 백필하는 경우 primary(주) 사이트로의 동시 요청 수입니다.
파일 동기화 용량 보조(secondary) 사이트가 파일을 백필하는 경우 primary(주) 사이트로의 동시 요청 수입니다.

Geo 백필

보조(secondary) 사이트는 primary(주) 사이트가 리포지터리와 파일에 대한 변경 사항을 알리고 가능한 빨리 해당 변경 사항을 동기화하려고 합니다.

백필은 보조(secondary) 사이트에 보조(secondary) 사이트가 데이터베이스에 추가되기 전에 존재했던 리포지터리와 파일로 채우는 작업입니다. 매우 많은 수의 리포지터리와 파일이 존재할 수 있기 때문에 그 모든 것을 한번에 다운로드하려고 하는 것은 현실적이지 않습니다. 따라서 GitLab은 이러한 작업의 동시성에 상한선을 설정합니다.

백필에 소요되는 시간은 최대 동시성에 따라 다르지만, 높은 값은 primary(주) 사이트에 더 많은 부담을 줍니다. 이 한계는 구성할 수 있습니다. primary(주) 사이트에 충분한 여유 용량이 있는 경우 값들을 늘려 백필을 더 짧은 시간에 완료할 수 있습니다. 만약 primary(주) 사이트가 과부하되어 백필이 표준 요청을 위한 가용성을 줄인다면 값들을 낮출 수 있습니다.

내부 URL 설정

primary(주) 사이트와 secondary 사이트 간의 동기화를 위해 다른 URL을 설정할 수 있습니다.

primary(주) 사이트의 내부 URL은 secondary 사이트가 직접 연락할 때 사용합니다(예: 리포지터리 동기화). 내부 URL의 이름은 사용자가 사용하는 외부 URL과 구별됩니다. 내부 URL은 비공개 주소일 필요가 없습니다.

Geo 보조 프록시 사용가 활성화된 경우, primary(주)은 보조의 내부 URL을 직접 연락합니다.

내부 URL은 기본적으로 외부 URL과 동일합니다. 변경하려면:

  1. 왼쪽 사이드바에서 아래쪽에 있는 관리자 영역을 선택합니다.
  2. Geo > 사이트를 선택합니다.
  3. 사용자 정의하려는 사이트에서 편집을 선택합니다.
  4. 내부 URL을 편집합니다.
  5. 변경 사항 저장을 선택합니다.

활성화된 경우, Geo를 위한 관리자 영역은 초록색을 통해 각 사이트의 복제 세부 정보를 보여주며, 활성화된 경우 Geo 보조 프록시를 통해 primary(주) 사이트 UI에서 직접 복제 세부 정보를 보여줍니다.

caution
저희는 Geo 사이트를 구성하는 동안 HTTPS 연결을 사용하는 것을 권장합니다. HTTPS를 사용할 때 primary(주) 사이트와 보조(secondary) 사이트 간 통신이 정상적으로 이루어지지 않도록 하려면 내부 URL을 TLS를 해제하는 로드 밸런서로 지정해야 합니다.

로드 밸런서 뒤에 여러 보조 사이트

보조(secondary) 사이트는 각 Geo 사이트에 대해 고유한 name이 설정된 경우 동일한 외부 URL을 사용할 수 있습니다. gitlab.rb 설정인 gitlab_rails['geo_node_name']은 다음과 같아야 합니다:

  • 각각 puma, sidekiq, 또는 geo_logcursor를 실행하는 GitLab 인스턴스에 설정되어야 합니다.
  • Geo 사이트 이름과 일치해야 합니다.

인증 실패와 사이트간 요청 오류를 피하기 위해 로드 밸런서는 스티커 세션을 사용해야 합니다.