Linux 패키지 설치를 위한 독립형 PostgreSQL

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

만약 데이터베이스 서비스를 GitLab 애플리케이션 서버와는 별도로 호스팅하려는 경우, Linux 패키지와 함께 제공되는 PostgreSQL 이진 파일을 사용할 수 있습니다. 이는 참조 아키텍처의 일환으로 권장됩니다. 해당 아키텍처는 최대 40 RPS 또는 2,000명의 사용자를 대상으로합니다.

설정하기

  1. PostgreSQL 서버에 SSH로 로그인합니다.
  2. GitLab 다운로드 페이지의 1단계와 2단계를 사용하여 원하는 Linux 패키지를 다운로드하고 설치합니다. 다운로드 페이지에서 다른 단계를 완료하지 마십시오.
  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'
    
    # 자동 마이그레이션 비활성화
    gitlab_rails['auto_migrate'] = false
    
  5. 변경 사항을 적용하기 위해 GitLab을 다시 구성합니다.
  6. PostgreSQL 노드의 IP 주소 또는 호스트 이름, 포트, 평문 비밀번호를 기록해 두세요. 이 정보는 나중에 GitLab 애플리케이션 서버를 구성할 때 필요합니다.
  7. 모니터링을 활성화합니다.

필요한 경우 고급 구성 옵션도 지원되며 필요한 대로 추가할 수 있습니다.