InfoGrab Docs

외부 PostgreSQL 서비스를 사용하여 GitLab 구성

요약

클라우드 공급자에서 GitLab을 호스팅하는 경우 선택적으로 PostgreSQL을 위한 관리형 서비스를 사용할 수 있습니다. 또는 Linux 패키지와 별도로 자체 PostgreSQL 인스턴스나 클러스터를 관리하도록 선택할 수도 있습니다.

클라우드 공급자에서 GitLab을 호스팅하는 경우 선택적으로 PostgreSQL을 위한 관리형 서비스를 사용할 수 있습니다. 예를 들어 AWS는 PostgreSQL을 실행하는 관리형 관계형 데이터베이스 서비스(RDS)를 제공합니다.

또는 Linux 패키지와 별도로 자체 PostgreSQL 인스턴스나 클러스터를 관리하도록 선택할 수도 있습니다.

클라우드 관리형 서비스를 사용하거나 자체 PostgreSQL 인스턴스를 제공하는 경우 데이터베이스 요구 사항 문서에 따라 PostgreSQL을 설정하세요.

GitLab Rails 데이터베이스#

외부 PostgreSQL 서버를 설정한 후:

  1. 데이터베이스 서버에 로그인합니다.

  2. 원하는 비밀번호로 gitlab 사용자를 설정하고, gitlabhq_production 데이터베이스를 만들고, 사용자를 데이터베이스 소유자로 만듭니다. 이 설정의 예시는 자체 컴파일 설치 설명서에서 볼 수 있습니다.

  3. 클라우드 관리형 서비스를 사용하는 경우 gitlab 사용자에게 추가 역할을 부여해야 할 수 있습니다:

    이는 설치 및 업그레이드 중에 확장을 설치하기 위한 것입니다. 대안으로 수동으로 확장이 설치되어 있는지 확인하고 향후 GitLab 업그레이드 중에 발생할 수 있는 문제에 대해 읽어보세요.

  4. /etc/gitlab/gitlab.rb 파일에서 외부 PostgreSQL 서비스의 적절한 연결 세부 정보로 GitLab 애플리케이션 서버를 구성합니다:

    # Disable the bundled Omnibus provided PostgreSQL
    postgresql['enable'] = false
    
    # PostgreSQL connection details
    gitlab_rails['db_adapter'] = 'postgresql'
    gitlab_rails['db_encoding'] = 'unicode'
    gitlab_rails['db_host'] = '10.1.0.5' # IP/hostname of database server
    gitlab_rails['db_port'] = 5432
    gitlab_rails['db_password'] = 'DB password'
    

    GitLab 멀티 노드 설정에 대한 자세한 내용은 참조 아키텍처를 참조하세요.

  5. 변경 사항을 적용하려면 재구성합니다:

    sudo gitlab-ctl reconfigure
    
  6. TCP 포트를 활성화하려면 PostgreSQL을 재시작합니다:

    sudo gitlab-ctl restart
    

컨테이너 레지스트리 메타데이터 데이터베이스#

컨테이너 레지스트리 메타데이터 데이터베이스를 사용할 계획이라면 레지스트리 데이터베이스와 사용자도 만들어야 합니다.

외부 PostgreSQL 서버를 설정한 후:

  1. 데이터베이스 서버에 로그인합니다.

  2. 다음 SQL 명령을 사용하여 사용자와 데이터베이스를 만듭니다:

    -- Create the registry user
    CREATE USER registry WITH PASSWORD '<your_registry_password>';
    
    -- Create the registry database
    CREATE DATABASE registry OWNER registry;
    
  3. 클라우드 관리형 서비스의 경우 필요한 추가 역할을 부여합니다:

   GRANT rds_superuser TO registry;
   GRANT azure_pg_admin TO registry;
   GRANT cloudsqlsuperuser TO registry;
  1. 이제 컨테이너 레지스트리 메타데이터 데이터베이스를 활성화하고 사용하기 시작할 수 있습니다.

트러블슈팅#

SSL SYSCALL error: EOF detected 오류 해결#

외부 PostgreSQL 인스턴스를 사용할 때 다음과 같은 오류가 표시될 수 있습니다:

pg_dump: error: Error message from server: SSL SYSCALL error: EOF detected

이 오류를 해결하려면 최소 PostgreSQL 요구 사항을 충족하는지 확인하세요. RDS 인스턴스를 지원되는 버전으로 업그레이드하면 이 오류 없이 백업을 수행할 수 있습니다. 자세한 내용은 이슈 64763을 참조하세요.

외부 PostgreSQL 서비스를 사용하여 GitLab 구성

Tier: Free, Premium, Ultimate
Offering: GitLab Self-Managed
원문 보기
요약

클라우드 공급자에서 GitLab을 호스팅하는 경우 선택적으로 PostgreSQL을 위한 관리형 서비스를 사용할 수 있습니다. 또는 Linux 패키지와 별도로 자체 PostgreSQL 인스턴스나 클러스터를 관리하도록 선택할 수도 있습니다.

클라우드 공급자에서 GitLab을 호스팅하는 경우 선택적으로 PostgreSQL을 위한 관리형 서비스를 사용할 수 있습니다. 예를 들어 AWS는 PostgreSQL을 실행하는 관리형 관계형 데이터베이스 서비스(RDS)를 제공합니다.

또는 Linux 패키지와 별도로 자체 PostgreSQL 인스턴스나 클러스터를 관리하도록 선택할 수도 있습니다.

클라우드 관리형 서비스를 사용하거나 자체 PostgreSQL 인스턴스를 제공하는 경우 데이터베이스 요구 사항 문서에 따라 PostgreSQL을 설정하세요.

GitLab Rails 데이터베이스#

외부 PostgreSQL 서버를 설정한 후:

  1. 데이터베이스 서버에 로그인합니다.

  2. 원하는 비밀번호로 gitlab 사용자를 설정하고, gitlabhq_production 데이터베이스를 만들고, 사용자를 데이터베이스 소유자로 만듭니다. 이 설정의 예시는 자체 컴파일 설치 설명서에서 볼 수 있습니다.

  3. 클라우드 관리형 서비스를 사용하는 경우 gitlab 사용자에게 추가 역할을 부여해야 할 수 있습니다:

    이는 설치 및 업그레이드 중에 확장을 설치하기 위한 것입니다. 대안으로 수동으로 확장이 설치되어 있는지 확인하고 향후 GitLab 업그레이드 중에 발생할 수 있는 문제에 대해 읽어보세요.

  4. /etc/gitlab/gitlab.rb 파일에서 외부 PostgreSQL 서비스의 적절한 연결 세부 정보로 GitLab 애플리케이션 서버를 구성합니다:

    # Disable the bundled Omnibus provided PostgreSQL
    postgresql['enable'] = false
    
    # PostgreSQL connection details
    gitlab_rails['db_adapter'] = 'postgresql'
    gitlab_rails['db_encoding'] = 'unicode'
    gitlab_rails['db_host'] = '10.1.0.5' # IP/hostname of database server
    gitlab_rails['db_port'] = 5432
    gitlab_rails['db_password'] = 'DB password'
    

    GitLab 멀티 노드 설정에 대한 자세한 내용은 참조 아키텍처를 참조하세요.

  5. 변경 사항을 적용하려면 재구성합니다:

    sudo gitlab-ctl reconfigure
    
  6. TCP 포트를 활성화하려면 PostgreSQL을 재시작합니다:

    sudo gitlab-ctl restart
    

컨테이너 레지스트리 메타데이터 데이터베이스#

컨테이너 레지스트리 메타데이터 데이터베이스를 사용할 계획이라면 레지스트리 데이터베이스와 사용자도 만들어야 합니다.

외부 PostgreSQL 서버를 설정한 후:

  1. 데이터베이스 서버에 로그인합니다.

  2. 다음 SQL 명령을 사용하여 사용자와 데이터베이스를 만듭니다:

    -- Create the registry user
    CREATE USER registry WITH PASSWORD '<your_registry_password>';
    
    -- Create the registry database
    CREATE DATABASE registry OWNER registry;
    
  3. 클라우드 관리형 서비스의 경우 필요한 추가 역할을 부여합니다:

   GRANT rds_superuser TO registry;
   GRANT azure_pg_admin TO registry;
   GRANT cloudsqlsuperuser TO registry;
  1. 이제 컨테이너 레지스트리 메타데이터 데이터베이스를 활성화하고 사용하기 시작할 수 있습니다.

트러블슈팅#

SSL SYSCALL error: EOF detected 오류 해결#

외부 PostgreSQL 인스턴스를 사용할 때 다음과 같은 오류가 표시될 수 있습니다:

pg_dump: error: Error message from server: SSL SYSCALL error: EOF detected

이 오류를 해결하려면 최소 PostgreSQL 요구 사항을 충족하는지 확인하세요. RDS 인스턴스를 지원되는 버전으로 업그레이드하면 이 오류 없이 백업을 수행할 수 있습니다. 자세한 내용은 이슈 64763을 참조하세요.