단독 PostgreSQL for Linux 패키지 설치

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

만약 데이터베이스 서비스를 GitLab 애플리케이션 서버와 별도로 호스팅하고 싶다면, Linux 패키지와 함께 패키지화된 PostgreSQL을 사용하여 이 기능을 사용할 수 있습니다. 이는 최대 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
       
    # APPLICATION_SERVER_IP_BLOCKS를 네트워크 주소로 교체
    postgresql['trust_auth_cidr_addresses'] = %w(APPLICATION_SERVER_IP_BLOCKS)
       
    # GitLab 재구성
    # [GitLab 재시작](../restart_gitlab.md#reconfigure-a-linux-package-installation)해서 변경 사항을 적용합니다.
    
  5. 변경 사항이 적용되려면 GitLab을 다시 구성합니다.
  6. 데이터베이스의 IP 주소 또는 호스트 이름, 포트, 평문 암호를 메모합니다. 이 정보는 나중에 GitLab 애플리케이션 서버를 구성할 때 필요합니다.
  7. 모니터링 활성화

필요에 따라 고급 구성 옵션도 지원되며 추가할 수 있습니다.