리눅스 패키지 설치를 위한 독립형 PostgreSQL

Tier: Free, Premium, Ultimate Offering: Self-managed

데이터베이스 서비스를 GitLab 애플리케이션 서버와 별도로 호스팅하고자 하는 경우, 리눅스 패키지와 함께 제공되는 PostgreSQL 바이너리를 사용하여 이를 수행할 수 있습니다. 이는 우리의 최대 40 RPS 또는 2,000 사용자에 대한 참조 아키텍처의 일환으로 권장됩니다.

설정 방법

  1. PostgreSQL 서버에 SSH로 접속합니다.

  2. 다운로드 및 설치 GitLab 다운로드 페이지의 1단계 및 2단계를 사용하여 원하는 리눅스 패키지를 다운로드하고 설치합니다. 다운로드 페이지의 다른 단계는 완료하지 마십시오.

  3. PostgreSQL에 대한 비밀번호 해시를 생성합니다.
    기본 사용자 이름인 gitlab(권장)을 사용하고 있다고 가정합니다. 이 명령은 비밀번호와 확인을 요청합니다. 다음 단계에서 POSTGRESQL_PASSWORD_HASH의 값으로 이 명령의 출력을 사용하십시오.

    sudo gitlab-ctl pg-password-md5 gitlab
    
  4. /etc/gitlab/gitlab.rb 파일을 편집하고 아래의 내용을 추가하며, 자리 표시자 값을 적절하게 업데이트합니다.

    • POSTGRESQL_PASSWORD_HASH - 이전 단계에서 출력된 값
    • APPLICATION_SERVER_IP_BLOCKS - 데이터베이스에 연결하는 GitLab 애플리케이션 서버의 IP 서브넷 또는 IP 주소의 공백으로 구분된 목록. 예: %w(123.123.123.123/32 123.123.123.234/32)
    # PostgreSQL을 제외한 모든 구성 요소 비활성화
    roles(['postgres_role'])  
    prometheus['enable'] = false  
    alertmanager['enable'] = false  
    pgbouncer_exporter['enable'] = false  
    redis_exporter['enable'] = false  
    gitlab_exporter['enable'] = false  
    
    postgresql['listen_address'] = '0.0.0.0'  
    postgresql['port'] = 5432  
    
    # POSTGRESQL_PASSWORD_HASH를 생성된 md5 값으로 교체  
    postgresql['sql_user_password'] = 'POSTGRESQL_PASSWORD_HASH'  
    
    # XXX.XXX.XXX.XXX/YY를 네트워크 주소로 교체  
    # ????  
    postgresql['trust_auth_cidr_addresses'] = %w(APPLICATION_SERVER_IP_BLOCKS)  
    
    # 자동 데이터베이스 마이그레이션 비활성화  
    gitlab_rails['auto_migrate'] = false  
    
  5. GitLab 재구성 변경 사항을 적용하기 위해 GitLab을 재구성합니다.

  6. PostgreSQL 노드의 IP 주소 또는 호스트 이름, 포트 및 일반 텍스트 비밀번호를 기록해 두십시오.
    이는 나중에 GitLab 애플리케이션 서버를 구성하는 데 필요합니다.

  7. 모니터링 활성화

필요한 경우 고급 구성 옵션을 지원하며 추가할 수 있습니다.