Geo와 함께 GitLab 컨테이너 레지스트리 메타데이터 데이터베이스 사용
컨테이너 이미지를 복제하려면 Geo와 함께 GitLab 컨테이너 레지스트리를 사용하십시오. 각 보조 사이트에는 메타데이터 데이터베이스를 위한 별도의 독립적인 PostgreSQL 인스턴스가 있어야 합니다. 기존 Geo 보조 사이트에 컨테이너 레지스트리를 추가하려면:
컨테이너 이미지를 복제하려면 Geo와 함께 GitLab 컨테이너 레지스트리를 사용하십시오. 각 사이트의 컨테이너 레지스트리 메타데이터 데이터베이스는 독립적이며 Postgres 복제를 사용하지 않습니다.
각 보조 사이트에는 메타데이터 데이터베이스를 위한 별도의 독립적인 PostgreSQL 인스턴스가 있어야 합니다.
컨테이너 레지스트리와 Geo가 있는 GitLab 인스턴스 생성#
사전 요건:
- 새 GitLab 인스턴스.
- 데이터가 없는 인스턴스에 대한 구성된 컨테이너 레지스트리.
Geo 지원을 설정하려면:
- 기본 및 보조 사이트에 대한 Geo를 설정합니다. 자세한 내용은 두 개의 단일 노드 사이트에 Geo 설정을 참조하십시오.
- 기본 사이트와 보조 사이트 모두에서 각 사이트마다 별도의 외부 데이터베이스를 사용하여 메타데이터 데이터베이스를 설정합니다.
- 컨테이너 레지스트리 복제를 구성합니다.
기존 Geo 사이트에 컨테이너 레지스트리 추가#
사전 요건:
- 기본 및 보조 사이트로 설정된 두 개의 새 GitLab 인스턴스.
- 데이터가 없는 기본 사이트에 대한 구성된 컨테이너 레지스트리.
기존 Geo 보조 사이트에 컨테이너 레지스트리를 추가하려면:
- 보조 사이트에서 컨테이너 레지스트리를 활성화합니다.
- 기본 사이트와 보조 사이트 모두에서 각 사이트마다 별도의 외부 데이터베이스를 사용하여 메타데이터 데이터베이스를 설정합니다.
- 컨테이너 레지스트리 복제를 구성합니다.
기존 GitLab 인스턴스에 Geo 지원과 컨테이너 레지스트리 추가#
사전 요건:
- 컨테이너 레지스트리가 구성되지 않은 기존 GitLab 인스턴스.
- 기존 Geo 사이트 없음.
기존 인스턴스에 Geo 지원을 추가하고 두 Geo 사이트 모두에 컨테이너 레지스트리를 추가하려면:
- 기존 인스턴스(기본)에 Geo를 설정하고 보조 사이트를 추가합니다. 자세한 내용은 두 개의 단일 노드 사이트에 Geo 설정을 참조하십시오.
- 기본 사이트와 보조 사이트 모두에서:
- 컨테이너 레지스트리를 활성화합니다.
- 각 사이트마다 별도의 외부 데이터베이스를 사용하여 메타데이터 데이터베이스를 설정합니다.
- 컨테이너 레지스트리 복제를 구성합니다.
구성된 컨테이너 레지스트리가 있는 인스턴스에 Geo 지원 추가#
다음 섹션에서는 구성된 컨테이너 레지스트리가 있는 기존 GitLab 인스턴스에 Geo 지원을 추가하는 지침을 제공합니다.
다음 중 하나를 설정할 수 있습니다:
- 외부 데이터베이스 연결.
- 기본 컨테이너 레지스트리 메타데이터 데이터베이스.
외부 컨테이너 레지스트리 메타데이터 데이터베이스 사용#
사전 요건:
- 구성된 컨테이너 레지스트리가 있는 기존 GitLab 인스턴스.
- 기존 Geo 사이트 없음.
기존 인스턴스에 Geo 지원을 추가하고 보조 사이트에 컨테이너 레지스트리를 추가하려면:
- 기존 인스턴스(기본)에 Geo를 설정하고 보조 사이트를 추가합니다. 자세한 내용은 두 개의 단일 노드 사이트에 Geo 설정을 참조하십시오.
- 보조 사이트에서:
- 컨테이너 레지스트리를 활성화합니다.
- 별도의 외부 데이터베이스를 사용하여 메타데이터 데이터베이스를 설정합니다.
- 컨테이너 레지스트리 복제를 구성합니다.
기본 컨테이너 레지스트리 메타데이터 데이터베이스 사용#
사전 요건:
- 구성된 컨테이너 레지스트리가 있는 기존 GitLab 인스턴스.
- 기본 PostgreSQL 인스턴스를 사용하는 컨테이너 레지스트리 메타데이터 데이터베이스.
- 기존 Geo 사이트 없음.
이 시나리오에서는 메타데이터 데이터베이스를 외부 PostgreSQL 인스턴스로 이동해야 합니다.
- 여기의 단계에 따라 메타데이터 데이터베이스를 외부 PostgreSQL 인스턴스로 이동합니다.
- 기존 GitLab 인스턴스에 Geo 지원과 컨테이너 레지스트리 추가의 단계를 계속 진행합니다.
레거시 메타데이터에서 컨테이너 레지스트리 마이그레이션#
이 시나리오에서는 기존 Geo 사이트에서 컨테이너 레지스트리를 레거시 메타데이터에서 외부 PostgreSQL 메타데이터 데이터베이스로 마이그레이션해야 합니다.
사전 요건:
- GitLab 17.3 이상 (데이터베이스 메타데이터 지원)
- 기본 및 보조 사이트에 구성된 Geo
- 레거시 메타데이터를 사용하는 두 사이트의 컨테이너 레지스트리
- 두 레지스트리 모두 기존 데이터(푸시된 이미지)가 있어야 함
마이그레이션 단계#
다운타임은 가져오기 방법에 따라 다릅니다. 가져오기 방법 권장 사항은 올바른 가져오기 방법 선택을 참조하십시오.
마이그레이션 중 레지스트리는 읽기 전용입니다.
마이그레이션 중에도 나머지 Geo 복제는 계속됩니다.
메타데이터 데이터베이스를 마이그레이션하려면:
- 보조 사이트에서 기존 레거시 메타데이터를 새 메타데이터 데이터베이스로 마이그레이션합니다.
- 기본 사이트에서 기존 레거시 메타데이터를 새 메타데이터 데이터베이스로 마이그레이션합니다.
- Geo 복제가 계속 작동하는지 확인합니다.
