Linux 패키지 설치용 독립 PostgreSQL

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

GitLab 앱 서버와 별도로 데이터베이스 서비스를 호스팅하려는 경우, Linux 패키지와 함께 제공되는 PostgreSQL 이진 파일을 사용하여 이를 수행할 수 있습니다. 이는 참조 아키텍처로 최대 40 RPS 또는 2,000 사용자에 권장됩니다.

설정하기

  1. PostgreSQL 서버에 SSH로 로그인합니다.
  2. 원하는 Linux 패키지를 다운로드 및 설치합니다. 이는 깃랩 다운로드 페이지의 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'
       
    # 자동 데이터베이스 마이그레이션 비활성화
    gitlab_rails['auto_migrate'] = false
    
  5. 변경 사항이 적용되려면 GitLab을 다시 구성합니다.
  6. PostgreSQL 노드의 IP 주소 또는 호스트명, 포트, 평문 암호를 메모합니다. 이는 나중에 GitLab 앱 서버를 구성하는 데 필요합니다.
  7. 모니터링 활성화 고급 구성 옵션을 지원하며 필요하다면 추가할 수 있습니다.