지오 사이트 관리자 영역

Tier: 프리미엄, 얼티메이트 Offering: Self-managed

GitLab 지오 사이트를 위한 다양한 설정을 구성할 수 있습니다. 자세한 내용은 지오 문서를 참조하세요.

주 사이트 또는 보조 사이트 중 하나에서:

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

공통 설정

모든 GitLab 지오 사이트에는 다음과 같은 설정이 있습니다:

설정 설명
Primary 이것은 지오 사이트를 사이트로 표시합니다. 사이트는 하나만 있을 수 있습니다.
Name 지오 사이트의 고유 식별자입니다. 지역 이름을 사용하는 것이 매우 권장됩니다. “런던 사무실” 또는 “us-east-1”과 같은 좋은 예시입니다. “주”, “보조”, “지오”, “DR”과 같은 단어를 피하는 것이 좋습니다. 이렇게 함으로써 장애 조치 과정이 더 쉬워집니다. 물리적 위치가 변경되지 않지만 지오 사이트 역할은 변경될 수 있기 때문입니다. 단일 지오 사이트의 모든 노드는 동일한 사이트 이름을 사용합니다. 노드는 PostgreSQL 데이터베이스에서 자신들의 지오 사이트 레코드를 찾기 위해 /etc/gitlab/gitlab.rbgitlab_rails['geo_node_name'] 설정을 사용합니다. 만약 gitlab_rails['geo_node_name']이 설정되지 않았다면, 노드의 /external_url과 슬래시가 붙은 값이 대체로 사용됩니다. Name의 값은 대소문자를 구분하며 대부분의 문자가 허용됩니다.
URL 인스턴스의 사용자 대상 URL입니다.

현재 탐색 중인 사이트는 파란색 Current 레이블로 표시되며, 노드는 주 사이트로 가장 먼저 나열됩니다.

보조 사이트 설정

보조 사이트에는 여러 추가 설정이 있습니다:

설정 설명
선택적 동기화 보조 사이트에서 지오 선택적 동기화를 활성화합니다.
저장소 동기화 용량 저장소를 백필하는 경우 이 보조 사이트가 사이트로부터 동시에 요청하는 수입니다.
파일 동기화 용량 파일을 백필하는 경우 이 보조 사이트가 사이트로부터 동시에 요청하는 수입니다.

지오 백필

보조 사이트는 사이트로부터 저장소 및 파일의 변경 사항을 통지받으며, 항상 가능한 빨리 동기화를 시도합니다.

백필은 보조 사이트에 추가된 이전 저장소 및 파일을 채우는 작업입니다. 매우 많은 수의 저장소와 파일이 있을 수 있기 때문에 모두 동시에 다운로드하려고 하는 것은 현실적이지 않습니다. 따라서 GitLab은 이러한 작업의 동시성에 상한선을 둡니다.

백필에 걸리는 시간은 최대 동시성에 따라 달라지지만, 더 높은 값은 사이트에 더 많은 압력을 가합니다. 제한은 구성 가능합니다. 사이트에 여유 용량이 많다면 값들을 증가시켜 백필을 더 짧은 시간에 완료할 수 있습니다. 만약 사이트가 심하게 로드되어 백필이 표준 요청을 위해 가용성을 감소시킨다면 값들을 감소시킬 수 있습니다.

내부 URL 설정

  • 보조 사이트에서 내부 URL을 설정하는 것은 GitLab 14.7에서 소개되었습니다.

주 사이트와 보조 사이트 간 동기화를 위한 다른 URL을 설정할 수 있습니다.

사이트의 내부 URL은 보조 사이트가 연락하기 위해 사용합니다 (예: 저장소를 동기화하기 위해). 내부 URL은 사용자가 사용하는 외부 URL과는 다릅니다. 내부 URL은 개인 주소일 필요는 없습니다.

지오 보조 프록시링이 활성화된 경우 사이트는 보조 사이트의 내부 URL을 직접적으로 연락하기 위해 사용합니다.

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

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

활성화된 경우, 지오의 관리자 영역은 각 사이트의 복제 세부 정보를 바로 사이트의 UI와 지오 보조 프록시를 통해 표시합니다.

경고: 우리는 지오 사이트 구성 시 HTTPS 연결을 권장합니다. HTTPS를 사용하는 경우 사이트와 보조 사이트 간 통신이 끊기지 않도록 하기 위해 내부 URL을 TLS로 종료된 로드 밸런서를 가리키도록 사용자 정의하는 것이 좋습니다.

경고: GitLab 13.3부터 13.11까지 사용자가 접근할 수 없는 내부 URL을 사용하는 경우, OAuth 권한 부여 흐름이 제대로 작동하지 않습니다. 외부 URL 대신 내부 URL로 리디렉션되기 때문입니다.

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

보조 사이트는 각 Geo 사이트에 대해 고유한 name이 설정되면 외부 URL을 동일하게 사용할 수 있습니다. gitlab.rb 설정 gitlab_rails['geo_node_name']은 다음과 같아야 합니다.

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

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